在计算列上使用切片器

Use a slicer on a calculated column

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

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

其中 Hours Function 是某台机器的使用时间。以每台机器的成本为常数,Range of Functioning 是评估的最终日期与初始日期之间的差异,以小时为单位。

例如,我想测量 15/10/201914/20/2019 之间的 Total Hour Use of a Machine。所以数学如下:

假设: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 或新列中。

如果要在使用切片器更改日期时重新​​计算值,则必须使用度量。

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

这似乎很简单,但如果您在日历上使用 FirstDate 函数,table 会直接集成到 PowerBI 中。 你永远不会得到你所期望的。 获取此天数的技巧是使用函数 countrows.

计算日历中的行数 table

当你有这个数字天时,你只需要将它乘以 24(小时)和你的 "Hours Function machine" 的总和。(在你的例子中,A 为 6,B 为 9) (使用总和或其他聚合函数(如平均值)很重要,因为如果您有多个值,则度量会出错,因为它只需要一个值即可相乘)。

dax 公式如下所示: = COUNTROWS(('Calendar')) * Sum(机器[小时函数])

然后您可以显示按机器名称和日期切片器(基于您的日历 table)过滤的此度量。