计算字符串列中的不同值

Count distinct values in a string column

我目前正在使用 Excel,我需要编写 DAX 代码来计算字符串列中的不同值。我在 Excel 中使用的公式是: IF(SUMPRODUCT(($BV$2:$BV2=BV2)*($BV$2:$BV2=BV2))>1;0;1);其中 BV 等于 TK 列。

我期望的结果在 Distinct 列中:

TK 不同 43470,yyy,uuu,20191 1 43470,yyy,uuu,20191 0 43470,yyw,uuu,20191 0 43470,yyyz,uuu,20191 0

我已经尝试了各种代码和我想到的一切,但我缺乏比较 DAX 值的经验,目前有点失败。

有人可以帮忙吗? 非常感谢!

可以复制PowerBi中的sumproduct函数,虽然公式比较难懂,有帮助请采纳:)

  1. 您需要在查询编辑器中创建一个index column

  2. 应用以下公式就可以了:

     Duplicate check = IF( CALCULATE(COUNT('Sheet1 (2)'[tks]),
                     FILTER(ALL('Sheet1 (2)'),'Sheet1 (2)'[Index] <= EARLIER('Sheet1 (2)'[Index])),
                         FILTER(ALL('Sheet1 (2)'),'Sheet1 (2)'[tks]=EARLIER('Sheet1 (2)'[tks])))>1,
                             0,1)
    

输出: