首页 > 解决方案 > 需要一个平均总数,但有一个总和

问题描述

我正在处理的问题是,我有一个总和作为两个度量的比率值的总和,我需要总和是一个平均值。经过一些研究,我相当确定我知道问题在于我使用 sum() 作为该比率的衡量指标之一,这意味着 DAX 默认情况下只会对任何小计或总计使用总和,但我想弄清楚如何调整我的公式来计算平均值。首先,我将展示我正在使用的矩阵:

矩阵

我每天的状态计数公式是

Status Count per Day = [Statuses]/[Days worked]

不幸的是,状态(我认为这是我的问题的根源)有以下令人讨厌的长代码:

Statuses = if(values(TMD[Specialty])="Hunt PS",calculate(SUM('Status Counts'[Count]),
'Status Counts'[TI-Status Combo]="1538 Attempted" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - All Docs" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - No Docs" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - On Hold" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - Some Docs"),
calculate(sum('Status Counts'[Count]),
'Status Counts'[TI-Status Combo]="1538 Attempted" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - All Docs" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - No Docs" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - On Hold" || 
'Status Counts'[TI-Status Combo]="1538 Confirmed - Some Docs"))

我不知道如何在这个公式中使用 sum,因为它会将所需状态的计数列加在一起,它总是 1,所以每次我生成一个不会出错的公式时,我都会得到一个输出 1(这些状态的计数列中的平均值)。显然不是想要的输出。

状态表

工作天数:

Days Worked = [Hours Worked]/8

工作时间:

Hours Worked = calculate(sum('Hours Worked'[Regular Hours]),TMD[CommonID])

CommonID​​ 只是每个人的唯一 ID。我的数据集中确实有一个日期表,其中包含天数、月数、日历月、日历年、季度等。

正如您在图片中看到的那样,我在矩阵的列中有几个月。我需要将平均值分解为每月水平,但我似乎无法以正确的方式过滤公式。我尝试修改 [Status count per day] 和 [status] 的公式,但没有取得任何进展。任何帮助表示赞赏。

标签: powerbidax

解决方案


也许是这样的:

AVERAGEX(VALUES('Date'[Month]),[Status Count per Day])

推荐阅读