如何使用 Power BI 从平均值中找到 Measure 中每个值的 z 分数?

Posted

技术标签:

【中文标题】如何使用 Power BI 从平均值中找到 Measure 中每个值的 z 分数?【英文标题】:How to find z-score of each value in Measure from mean using Power BI? 【发布时间】:2021-10-25 00:08:54 【问题描述】:

我有一个看起来像这样的“长”数据集

ID     Sport
123456 Basketball
123456 Baseball   
123456 Football
123456 Basketball
234567 Football
234567 Tennis
234567 Tennis
234567 Tennis
345678 Basketball
345678 Tennis
345678 Wrestling
345678 Volleyball

我使用DISTINCTCOUNT() 创建了一个度量,它能够计算与 ID 的唯一关联,所以 如果我要在表格中显示度量,它会是这样的

ID      Count
123456  3
234567  2
345678  4

注意 123456 的唯一关联是篮球、棒球和足球,因此是三个。对于 234567,它是两个,足球和网球。对于 345678,它是唯一的,因此是 4。

基于这些值,创建另一个度量,其平均值为 3. 3+2+4=9/3=3。

我想创建一个度量,它给出 ID 的计数值及其平均值的 σ(SD)。例如,如果我的值为 3.81649658(3+1sd(.81649658)),则为 1。如果我有 2.18350342,则为 -1 (3-1sd)。

345678 应略高于 1,234567 应略低于 1。

我有一个不同的计数度量、平均度量和 SD 度量。

【问题讨论】:

【参考方案1】:

Z-Score 很简单

(raw score - average score) / (standard deviation)

假设我们有以下措施:

DCount  = DISTINCTCOUNT ( Sports[Sport] )

Average = AVERAGEX ( ALLSELECTED ( Sports[ID] ), [DCount] )

StdDev  = STDEVX.P ( ALLSELECTED ( Sports[ID] ), [DCount] )

我正在使用ALLSELECTED,以便它查看所有选定的ID 值,而不仅仅是视觉对象中当前行过滤器上下文中的单个值。我使用迭代器 AVERAGEXSTDDEVX.P,因为我们不是在使用现有的表列,而是在对 ID 列进行分组时使用一系列度量值。

那么Z-score可以定义为

Z-Score = DIVIDE ( [DCount] - [Average], [StdDev] )

【讨论】:

我想这就是我要求的。虽然我想通过过滤器动态调整 z 分数,但我也想在条形图中显示它。我注意到当它关注一个子集时它变成 N/A 因为 mean-average=0。 您可以编辑帖子以包含您希望看到的示例吗?我不知道您指的是什么条形图或您使用的过滤器。 解决了。我会设置一个新问题。我相信如果我的数据集本身得到解决,这将起作用。 https://***.com/questions/68925138/how-do-i-create-a-distinct-count-column-of-two-associated-columns-in-one-measure

以上是关于如何使用 Power BI 从平均值中找到 Measure 中每个值的 z 分数?的主要内容,如果未能解决你的问题,请参考以下文章

Power BI中的移动平均线

power bi 中 如何 排序 列?

POWER BI 如何找到筛选器

POWER BI 矩阵颜色自定义设置

如何从 Power BI 中的月份编号获取月份名称?

Power BI 自定义显示或隐藏线条