【问题标题】:power bi column count of rows based on string基于字符串的power bi列数
【发布时间】:2019-06-07 19:48:56
【问题描述】:

我正在尝试实现一些简单的事情,但我无法理解它。我有一张有很多行的表,在一个特定的列中,行具有相同的值。我需要一个额外的列来给我每个行值的出现次数。示例:

id  | name     | city     | additionalColumn
1   | Chris    | London   | 6
2   | Jane     | London   | 6
...
64  | Jerry    | Glasgow  | 3

基本上,在那张表中,我有 6 个以伦敦为城市的名字。我希望 city = London 的每一行在附加列中都有出现次数。

我该怎么做?我试过这个,但它给了我总行数,这违背了目的。由于某种原因,我似乎无法引用当前行,只能引用整个列。

additionalColumn = COUNTROWS(FILTER(table, FIND(table[city], table[city],,0)>0))

这样的结果是:

id  | name     | city     | additionalColumn
1   | Chris    | London   | 64
2   | Jane     | London   | 64
...
64  | Jerry    | Glasgow  | 64

有什么想法吗?

谢谢

【问题讨论】:

    标签: count powerbi dax


    【解决方案1】:

    试试:

    additionalColumn =
    CALCULATE ( COUNTROWS ( MyTable ), ALLEXCEPT ( MyTable, MyTable[city] ) )
    

    它是如何工作的: DAX 逐条迭代您的表记录。在每条记录中,我们需要“看到”整个表,同时保留当前城市,这是通过使用 ALLEXCEPT 完成的——我们告诉 DAX 向我们显示整个表 (ALL),除了城市(我们只想看到我们正在迭代的记录的城市。结果,我们将看到整个表被当前城市过滤(即,对于伦敦,我们将只看到城市是伦敦的 6 条记录)。

    【讨论】:

    • 感谢您。我同时使用 EARLIER 函数解决了它...应用于 FIND 的第一个参数,它正是我需要的。
    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多