Power BI - 我需要一个“countif”公式来查看行/列中的唯一条目

问题描述 投票:0回答:1

我在 Power BI 中工作才一个多星期,现在我遇到了第一个问题..

我需要一种方法来执行与下面的 Excel 公式相同的操作..

在 Power Bi 中,我有一张表。 我想计算“B”列中唯一的“拆分订单”

但我只想数一次.. 所以第一次找到就算1 接下来我看到它被算作2或3或4或更多..

所以公式说“如果计数多次,则返回“X”,否则返回“1” 然后 IF 语句表示如果大于 1,则返回 0,否则返回 1

我有数千行,我需要将每一行标识为唯一或不唯一。 但我似乎找不到合适的 DAX 公式组合来执行此操作。 我看过

COUNTDISTINCT, CALCULATE, FILTERS, COUNTROWS
,还有更多。 它们可能是正确的使用方法,但我还没有找到正确的语法。

我尝试过的许多 DAX 公式,要么仅返回“1”或仅“0”,要么返回唯一订单的总金额..

Excel公式:

Row 2 = IF(B2="";0;IF(COUNTIF(B$1:$B2;B2)>1;0;1))
Row22 = IF(B22="";0;IF(COUNTIF(B$1:$B22;B22)>1;0;1))
Row32 = IF(B32="";0;IF(COUNTIF(B$1:$B32;B32)>1;0;1))
excel-formula powerbi dax countif
1个回答
0
投票

您正在寻找的是计算列而不是度量。您还需要确定 [Split Order] 列的读取顺序。

您可以通过在 Power Query(“添加列”选项卡)中添加索引列来执行此操作。完成此操作后,添加此计算列:

IsFirstOccurence =
IF (
    COUNTROWS (
        FILTER (
            'table',
            'table'[Split Order] = EARLIER ( 'table'[Split Order] )
                && 'table'[Index] <= EARLIER ( 'table'[Index] )
        )
    ) = 1,
    1,
    0
)

结果如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.