MDX-如何退还多项措施

时间:2019-07-06 02:06:26

标签: sql powerbi ssas mdx powerquery

我正在尝试在Power Query之前使用MDX将2M行SSAS查询优化为Power BI。我在T-SQL方面有丰富经验,并找到了一个网站来帮助将T-SQL经验转换为MDX,这对于某些查询(基本行/列选择,交叉联接,非空,排序依据,过滤器,位置)是成功的。因此,现在我要获取包含三个维度和四个度量的销售数据,但是出现以下错误:

执行查询... 查询(3,1)“度量”层次结构在元组中多次出现。 运行完成

我尝试了一些与度量和维度交叉连接有关的变体,只选择了一个度量(仍然花费了很长时间),并指定了成员与子对象。

'''

 select
    ([Date].[OrderDate].children, [Customer].[CustID].children, [ProdLevel].[ProdNumber].children) on rows,
    ([Measures].[Revenue], [Measures].[Units], [Measures].[ASP], [Measures].[Profit]) on columns
    from [RepProdDB]
    where [ProdLevel].[Prod Description].[MyBusinessUnit]

'''

查找错误:“'度量'层次结构在元组中多次出现。”对我来说有点模糊,因为我对元组的了解很小,但可能还不完整。

我希望可以使用PivotTable OLAP,Power Pivot和Power Query轻松获得一些东西,但要使用实际的MDX代码。有想法吗?

1 个答案:

答案 0 :(得分:2)

因此,您需要了解元组和集合之间的差异。

select
non empty
(
[Date].[OrderDate].children, 
[Customer].[CustID].children, 
[ProdLevel].[ProdNumber].children
) 
on rows,
{
[Measures].[Revenue], 
[Measures].[Units], 
[Measures].[ASP], 
[Measures].[Profit]
} 
on columns
from [RepProdDB]
where 
[ProdLevel].[Prod Description].[MyBusinessUnit]