powerbi - 使用 DAX (Power BI) 的动态集群
问题描述
我有以下数据模型:
表:合同
表:房间
表:集群
&表:日期(标准日历表)
我的事实表是合同,它通过 ContractID 与房间有关。
我需要做的是:
在 PBI 中的日期切片器上选择 yyyy-mm(单选)
读出选定值 - 选定月份的最后一天:CALCULATE (MAX (Date[Date]), ALLSELECTED (Datum))
根据日期选择显示所有有效合同(上一步)
额外显示基于日期选择的房间数量
还显示基于日期选择的表集群中的 RangeDesc
例子:
日期切片器中的选定值:2020-12
合同有效 = 是
房间数量:5;描述: 中等
新选择值:2021-02
合同有效 = 是
房间数量:6间;描述:大
你能帮我处理 DAX 吗?
谢谢!
解决方案
您可以通过以下措施达到期望的结果
_maxVal =
VAR _selectedMaxDatebyYr_Mo =
CALCULATE (
MAX ( 'Calendar'[Calendar_Date] ),
ALLSELECTED ( 'Calendar'[YR-MO] )
)
VAR _maxRoomAmount =
CALCULATE (
MAX ( Rooms[Amount] ),
FILTER ( Rooms, Rooms[ValidFrom] <= _selectedMaxDatebyYr_Mo && Rooms[ValidTo] >= _selectedMaxDatebyYr_Mo )
)
RETURN
_maxRoomAmount
_rangeDesc =
SWITCH (
TRUE (),
[_maxVal] == BLANK (), BLANK (),
CALCULATE (
MAX ( 'Cluster'[RangeDesc] ),
FILTER (
'Cluster',
'Cluster'[RangeFrom] <= [_maxVal]
&& 'Cluster'[RangeTo] >= [_maxVal]
)
)
)
_isValid = SWITCH(TRUE(),[_maxVal]==BLANK(),BLANK(),"Yes")
最小依赖 - 具有以下结构的日历表
| Calendar_Date | YR-MO |
|---------------|--------|
| 2000-01-01 | 2000-1 |
推荐阅读
- javascript - 使用 Angular 4 上传文件
- html - FontAwesome 从 4 升级到 5 (Tumblr)
- javascript - reactjs 如何处理数组内部的状态变化?(对 Select 元素使用 antd 设计)
- c# - Nmodbus 返回 NotImplementedException: Function code 123 not supported exception while reading response data
- java - 使用 Spring Boot 在 TestNg 测试用例中提供 BeanFactory Bean
- guile - 配置说没有找到 guile-config
- django - 如何进行查询以获取 Django ORM 中每个组的最后一个元素?
- python - 在 Python 中对来自不同类别的 n 长度数组的分类数据进行编码
- heroku - 在 Heroku 上使用 Redis 的服务器端 Flask 会话
- jquery - 如何使用输入文本和选择对数据表应用高级搜索?