【问题标题】:Need an average grand total but have a sum需要一个平均总数,但有一个总和
【发布时间】:2019-07-23 21:41:08
【问题描述】:

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

matrix

我的每日状态计数公式是

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(这些状态的计数列中的平均值)。显然不是想要的输出。

Status table

工作天数:

Days Worked = [Hours Worked]/8

工作时间:

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

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

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

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    可能是这样的:

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

    【讨论】:

    • 谢谢。这作为一个独立的新衡量标准,但我也在我当前的每日状态计数公式中尝试了它:Divide(averagex(values('Date'[Calendar Month]),[Statuses]),[Days working])这使我无需采取其他措施就可以到达完全相同的地方。感谢您的帮助!
    猜你喜欢
    • 2010-12-07
    • 2023-02-10
    • 1970-01-01
    • 2015-10-29
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多