DAX-相对频率和总列的直方图

时间:2018-12-20 16:24:54

标签: powerbi dax powerquery

我建立了一个图表,显示群集的相对频率(在列中的值上)和累积频率(在行中的值上)。 我的图表具有以下方面: enter image description here

我想在右边添加一个新列,该列等于先前列的所有值的总和。 相对频率是使用以下代码创建的:

"Frequencies UL" :=
CALCULATE (
    DISTINCTCOUNT ( 'table1'[Column1] );
    USERELATIONSHIP ( 'Order Cluster'[Cluster Name]; table1[tag Cluster] );
    SUMMARIZE ( table1; table1[tag Cluster] )
)

我非常感谢您的帮助!

谢谢

2 个答案:

答案 0 :(得分:0)

只需执行以下操作:

"Frequencies UL" := IF(SELECTEDVALUE('Order Cluster'[Is Total]);
CALCULATE(DISTINCTCOUNT ('table1'[Column1]); ALL('Order Cluster')); DISTINCTCOUNT('table1'[Column1]))

这就是我得到的结果!

enter image description here

答案 1 :(得分:-1)

我建议创建一个新表以用于您的x轴。

如果您的'Order Cluster'表如下所示:

ClusterName  Order
ClusterA     1
ClusterB     2
...          ...
ClusterZ     26

您想在末尾添加Total行,因此请尝试以下方法:

NewTable = UNION('Order Cluster', {("Total", MAX('Order Cluster'[Order]) + 1)})

使用NewTable[ClusterName]作为图表的x轴,并调整累积度量以引用NewTable[Order]不等式中的FILTER

在拥有Total集群(使用IFSWITCH)时,您还需要调整频率测量以处理这种情况,并确保在正确的过滤器上下文。像这样的逻辑:

IF( MAX( NewTable[ClusterName] ) = "Total",
    CALCULATE( [Frequency Calc], ALLSELECTED( table1 ) ),
    CALCULATE( [Frequency Calc],
        FILTER(
            ALLSELECTED( table1 ),
            table1[tag Cluster] = MAX( NewTable[Order] )
        )
    )
)

Line Bar Chart

P.S。您最好在查询编辑器中将总行添加到'Order Cluster'表中,而不要在另一个表之间浮动。无论如何,逻辑是相似的。在要用作轴的列中添加总计行,并调整度量以处理所需的类别。


瀑布图可能是要考虑的另一种选择(并且不需要太多的工作),尽管我不知道除了工具提示中您还可以包括百分比信息。

Waterfall Chart