使用 DAX 的动态集群 (Power BI)
Dynamic Cluster with DAX (Power BI)
我有以下数据模型:
Table:合约
Table:房间数
Table: 集群
&table:日期(标准日历table)
我的事实table是Contract,它通过ContractID与Rooms相关联。
我需要做的是:
select PBI 中日期切片器上的 yyyy-mm(单个 selection)
读出 selected 值 - selected 月份的最后一天:CALCULATE ( MAX ( Date[Date] ), ALLSELECTED ( Datum ) )
显示所有基于日期的有效合同 selection(上一步)
另外显示基于日期的房间数量 selection
还根据日期 selection
显示来自 table 集群的 RangeDesc
示例:
select日期切片器中的值:2020-12
合同有效 = 是
房间数量:5;描述:中
新 selected 值: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")
最小依赖 - 具有以下结构的日历Table
| Calendar_Date | YR-MO |
|---------------|--------|
| 2000-01-01 | 2000-1 |
我有以下数据模型:
Table:合约
Table:房间数
Table: 集群
&table:日期(标准日历table)
我的事实table是Contract,它通过ContractID与Rooms相关联。
我需要做的是:
select PBI 中日期切片器上的 yyyy-mm(单个 selection)
读出 selected 值 - selected 月份的最后一天:CALCULATE ( MAX ( Date[Date] ), ALLSELECTED ( Datum ) )
显示所有基于日期的有效合同 selection(上一步)
另外显示基于日期的房间数量 selection
还根据日期 selection
显示来自 table 集群的 RangeDesc
示例:
select日期切片器中的值:2020-12
合同有效 = 是
房间数量:5;描述:中
新 selected 值: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")
最小依赖 - 具有以下结构的日历Table
| Calendar_Date | YR-MO |
|---------------|--------|
| 2000-01-01 | 2000-1 |