Power BI DAX - 动态分类列值
Power BI DAX - Dynamically Categorize Column Values
我有一列表格
Revenue
10000
20000
500
1
3300
800
90
45
200
55
我想在我的 power bi 数据集中创建一个新列,根据值的范围将这些列动态地分为前 20%、前 20-50%、后 20-50% 和后 20% 的收入贡献在 .
栏中
如何使用 DAX 实现此目的?
不确定顶部和底部 20-50% 之间的差异是什么。我假设有错字。
我是 DAX 的新手,我不确定这是否正是您想要存储值的方式,但您似乎可以使用 RANKX
和嵌套的 IF
公式:
Rank =
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.8 * COUNT ( 'Table'[Revenue] ) ),
"Top 20%",
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.5 * COUNT ( 'Table'[Revenue] ) ),
"Top 50%-80%",
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.2 * COUNT ( 'Table'[Revenue] ) ),
"Bottom 20-50%",
"Bottom 20%"
)
)
)
我对输出进行了排序以使结果更易于查看
如果您想使用其他算法进行分桶,请说明。
我有一列表格
Revenue
10000
20000
500
1
3300
800
90
45
200
55
我想在我的 power bi 数据集中创建一个新列,根据值的范围将这些列动态地分为前 20%、前 20-50%、后 20-50% 和后 20% 的收入贡献在 .
栏中如何使用 DAX 实现此目的?
不确定顶部和底部 20-50% 之间的差异是什么。我假设有错字。
我是 DAX 的新手,我不确定这是否正是您想要存储值的方式,但您似乎可以使用 RANKX
和嵌套的 IF
公式:
Rank =
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.8 * COUNT ( 'Table'[Revenue] ) ),
"Top 20%",
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.5 * COUNT ( 'Table'[Revenue] ) ),
"Top 50%-80%",
IF (
RANKX ( 'Table', [Revenue], [Revenue], ASC )
>= ( 0.2 * COUNT ( 'Table'[Revenue] ) ),
"Bottom 20-50%",
"Bottom 20%"
)
)
)
我对输出进行了排序以使结果更易于查看
如果您想使用其他算法进行分桶,请说明。