将where子句重写为Calculated成员切片器

时间:2018-10-25 14:33:15

标签: ssas mdx cube

请帮我点东西。我有一个MDX查询,可以使用命名集对我的多维数据集进行切片,这些结果很棒,但是我需要创建一个计算量度,并且无法在计算表达式中“重写”我的where子句。

此MDX可以根据需要运行:

select non empty [Measures].[Demanda Real] on 0,
non empty [Agente Distribuidor].[Nombre Distribuidor].[Nombre Distribuidor].members on 1
from Demanda
where [SkSubmercadoUsuario]

我试图重写上面的查询,但它不起作用:

with member [Measures].[Demanda Real Nueva]
as
([Measures].[Demanda Real],[SkSubmercadoUsuario])
select [Measures].[Demanda Real Nueva] on 0,
non empty [Agente Distribuidor].[Nombre Distribuidor].[Nombre Distribuidor].members on 1
from Demanda

1 个答案:

答案 0 :(得分:0)

如果我是对的,则您希望度量“ [Measures]。[Demanda Real]”始终具有一个名为集合“ [SkSubmercadoUsuario]”的过滤器。我将您的senario翻译成冒险作品。首先单独运行创建集零件。然后是下两部分,其中第一部分已注释

create SET [Adventure Works].[testSet] AS ([Geography].[State-Province].&[NY]&[US])

现在评论以上部分并运行

Select [Measures].[Reseller Sales Amount] 
on columns, 
non empty
[Product].[Product].[Product]
on rows
from [Adventure Works]
where 
[testSet]

现在运行第三部分

with member [Measures].[Test]
as
'('+(settostr([testSet]) ) + ',[Measures].[Reseller Sales Amount])'
Select (strtoset([Measures].[Test]))
on columns,
non empty
[Product].[Product].[Product]
on rows
from [Adventure Works]