【问题标题】:Power BI compare row by itself (previous row)Power BI 单独比较行(上一行)
【发布时间】:2021-10-23 19:14:49
【问题描述】:

我是 Power BI 中的 Dax 新手。我有一个包含列的表:

"elment_id", "version_Id", "type_name", "type_sorting", "workSet" AND expected result 是 Dax 查询的输出结果。

如果发生任何变化,我正在尝试将 version_Id (x2, x2)version_Id (x1, x1) (previous) 进行比较。

换句话说,我插入到 SQL 数据库中的对象总是相同的 "elment_id", "type_name""type_sorting", "workSet" 有时会根据"version_Id", 更新

elment_id version_Id type_name type_sorting workSet expected result
01 x1 Round Duct 0 w
02 x1 Round Duct 0 m
01 x2 Round Duct 1 y True
02 x2 Round Duct 0 m False

【问题讨论】:

  • 请在How To中清楚地提供示例数据和预期输出
  • 我希望现在更好!

标签: mysql sql-server powerbi powerbi-desktop


【解决方案1】:

尝试使用 measure,您应该在其中操作 FILTER 部分。首先我们检查必须相等的条件(elementID/Type, and version = prev_version),然后我们添加尽可能多的或“||”来检查其中一个是否不相等:

Check =
VAR cc =
    MAX (
        CALCULATE (
            COUNTROWS ( changeCheck ),
            FILTER (
                ALL ( changeCheck ),
                (
                    SELECTEDVALUE ( changeCheck[elementID] ) = changeCheck[elementID]
                        && SELECTEDVALUE ( changeCheck[versionId] ) - 1 = changeCheck[versionId]
                        && SELECTEDVALUE ( changeCheck[Type] ) = changeCheck[Type]
                )
                    && (
                        IF (
                            ISBLANK ( SELECTEDVALUE ( changeCheck[Type_Sort] ) ),
                            "NullVal",
                            SELECTEDVALUE ( changeCheck[Type_Sort] )
                        )
                            <> IF ( ISBLANK ( changeCheck[Type_Sort] ), "NullVal", changeCheck[Type_Sort] )
                            || SELECTEDVALUE ( changeCheck[Workset] ) <> changeCheck[Workset]
                    )
            )
        ),
        0
    )
RETURN
    cc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多