https://zhuanlan.zhihu.com/p/74732578

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

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

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

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

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

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

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

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

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

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

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

↑ 右键>复制表

↑ 输入数据>粘贴>编辑

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

总结

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

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

最新文章

  1. There was an internal API error.
  2. 读<jquery 权威指南>[2]-事件
  3. Log4j配置与使用
  4. IAP沙盒测试帐号无法购买的问题
  5. HTTPClient实现java自动登录人人网
  6. 武汉科技大学ACM :1010: 华科版C语言程序设计教程(第二版)例题7.8
  7. java.sql.SQLException: ORA-00911: 无效字符 解决方案
  8. FullScreenFragment Code
  9. Nginx 变量漫谈(一)
  10. 图解UML类与类之间的六中关系
  11. # C#不登录电脑启动程序
  12. MySQL聚簇索引的使用介绍
  13. 简单的纯js三级联动
  14. nodejs:导出Excel和解析导入的Excel
  15. RuntimeError: Model class apps.users.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
  16. day 74ajax
  17. ux.form.field.Month 只能选年、月的时间扩展
  18. 20175312 2018-2019-2 《Java程序设计》第2周学习总结
  19. cenos 7.2 网卡设置静态ip
  20. 硬盘读取速度变慢 — 当前传送模式: PIO模式

热门文章

  1. Java 技术网站总结(不停更新)
  2. @luogu - P6109@ [Ynoi2009]rprmq
  3. @codechef - JADUGAR2@ Chef and Same Old Recurrence 2
  4. SpringColud Eureka的服务注册与发现
  5. MyISAM 和 InnoDB 索引结构及其实现原理
  6. 小白的mapbox学习之路-显示地图
  7. Windwos安装Redis
  8. 线程间配合:Condition、Semaphore、CountDownLatch、CyclicBarrier
  9. 虹软人脸识别——官方 Qt Demo 移植到 Linux
  10. Celery浅谈