如何为DAX生成的表添加索引列?

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

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

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

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

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

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

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

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

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

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

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

↑   右键>复制表

↑   输入数据>粘贴>编辑

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

总结

  • 使用ADDCOLUMNS直接生成,可动态刷新,但RANKX有可能有重复排名;

  • 在Powerquery中添加的是真正的索引列,但经过复制后,失去了动态性。

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

(0)

相关推荐

  • 不要再Ctrl V了!一列数据转多列,2招搞定!

    大家好,我是瓜叔 我看到这样一个问题:如何批量整理标题和链接? 我简单整理了一下(如下表),大致的需求就是:将左表整理成右表的形式. ▲ 为方便演示,仅展示部分数据 如果是你,你会怎么做呢? 群内的小 ...

  • 这个Excel查找不同的技巧,过于硬核!

    经常看到一类问题,就是关键词一样,如何找到后面对应信息不同的数据! 比如我们今天的案例,商品名称一样,但是对应的单价有的却不同,我们就是要把这些找出来了 比如下面的数据,其中有部分商品有多个单价,我们 ...

  • POWER QUERY--向表添加新列

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 原始数据表单的字段不一定能够满足用户的需求,很多情况下需要添加新列(计算列 ...

  • mysql添加索引(建表之后)

    一.使用ALTER TABLE语句创建索引 语法如下: alter table table_name add index index_name (column_list) ;alter table t ...

  • 给工作表添加带有超链接的目录

    按[Alt+F11]键打开VBE,把以下代码放到thisworkbook,代码作用: 每次打开这个工作薄就可以把所有的表名重新提取一遍放到目录表的A列,防止有新增的表没有链接到. 如图: Privat ...

  • 生成两表(列)数据全部组合的极简方法

    在<PQ-综合实战:根据关键词匹配查找对应内容>里,为了拼出两个表数据的全部组合,使用的方法是先分别给每个表添加一列,然后再用合并查询的方法来完成,而且合并完成后还得再把添加的列给删掉,步 ...

  • 强大的分组:给每个类别分别添加索引编号

    在前面讲<怎么在每个科目(分类)内容的后面加3个空行?还涉及分组依据的核心原理-->的时候,提到"分组依据"功能的核心原理,在此重复一下:分组的过程就是对同一类内容先分 ...

  • DAX中的表函数和值函数

    学习 DAX 的过程中,会遇到各种坑,刚开始甚至无法写出一个正确的度量值,总是提示错误.其实很多原因都是不理解 DAX 函数及其参数规范造成的,在该用表的时候没有用表,该用列的时候没有用列. 常见的 ...

  • 注册表添加和删除文件打开方式列表

    添加: 1.点击"开始","运行",在其中输入regedit,然后确定. 2.打开注册表编辑器后,找到如下路径:    HKEY_CURRENT_USER\So ...

  • 用列信息批量生成工作表,看这篇就够了

    ▎写在前面 本文通过一个简单的案例,详细讲解批量生成多个工作表的VBA需求,并考虑可能出现的一些问题,加深对If条件判断的使用.新手建议一步一步根据文章内容进行测试. ▎案例需求 实际需求模拟如下: ...