在计算列上使用切片器

时间:2019-10-15 20:03:49

标签: powerbi dax slicers

我需要在Power BI中找到以下公式的一种或另一种方式:

Total Hours of Use of a Machine = Hours Function * Range of Functioning

其中Hours Function是特定计算机的使用时间。以每台机器为常数,而Range of Functioning是评估的最终日期与初始日期之间的差异(以小时为单位)为代价。

例如,我要测量Total Hour Use of a Machine15/10/2019之间的14/20/2019。所以数学如下:

假设:2台机器

Hours Function machine A: 6
Hours Function machine B: 9

Range of Functioning = 15/10/2019 - 14/10/2019 = 24 hours

输出:

Total Hours of Use of a Machine A: 144
Total Hours of Use of a Machine B: 216

我需要在Power BI中执行此操作,以使任何移动日期切片器的用户都刷新Total Hours of Use of a Machine

我找不到任何方法可以得到评估的最终日期与初始日期之间的差,并放入DAX或新列中。

1 个答案:

答案 0 :(得分:0)

如果要使用切片器更改日期时重新​​计算该值,则必须采取措施。

第一步是确保能够计算切片器选择的天数。

这似乎很容易,但是如果您直接在PowerBI中集成的日历表上使用功能FirstDate。 您将永远无法拥有期望。 获得此天数的技巧是使用功能计数来计算日历表中的行数。

当您拥有这个数字天时,您只需将其乘以24(小时)并乘以“小时功能机器”的总和即可。(示例中A为6,B为9) (使用总和或另一个诸如平均值的聚合函数非常重要,因为如果您有多个值,则度量会出错,因为它只需要乘以一个值即可。)

dax公式如下:     = COUNTROWS(('Calendar'))* Sum(Machine [Hours function])

然后您可以显示通过计算机名称和日期切片器(基于日历表)过滤的度量。