【问题标题】:Create a Measure in Power Pivot / DAX that calculates available equipment based on date ranges在 Power Pivot / DAX 中创建基于日期范围计算可用设备的度量
【发布时间】:2018-11-15 20:47:40
【问题描述】:

当设备不在日期范围(开始和结束日期)内时,我正在寻找单位计数。

如何制作度量“AvailUnitCount”以在时间线维度(例如 2018 年 11 月 11 日)中按类别为我提供单位计数?

我认为它可以通过 Power Pivot 和日期表中的度量来实现,但我对 DAX 和时间维度概念总体上还是很陌生。

我的衡量标准是:

AvailUnitCount := CALCULATE( DISTINCTCOUNT( EquipUsage[EquipmentNo] ) )

如何将时间维度合并到上述度量中,以便通过在 Excel 中移动时间线来报告特定日期的可用设备?

请查看下面的数据集和预期结果。非常感谢您对此提出的建议。

表 1:EquipUsage

EquipNo     CategoryNo  UsageStartDate  UsageEndDate
----------------------------------------------------
10005164    A020004004  5-Nov-18        5-Dec-18
10005167    A020004004  24-Oct-18       10-Nov-18
10005176    A020004005  9-Oct-18        5-Dec-18
10015982    A020004006  18-Feb-18       5-Sep-18
10019170    A020004006  16-Aug-18       30-Mar-19
10019551    A020004006  2-May-17        10-Nov-18
10005178    A020004007  20-Sep-18       15-Jan-19

表 2:EquipCategories(2018 年 11 月 11 日的预期结果示例)

CategoryNo  AllUnits    AvailableUnits
--------------------------------------
A020004004  2           1
A020004005  1           0
A020004006  3           2
A020004007  1           0

【问题讨论】:

  • 为什么10005178 类别A020004007 在该日期可用?
  • @AlexisOlson 很好地发现了这种差异。我已将其更正为 0。

标签: powerbi dax powerpivot measure


【解决方案1】:

AllUnits 度量很简单:

AllUnits = COUNTROWS(EquipUsage)

对于可用性,请读入您想要的日期并总结该日期不在给定日期范围内的行:

AvailableUnits = 
VAR CheckDate = SELECTEDVALUE(DateTable[Date])
RETURN SUMX(EquipUsage,
           IF(
               EquipUsage[UsageStartDate] <= CheckDate &&
               EquipUsage[UsageEndDate]   >= CheckDate,
               0,
               1
           )
       )

【讨论】:

  • 感谢您的回复。但是,我收到一个错误:语义错误:无法解析名称“SELECTEDVALUE”。它不是有效的表、变量或函数名。我正在将 Power Pivot 与 Excel Office 365 MSO (16.0.10827.20118) 32 位一起使用。这是我的数据文件的链接:1drv.ms/x/s!AtU9m0XTdt8QoE6UDolT3mTX5J6q
  • 这是 Excel 和旧版本 Power BI 可能没有的新功能。您应该可以将其替换为 MAX,但它是 IF(HASONEVALUE(x), VALUES(x)) 的简写。
  • 谢谢,但我在 DAX 中写的不多,我很难把它放在一起,我希望你能建议这个场景的语法。
  • 我建议使用MAX 而不是SELECTEDVALUE
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
相关资源
最近更新 更多