繁体   English   中英

Power BI / DAX:按计算列对计算表进行排序

[英]Power BI / DAX: Sort Calculated Table by Calculated Column

我有一个 Power BI 数据模型,其中一个 DAX 计算表用作维度,该维度使用来自每个值多次出现的事实表中的 VALUES 计算,因此它是 1:M 关系。

在我的报告中,我想将计算出的表格值用作切片器,其中的选项按字母顺序以外的特定顺序显示。 因此,在计算表中,我创建了一个计算列,该列根据 SWITCH 函数为每一行分配一个数字。 但是,当我尝试在 Power BI 中“按列排序”时,它会抛出一个错误,表明它是一个循环引用。 我还能如何定义排序顺序?

这是一个示例数据/计算表:

“来源”事实表:

Dimension_Values
a_order_third
a_order_third
b_order_first
b_order_first
c_order_second
c_order_second

Calculated_Dim_Table = VALUES('Source'[Dimension_Values])

Dimension_Values
a_order_third
b_order_first
c_order_second

Calculated_Order_Column = SWITCH('Calculated_Dim_Table'[Dimension_Values],"b_order_first",1,"c_order_second",2,"a_order_third",3)

*按 'Calculated_Dim_Table[Calculated_Order_Column] 对 'Calculated_Dim_Table'[Dimension_Values] 进行排序,以便所需的输出为

Dimension_Values Calculated_Order_Column
b_order_first 1
c_order_second 2
a_order_third 3

问题:Power BI 说这是创建循环依赖 - 是否有另一种方法来定义列的排序顺序而不引用它以避免循环依赖?

我认为它会引发循环引用错误,导致 DAX 内部决定执行顺序。 在这种情况下,DAX 希望在加载时对维度值进行排序,但它不能导致它依赖于计算列 thst 又依赖于维度值。 所以它确实是一个循环引用。 我建议你在 PQ 中这样做,然后加载两个表,然后你可以在 t2 中毫无问题地进行排序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM