如何将where子句编码为计算所得成员?

时间:2018-10-24 20:42:17

标签: ssas mdx

第一个查询根据需要工作。但是,当我尝试根据计算所得的成员将其放入多维数据集进行重写时,它崩溃了。

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

First MDX query results

这是我失败的尝试:

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

我需要通过[SkSubmercadoUsuario]切片我的多维数据集,但是不能通过where子句。我需要创建一个度量,以按此命名集[SkSubmercadoUsuario]切片该度量。

2 个答案:

答案 0 :(得分:0)

我不确定您要做什么。 您是否只想在查询中创建第二个度量[Measures]。[Demanda Real]重命名为[Measures]。[Demanda Real Dos],还是要在多维数据集的“计算脚本部分”中创建度量? 在第一种情况下,我认为您不需要移动条件部分。试试这个:

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

答案 1 :(得分:0)

也许您需要做这样的事情

with member [Measures].[Demanda Real Dos] 
as
SUM({[Sk Submercado Usuario].&[52], [Sk Submercado Usuario].&[622]}, 
     [Measures].[Demanda Real] )

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