如何将 SQL 查询转换为 Power BI DAX 查询?
How to convert SQL query to Power BI DAX query?
Desired Output
您好,我想将我的 sql 查询转换为 DAX 度量,以过滤所有仅具有排名 1 的内容。我一直在尝试使用 RankX(Filter) 但我得到了重复的排名。谢谢
row_number() 结束(按日期分区,客户,按天输入订单)
┌──────────┬──────────┬─────┬──────┬──────────────┬
│ Day │ Customer │ Day │ Type │ Desired Rank │
├──────────┼──────────┼─────┼──────┼──────────────
│ 6/1/2020 │ DDD │ 1 │ D │ 1 │
│ 6/1/2020 │ DDD │ 0 │ M │ 1 │
│ 6/1/2020 │ DDD │ 1 │ D │ 2 │
│ 6/1/2020 │ DDD │ 0 │ M │ 3 │
│ 6/1/2020 │ FFF │ 0 │ M │ 1 │
│ 6/1/2020 │ FFF │ 0 │ M │ 2 │
│ 6/1/2020 │ FFF │ 0 │ M │ 3 │
│ 6/1/2020 │ FFF │ 0 │ M │ 4 │
│ 6/1/2020 │ BBB │ 1 │ D │ 1 │
│ 6/1/2020 │ BBB │ 0 │ M │ 1 │
│ 6/1/2020 │ BBB │ 0 │ M │ 2 │
│ 6/1/2020 │ BBB │ 0 │ M │ 3 │
│ 6/2/2020 │ FFF │ 2 │ D │ 1 │
│ 6/2/2020 │ BBB │ 2 │ D │ 1 │
│ 6/3/2020 │ FFF │ 3 │ D │ 1 │
│ 6/3/2020 │ FFF │ 3 │ D │ 2 │
│ 6/3/2020 │ FFF │ 3 │ D │ 3 │
│ 6/4/2020 │ DDD │ 4 │ D │ 1 │
│ 6/4/2020 │ DDD │ 4 │ D │ 2 │
│ 6/4/2020 │ DDD │ 4 │ D │ 3 │
│ 6/4/2020 │ FFF │ 4 │ D │ 1 │
│ 6/4/2020 │ FFF │ 4 │ D │ 2 │
│ 6/5/2020 │ EEE │ 5 │ D │ 1 │
│ 6/5/2020 │ EEE │ 5 │ D │ 2 │
│ 6/5/2020 │ DDD │ 5 │ D │ 1 │
│ 6/5/2020 │ DDD │ 5 │ D │ 2 │
│ 6/5/2020 │ DDD │ 5 │ D │ 3 │
│ 6/5/2020 │ FFF │ 5 │ D │ 1 │
└─────────────────────┴─────┴──────┴──────────────┘
按照以下步骤实现所需的输出。
第 1 步: 转到 Power Query 编辑器 并将索引列添加到您的 table,如下图。这是必需的,因为您在日期、客户、类型组合的多行中具有相同的值。我试过但发现意外的 RANKX 正在生成,因为在一组的所有行中具有相同的值。为此,创建了索引列。
Index column is created to keep different value in each row just. No other purpose is there for this column.
第 2 步:单击“关闭并应用”按钮返回您的报告。
第 3 步: 现在使用以下代码在 table 中创建一个自定义列-
group_wise_rank =
RANKX (
FILTER (
'your_table_name',
'your_table_name'[Date] = EARLIER ('your_table_name'[Date])
&& 'your_table_name'[Customer] = EARLIER ('your_table_name'[Customer])
&& 'your_table_name'[Type] = EARLIER ('your_table_name'[Type])
),
'your_table_name'[Index],
,
ASC
)
这个技巧应该对你有用。
Desired Output
您好,我想将我的 sql 查询转换为 DAX 度量,以过滤所有仅具有排名 1 的内容。我一直在尝试使用 RankX(Filter) 但我得到了重复的排名。谢谢
row_number() 结束(按日期分区,客户,按天输入订单)
┌──────────┬──────────┬─────┬──────┬──────────────┬ │ Day │ Customer │ Day │ Type │ Desired Rank │ ├──────────┼──────────┼─────┼──────┼────────────── │ 6/1/2020 │ DDD │ 1 │ D │ 1 │ │ 6/1/2020 │ DDD │ 0 │ M │ 1 │ │ 6/1/2020 │ DDD │ 1 │ D │ 2 │ │ 6/1/2020 │ DDD │ 0 │ M │ 3 │ │ 6/1/2020 │ FFF │ 0 │ M │ 1 │ │ 6/1/2020 │ FFF │ 0 │ M │ 2 │ │ 6/1/2020 │ FFF │ 0 │ M │ 3 │ │ 6/1/2020 │ FFF │ 0 │ M │ 4 │ │ 6/1/2020 │ BBB │ 1 │ D │ 1 │ │ 6/1/2020 │ BBB │ 0 │ M │ 1 │ │ 6/1/2020 │ BBB │ 0 │ M │ 2 │ │ 6/1/2020 │ BBB │ 0 │ M │ 3 │ │ 6/2/2020 │ FFF │ 2 │ D │ 1 │ │ 6/2/2020 │ BBB │ 2 │ D │ 1 │ │ 6/3/2020 │ FFF │ 3 │ D │ 1 │ │ 6/3/2020 │ FFF │ 3 │ D │ 2 │ │ 6/3/2020 │ FFF │ 3 │ D │ 3 │ │ 6/4/2020 │ DDD │ 4 │ D │ 1 │ │ 6/4/2020 │ DDD │ 4 │ D │ 2 │ │ 6/4/2020 │ DDD │ 4 │ D │ 3 │ │ 6/4/2020 │ FFF │ 4 │ D │ 1 │ │ 6/4/2020 │ FFF │ 4 │ D │ 2 │ │ 6/5/2020 │ EEE │ 5 │ D │ 1 │ │ 6/5/2020 │ EEE │ 5 │ D │ 2 │ │ 6/5/2020 │ DDD │ 5 │ D │ 1 │ │ 6/5/2020 │ DDD │ 5 │ D │ 2 │ │ 6/5/2020 │ DDD │ 5 │ D │ 3 │ │ 6/5/2020 │ FFF │ 5 │ D │ 1 │ └─────────────────────┴─────┴──────┴──────────────┘
按照以下步骤实现所需的输出。
第 1 步: 转到 Power Query 编辑器 并将索引列添加到您的 table,如下图。这是必需的,因为您在日期、客户、类型组合的多行中具有相同的值。我试过但发现意外的 RANKX 正在生成,因为在一组的所有行中具有相同的值。为此,创建了索引列。
Index column is created to keep different value in each row just. No other purpose is there for this column.
第 2 步:单击“关闭并应用”按钮返回您的报告。
第 3 步: 现在使用以下代码在 table 中创建一个自定义列-
group_wise_rank =
RANKX (
FILTER (
'your_table_name',
'your_table_name'[Date] = EARLIER ('your_table_name'[Date])
&& 'your_table_name'[Customer] = EARLIER ('your_table_name'[Customer])
&& 'your_table_name'[Type] = EARLIER ('your_table_name'[Type])
),
'your_table_name'[Index],
,
ASC
)
这个技巧应该对你有用。