我正在尝试创建一个命名集,该集合将返回任何度量的所选成员的总和。我部署时遇到错误
函数需要参数的元组集表达式。字符串或 使用了数字表达式。
请查看我的代码并提出建议解决方案。我有一个名为Uline的维度,这个命名集应该为这个维度的4个成员选择总和为任何度量
sum({[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]},[Measures].CurrentMember)
答案 0 :(得分:0)
如果您希望其可用于任何衡量标准,最好使用Aggregate
而不是Sum
。
也不需要在函数中包含Measures
层次结构。
所以尝试更简单的事情:
Aggregate(
{
[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]
}
)
请注意,这将是现有层次结构中的新成员,如下所示:
WITH MEMBER [Uline].[AggSet] AS
Aggregate(
{
[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]
}
)
SELECT
[Measures].[SOMEMEASUREinCUBE] ON 0,
[Uline].[AggSet] ON 1
FROM [CubeName];
我自己不会使用实际的多维数据集脚本,但我猜这些可以像这样实现:
CREATE MEMBER CURRENTCUBE.Uline.AggSet AS
'Aggregate(
{
[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]
}
)'
如果您更愿意创建自定义集而不是计算成员,请尝试以下操作:
CREATE SET CURRENTCUBE.[AggSet] AS
{
[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]
}
,
Display_Folder = 'Sets';
花括号{}
表示mdx中的SET
。
在脚本的上下文中,如下所示:
WITH SET [AggSet] AS
{
[Uline].[CU - (46)],
[Uline].[FRU - (45)],
[Uline].[GL - (38)],
[Uline].[PU - (44)]
}
SELECT
[Measures].[SOMEMEASUREinCUBE] ON 0,
[AggSet] ON 1
FROM [CubeName];