【发布时间】:2019-07-23 21:41:08
【问题描述】:
我正在处理的问题是,我有一个总和作为两个度量的比率值的总和,我需要总和作为平均值。经过一些研究,我相当确定我知道问题在于我使用 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] 的公式,但没有取得任何进展。任何帮助表示赞赏。
【问题讨论】: