我需要在Power BI中找到以下公式的一种或另一种方法:
Total Hours of Use of a Machine = Hours Function * Range of Functioning
其中Hours Function
是某台机器的使用时间。成本是每台机器都是一个常数,Range of Functioning
是评估的最终日期与初始日期之间的差异,以小时为单位。
例如,我想测量15/10/2019
和14/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 或新列。
如果要在使用切片器更改日期时重新计算值,则必须使用度量值。
第一步是确保能够计算切片器选择的天数。
这似乎很容易,但如果您在日历表上使用直接集成在 PowerBI 中的函数 FirstDate。 你永远不会得到你所期望的。 获取此天数的技巧是使用函数countrows计算日历表中的行数。
当你有这个数字日时,你只需要把它乘以24(小时(和你的"小时函数机"的总和。(在您的示例中,6 表示 A 9 表示 B( (使用 sum 或其他聚合函数(如 average(很重要,因为如果您有多个值,则度量值就会出错,因为它只需要一个值即可相乘(。
dax 公式如下所示: = 计数行(("日历"(( * 总和(机器[小时函数](
然后,可以显示按计算机名称和日期切片器(基于日历表(筛选的此度量值。