【问题标题】:DAX Measure: group by min & if conditionDAX Measure:按 min 和 if 条件分组
【发布时间】:2020-08-20 22:22:33
【问题描述】:

我在 PowerBI 报表中有几个数据集表。列 country 来自 TABLE1,而列名来自 TABLE2。

所以首先我想根据国家和名称计算 min_number,然后如果 min_number = number,则 min 将为 1;否则为 0。所以结果表如下所示:

这是我的 min 代码

min = 
VAR min_number =
    CALCULATE (
        MIN ( [number] ),
        ALLEXCEPT ( TABLE1, TABLE1[country] ), ALLEXCEPT (TABLE2, TABLE2[name])
    )
RETURN
    IF ( [number] = Min_number,1, 0 )

我收到一个错误:MIN 函数只接受列引用作为参数编号 1。这是否意味着它必须是一个条件?如何解决?谢谢

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    我会通过两个单独的措施来解决这个问题,因为无论如何我们都希望在决赛桌中看到这两个结果。

    首先min_number计算:

    min_number = CALCULATE(MIN('Table'[number]);ALLEXCEPT('Table';'Table'[country];'Table'[name]))
    

    最小度量:

    min = IF(MAX('Table'[number]) = [min_number];1;0)
    

    当我们使用度量时,我们可以使用 MAX,所以它会知道在 IF 中引用什么数字。它仍然会使用每行的 MAX 个数,所以结果是正确的。

    【讨论】:

    • 问题是MIN只能接受列引用作为参数号1。所以我开始试验MINX。你知道如何在这个表达式中使用MINX吗?我得到了一个“重”的结果,它没有在报告中直观地显示,所以我不确定结果是否正确。
    • 是的,但是您有 [number] 列吗?我在 Power BI 中复制了您的数据并使用了我的度量并得到了预期的结果。我不确定问题是什么,您的 [数字] 是某种衡量标准吗?
    • 号码、国家和名称来自不同的表。您使用的是计算列还是度量?对于度量,MIN 只能评估一列引用。所以我的新代码:min_number=MINX(ALLEXCEPT(TABLE1, TABLE1[Country], TABLE2[name]),[number])。问题是由于超出可用资源,我无法显示新列。
    • 您能从您的模型、表格和连接中发布更多信息吗?我真的不明白。 MINX 不是这里的答案,MIN 应该给你你想要的,因为你确实有一个列引用,那就是 [number] -column
    【解决方案2】:

    您可以尝试以下措施-

    min = 
    
    VAR current_row_country = MIN(table1[country])
    VAR current_row_name = MIN(table1[name])
    VAR current_row_number = MIN(table1[number])
    
    VAR min_number =
        CALCULATE (
            MIN (table1[number]),
            FILTER(
                ALL(table1),
                table1[country] = current_row_country
                    && table1[name] = current_row_name
            )
        )
    
    RETURN IF (min_number = current_row_number,1, 0 )
    

    【讨论】:

    • 感谢您的回答。我的分类数据来自两个表。在过滤器部分,如何添加第二个过滤器?另外,MIN 对我不起作用,所以我需要使用 MINX。
    • 如果表正确连接,它们应该正常。您可以正确添加两个表中的示例数据吗?否则很难理解真实的场景。
    • 我从 ASS 模型加载了我的数据表。它在在线模型中,这意味着我无法打开电源查询或创建计算列。我所能做的就是为我感兴趣的计算创建度量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2022-11-05
    • 2021-12-23
    相关资源
    最近更新 更多