powerbi - 在 Power Pivot / DAX 中创建基于日期范围计算可用设备的度量
问题描述
当设备不在日期范围(开始和结束日期)内时,我正在寻找单位计数。
如何进行度量“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
解决方案
AllUnits
措施很简单:
AllUnits = COUNTROWS(EquipUsage)
对于可用性,请阅读您想要的日期并总结该日期不在给定日期范围内的行:
AvailableUnits =
VAR CheckDate = SELECTEDVALUE(DateTable[Date])
RETURN SUMX(EquipUsage,
IF(
EquipUsage[UsageStartDate] <= CheckDate &&
EquipUsage[UsageEndDate] >= CheckDate,
0,
1
)
)
推荐阅读
- sql - 如何组合聚合、连接和分组依据?
- javascript - 在 ajax 成功运行 table.setData 但未加载数据
- java - 我无法在主类中获取我的 JPanel 的背景颜色
- java - 关于读取为字符串的两个编号变量的字符串拆分
- python - 在python中使用mrjob查找收入最多的前3个城市
- php - 无法获取表单以向 PHP 页面提交信息
- c++ - 具有一个元素的 initializer_list
- python - 从 InlineKeyboardButton 单击 URL 后删除键盘
- javascript - 如何用图像填充 html5 画布网格方块?
- javascript - 无法在给定的文件扩展名中有效地找到文件的文件扩展名