【问题标题】:Creating dynamic index column based on date根据日期创建动态索引列
【发布时间】:2021-08-16 20:25:05
【问题描述】:

我正在尝试向我的数据表中添加一个度量,用于对每个日期的行进行排名。

下面标有“索引”的列是我想要生成的。我一直在尝试使用 RANK/COUNT 等来使用 DAX;但我的 DAX 知识相当有限。感谢您的帮助!

Data_Date   EWP                          Index

2021-08-02  4-250-150000-103             1
2021-08-02  4-270-100000-705             2
2021-08-03  4-220-280000-513             1
2021-08-03  4-260-171000-309             2
2021-08-03  LOE - H/375000/250/W129      3
2021-08-05  LOE - H/375000/240/Z102      1
2021-08-05  LOE - H/375000/240/Z103      2
2021-08-06  4-250-162000-406             1
2021-08-06  4-250-172000-404             2
2021-08-06  B-230-263000-504             3 
2021-08-06  B-250-263000-504             4

【问题讨论】:

  • 索引列的用途是什么?你会用它做什么?当 Power BI 应用其算法进行压缩和存储时,数据模型中的行顺序可能会一直发生变化。因此,最好在 Power Query 编辑器中对数据进行排序和索引,然后再进入数据模型。
  • 也许索引是错误的词,即使前两行存储顺序不同,它们仍然分别标记为 1 和 2 也没关系。 Date 和 EWP 是静态列,不会动态更改。
  • 那么索引列的作用是什么?你会用它做什么??

标签: powerbi dax


【解决方案1】:

您可以使用rankx 返回预期输出的索引:

rank = RANKX(FILTER(ALL(Sheet1),Sheet1[Data_Date]=EARLIER(Sheet1[Data_Date])),
        Sheet1[EWP],,ASC)

【讨论】:

  • 谢谢健!这行得通....有没有办法将其作为衡量标准?我应该提到我有会影响数据的切片器。似乎 EARLIER 不能用于度量(据我所知)。
  • 不知道怎么做,因为rankx函数和大部分函数不能用来过滤一个可视化报表,如果你把所有数据拖到可视化报表,一旦你切片它,排名应该根据当前数据过滤?
猜你喜欢
  • 2018-02-03
  • 1970-01-01
  • 2020-10-02
  • 2018-06-15
  • 2016-03-23
  • 1970-01-01
  • 2019-05-30
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多