【问题标题】:Power BI DAX - find repeatabilityPower BI DAX - 找到可重复性
【发布时间】:2020-12-09 07:55:15
【问题描述】:

给定数据:

Month  ValueA
1      T
2      T
3      T
4      F

有没有办法衡量每个月的最后三个值是否为真? 所以输出将是(F,F,T,F)? 这可能意味着我的实际问题是可以解决的,这是从:

Month  ValueA  ValueB  ValueC
1      T       F       T
2      T       T       T
3      T       T       T
4      F       T       F

每行这些布尔值的计数,因此输出将是 (0,0,2[A and C],1[B])

编辑: 好的,我设法用这个解决了第一部分:

Previous =
VAR PreviousDate =
    MAXX(
        FILTER(
            ALL( 'Table' ),
            EARLIER( 'Table'[Month] ) > 'Table'[Month]
        ),
        'Table'[Month]
    )
VAR PreviousDate2 =
    MAXX(
        FILTER(
            ALL( 'Table' ),
            EARLIER( 'Table'[Month] ) - 1 > 'Table'[Month]
        ),
        'Table'[Month]
    )
RETURN
    IF(
        CALCULATE(
            MAX( 'Table'[Value] ),
            FILTER(
                'Table',
                'Table'[Month] = PreviousDate
            )
        ) = "T"
            && CALCULATE(
                MAX( 'Table'[Value] ),
                FILTER(
                    'Table',
                    'Table'[Month] = PreviousDate2
                )
            ) = "T"
            && 'Table'[Value] = "T",
        TRUE,
        FALSE
    )

但是有没有办法将它用于未知数量的列? 没有硬编码每个列名?比如循环什么的。

【问题讨论】:

  • 数据中是否还有 YEAR 值?如果是,请将它们与示例数据一起添加。并请显示您确切所需的输出。我很困惑 ValueB 和 ValueC 是从哪里来的。

标签: sql powerbi dax


【解决方案1】:

我会在 power query 中重做数据表(提升 ValueX 列)并将 T/F 更改为 1/0。然后有一个与 Month 有关系的暗表,如下所示: 然后添加这样的度量:

Three Consec T = 
var maxMonth = MAX('Data'[Month])
var tempTab = 
FILTER(
    dimMonth;
    'dimMonth'[MonthNumber] <= maxMonth && 'dimMonth'[MonthNumber] > maxMonth -3
)
var sumMonth =
MAXX(
    'dimMonth';
    CALCULATE(
        SUM('Data'[OneOrZero]);
        tempTab
    )
)

return
IF(
    sumMonth >= 3; 
    "3 months in a row";
    "No"
)

然后,当切片器指示我正在查看哪个时间窗口并且表格显示是否有 3 个连续的 T 时,我可以看到这样的视觉效果。

【讨论】:

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