【发布时间】:2018-09-27 23:10:33
【问题描述】:
我是 PowerBI 的新手。这可能超出了我的想象,我很难理解上下文/过滤器以及它们如何与其他嵌套过滤器一起工作。无论如何,这是我的问题。
我正在尝试创建一份报告,显示一个计划的收费小时数与标准员工的总工作小时数相比。我创建了一个公司日历,其中包含一年中的所有日子以及它们是否是工作日。我有一个“小时”列,如果是工作日,则其中包含 8,如果是假期或周末,则为 0。
这通常称为 FTE 或全职等效人员。
我的问题是,在向下和向上钻取时,我的总数得到不同的值。这似乎是由于矩阵表的上下文。当它在一年的“总”上时,它使用了一个工作年所包含的全部 2000 小时,而实际上只有 1600 小时左右,因为现在只有 9 月。
为了解决这个问题,我尝试编写以下公式,但它也没有按预期工作。如果有更简单的方法来解决这个问题或者我应该采取什么方法。似乎无法在其他帖子中找到答案。
基本上,当我处于 2018 年级别时,我希望它是“2018 年总实际小时数/YTD 2018 年总校准小时数”。当它在 Qtr 上时,我希望它是“2018 年第 1 季度总实际小时数/2018 年第 1 季度总小时数”。当它深入到月时,我希望它是“2018 年 1 月总实际小时数/2018 年 1 月总卡尔小时数”。
谢谢。
表格示例
校准表
Date Holiday Hours
01/01/2018 Yes 8
01/02/2018 No 8
...
...
收费表小时数
EmpID Name Project Date Hours
1234 Bryan 123454.1 01/22/2018 2.3
1111 Steve 123456.1 01/15/2018 2.8
0156 Stu 123483.1 01/10/2018 2.8
...
...
公式
FTE By Drill =
VAR Actual Hours = Sum(Timesheet[Hours])
VAR Cal Hours = Sum(Calendar[Hours])
Actual Hours / IF(
ISFILTERED('Calendar'[Date].[year]),
TOTALYTD([Cal Hours],'Calendar'[Date]),
IF(
ISFILTERED('Calendar'[Date].[Quarter]),
TOTALQTD([Cal Hours],'Calendar'[Date]),
IF(
ISFILTERED('Calendar'[Date].[Month]),
TOTALMTD([Cal Hours],'Calendar'[Date])
,0)
)
)
【问题讨论】:
标签: powerbi dax powerpivot