【问题标题】:Daily average per working day calculation in power pivotPower Pivot 中每个工作日的每日平均值计算
【发布时间】:2015-09-12 17:51:11
【问题描述】:

我需要为每位员工创建一个每日平均解决投诉的衡量标准,但我遇到了困难。我有一个包含已解决投诉列表的表格、一个带有工作日指示器的日历表和一个员工列表。

我的输出应该是一个单行表,用于计算今天每个工作日关闭的投诉数量的平均值。随着数据的刷新,它将每天更新平均值。

我创建了一个衡量已结束投诉数量的度量,即 [Count of Closed Complaints]。我还创建了一个计算经过的工作日数的度量,[Elapsed Working Days],即=Day(Today())-TOTALMTD(calculate(count(Calendar[work hours]), Calendar[Work Hours]=0), Calendar[DateKey])

这两个措施似乎工作正常。

但是,每天变化的平均值让我抓狂。我尝试了以下公式(以及许多其他使用 TOTALMTD 的公式),但无法使其工作:

测试平均值 4 :=CALCULATE(([Count of Closed Complaints]), FILTER(ALLSELECTED(calendar), calendar[Datekey] <= max(calendar[datekey])))/[Elapsed Working Days]

测试平均值 3 :=calculate(([Count of Closed Complaints]/[Elapsed Working Days]), calendar[work hours]>0, DATESMTD(Calendar[DateKey]))

测试平均值 2 :=calculate(AVERAGEA([Count of Closed Complaints]), DATESMTD(Calendar[DateKey]), calendar[work hours]>0)

请帮忙。谢谢!

【问题讨论】:

    标签: excel powerpivot dax


    【解决方案1】:

    我认为您的意思是要计算已结束的投诉,而不是平均它们。使用 DISTINCTCOUNT 函数。

    【讨论】:

    • 我需要两者都做。我数过了,没问题。我在单独的枢轴上显示每日总计和总计。我的问题是随着月份的推移,生成员工每天平均解决的投诉量。
    【解决方案2】:

    我可能误解了你想要做的事情,但似乎你把事情复杂化了。

    您的平均值就是您的 [已结投诉计数] 除以 [已用工作日]。考虑如下度量:

    Closed per day :=
    [Count of Closed Complaints] / [Elapsed Working Days]
    

    此度量应返回您想要的所有上下文的每个工作日的已关闭投诉数。因此,如果您在一个月内筛选出一名员工,您将获得该员工当月每天的已结案投诉数。

    要完成这项工作,您需要确保您的日历表每天包含一条记录,直到今天。这意味着您当月的平均值将始终正确。您的经过的工作日度量可以简化为

    Elapsed Working Days :=
    CALCULATE (
        COUNT ( Calendar[work hours] ),
        Calendar[Work Hours] <> 0
    )
    

    【讨论】:

    • 谢谢。我最初有这些简单的公式,因为我认为它很简单。 :( 但是,这些计算不正确。解决的投诉数量是正确的,对此毫无疑问。但是,我一生无法弄清楚如何获得截至今天的工作日总数。今天, 6 月 26 日,我们有 19 个工作日——六个周末和一个假期。但是,当我将 [Elapsed Working Day] 度量(就像你提到的那个)插入到带有月份的数据透视表中时,它显示 21 --一个月的总工作日数。
    • 我只需要获取到当天的总工作日数(今天是 19,周六和周日仍然是 19,周一是 20)。我认为 TOTALMTD 或 DATES MTD 会起作用,但我显然做错了什么。
    • 如果您的日历表只显示到今天,那么您将只能看到本月的 19 个工作日。
    • 如果您的日历超出今天,您可以添加一个计算列来指示日期是过去还是将来。
    【解决方案3】:

    感谢您的帮助。我的日历一直运行到 2025 年...

    我想我可能已经解决了今天给我正确答案的问题。我会在星期一检查它是否仍然有效!

    我不得不将经过工作日的公式更改为:=Day(Today())-TOTALMTD(calculate(count(Calendar[DateKey]), Calendar[Work Hours]=0), Calendar[DateKey])

    然后,我创建了 [Count of Closed Complaints] 除以 [Elapsed Working days] 的简单平均值,但将其包含在 TOTALMTD 中。所以,TOTALMTD([Count of Closed Complaints]/[Elapsed Working Days], Calendar[DateKey])

    仅在数据透视表中显示今天为我提供了今天的正确平均值。正如我之前所说,我会看看这个周末和周一会发生什么。我以为我早先解决了这个问题,然后第二天就没有了。

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 1970-01-01
      • 2020-06-04
      • 2021-07-30
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多