Powerbi MDX作为KeepFilter的等效概念
我们使用的是一个多维立方体,它的视觉层是power bi,我对一个应该很简单的度量有一些问题,但是我不太了解mdx/multidim 如何获得与MDX度量相同的结果(对于contoso db)(我可以在power bi中以等效方式使用该度量): 我有一个可以产生正确结果的工作度量,但如果power bi表中显示了更多维度,则速度太慢:Powerbi MDX作为KeepFilter的等效概念,powerbi,dax,mdx,Powerbi,Dax,Mdx,我们使用的是一个多维立方体,它的视觉层是power bi,我对一个应该很简单的度量有一些问题,但是我不太了解mdx/multidim 如何获得与MDX度量相同的结果(对于contoso db)(我可以在power bi中以等效方式使用该度量): 我有一个可以产生正确结果的工作度量,但如果power bi表中显示了更多维度,则速度太慢: Create Member Currentcube.[Measures].[Sales Amount red Products] as iif( ( [
Create Member Currentcube.[Measures].[Sales Amount red Products]
as iif( ( [Measures].[Sales Amount],[Product].[Color].&[Red]) <> 0
AND ([Product].[Color].currentmember is [Product].[Color].&[Red]
OR [Product].[Color].currentmember is [Product].[Color].[all]) ,
([Measures].[Sales Amount],[Product].[Color].&[Red] ) ,NULL)
创建成员Currentcube.[Measures].[Sales Amount red Products]
作为iif(([度量值][销售额],[产品][颜色]和[红色])0
和([Product].[Color]。当前成员为[Product].[Color].&[Red]
或[Product].[Color]。当前成员为[Product].[Color].[all]),
([Measures].[Sales Amount],[Product].[Color].&[Red]),空)
KEEPFILTERS
确保在查看其他颜色时不会显示红色销售。MDX中的等效值为:
Create Member Currentcube.[Measures].[Sales Amount red Products]
as null;
Scope({[Product].[Color].&[Red], [Product].[Color].[All]});
[Measures].[Sales Amount red Products] = ([Measures].[Sales Amount], [Product].[Color].&[Red]);
End Scope;
Scope
语句是执行IIF的一种更有效的方法。我们能够识别我们在设置过程中遇到的所有问题。
我们有一个SSAS MD 2017,它在与Power BI交谈时遇到一些问题。第一个是“格式字符串”错误,如下图所示
我们复制了探查器查询,并从生成的dax查询中删除了“格式字符串”行。性能再次快速(至少在ssms中)
第二个问题表现在这一点上。我的一位朋友说,微软方面没有对sql2017进行修复,但对sql2019进行了修复
Create Member Currentcube.[Measures].[Sales Amount red Products]
as null;
Scope({[Product].[Color].&[Red], [Product].[Color].[All]});
[Measures].[Sales Amount red Products] = ([Measures].[Sales Amount], [Product].[Color].&[Red]);
End Scope;