【问题标题】:Dynamic Cluster with DAX (Power BI)使用 DAX (Power BI) 的动态集群
【发布时间】:2021-09-28 10:30:43
【问题描述】:

我有以下数据模型:

表格:合同

表格:房间

表:集群

&表:日期(标准日历表)

我的事实表是 Contract,它通过 ContractID 与 Rooms 相关。

我需要做的是:

  • 在 PBI 中的日期切片器上选择 yyyy-mm(单选)

  • 读出选定值 - 选定月份的最后一天:CALCULATE (MAX (Date[Date]), ALLSELECTED (Datum))

  • 根据日期选择显示所有有效合同(上一步)

  • 另外显示基于日期选择的房间数量

  • 还显示基于日期选择的表集群中的 RangeDesc

例子:

  • 日期切片器中的选定值:2020-12

  • 合同有效 = 是

  • 房间数量:5;描述:中等

新选择的值:2021-02

  • 合同有效 = 是

  • 房间数量:6;描述:大

你能帮我处理 DAX 吗?

谢谢!

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    您可以通过以下措施达到预期的结果

    _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 |
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2022-07-07
      • 2017-06-21
      • 2021-12-18
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多