dax powerbi 生成表函数_Power BI中用DAX生成的表如何添加索引列?

在Power BI中,当使用DAX创建了一个表后,由于无法直接在PowerQuery中编辑,添加索引列变得有些复杂。本文提供了两种解决方案:一是利用RANKX函数在DAX中添加排名列,二是复制表到PowerQuery中添加索引列。两种方法各有优缺点,前者可能有重复排名,后者失去动态性。欢迎大家交流更多方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​来源于知识星球中一个星友的问题,使用DAX在PowerBI中新建了一个表,如何为这个表添加索引列呢?

假如数据模型中只有一张订单表,需要从订单表中提取客户表,可以直接使用VALUES函数提取一个不重复客户表,

544a4aaf10a65ffaf6f1926ffd22b24f.png

如何为这个表添加索引列?

因为DAX生成的表无法在PowerQuery中编辑,也就无法使用PQ的添加索引列的功能了,这里提供两个变通解决的方法。

方法一:使用ADDCOLUMNS在原DAX的基础上增加排名列

因为DAX中并没有索引函数,这里使用排名函数RANKX来代替,比如按客户姓名排序,使用排名作为索引列,

704d8ed69866569ecf83aee188efbe30.png

使用RANKX计算排名时,排名依据的选取尽量不要有并列的情况,如果并列,RANKX排名相同,就不符合索引规则了,上面的姓名去重后,很可能不存在重复的情况。

但如果按客户下单日期来排序,就很容易出现并列的情况,

64db30cad222a9fb01ab1f878653829d.png

同一天购买的客户,排名相同

方法二:复制表,在Powerquery中添加索引

这种方法也很方便,不用写任何函数,点几下鼠标就添加好了,

f2a61ada18f32c5038574343aa003501.png
↑ 右键>复制表

b9eff92826c7336f0a4e7fd5ae545d1a.png
↑ 输入数据>粘贴>编辑

f542d216d27997a152785f91e6a7fd44.png
↑ 在Powerquery中添加索引列并上载

总结

  • 使用ADDCOLUMNS直接生成,可动态刷新,但RANKX有可能有重复排名;
  • 在Powerquery中添加的是真正的索引列,但经过复制后,失去了动态性。

大家如果有更好的方法,欢迎留言分享哦。

文章推荐

采悟:你做的预测分析不靠谱,是因为你没有使用移动平均!​zhuanlan.zhihu.com
de99edca51f61a8485a4ee2568119da5.png
采悟:如何快速理解一个复杂的DAX?这个方法告诉你​zhuanlan.zhihu.com
550c3867f5fee71180566e714cfb7c73.png
采悟:PowerBI图表不够炫酷?来看看这个​zhuanlan.zhihu.com
c29126b66f00e6e02216df414a94e34a.png

如果你刚开始接触Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。

本文源文件已分享在知识星球,需要的请直接在知识星球中下载。

喜欢了别忘了点赞哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值