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

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

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

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

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

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

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

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

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

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

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

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

↑ 右键>复制表

↑ 输入数据>粘贴>编辑

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

总结

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

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

数据可视化之DAX篇(七) Power BI中用DAX生成的表如何添加索引列?的更多相关文章

  1. 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)

    前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...

  2. 小目标 | DAX高级实践-Power BI与Excel联合应用

    · 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 DAX高级实践-Power BI与Excel联合应 ...

  3. 数据可视化之分析篇(六)使用Power BI进行流失客户分析

    https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...

  4. 数据可视化之 图表篇(二)如何用Power BI制作疫情地图?

    丁香园制作的这个地图可视化,相信大家每天都会看好几遍,这里不讨论具体数据,仅来探讨一下PowerBI地图技术. 这个地图很简洁,主要有三个特征: 1,使用着色地图,根据数据自动配色 2,只显示中国地图 ...

  5. 数据可视化之PowerQuery篇(十六)使用Power BI进行流失客户分析

    https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...

  6. 第一篇:Power BI数据可视化概述

    前言 "可视化之工具,可爱者甚蕃.统计学家独爱R,自Python来,世人盛爱matplotlib.余独爱Power BI之出微软而不染(免费),濯Office而不妖(够精简).......& ...

  7. 数据可视化之 图表篇(四) 那些精美的Power BI可视化图表

    之前使用自定义图表,每次新打开一个新文件时,都需要重新添加,无法保存,在PowerBI 6月更新中,这个功能得到了很大改善,可以将自定义的图表固定在内置图表面板上了. 添加自定义图表后,右键>固 ...

  8. 数据可视化之分析篇(三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

  9. 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

随机推荐

  1. Brainman(规律题)【数学思想】

    Brainman 题目链接(点击) Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 12942   Accepted: 650 ...

  2. iphone手机卡顿解决方案

    一.清除 safari缓存         设置->safari浏览器->清除历史记录与网站数据

  3. postman查看打印

    原文:https://www.jianshu.com/p/f165a99245e3 1.再postman中每个请求的 Pre-request Script和Tests中都可以写代码2.也可将值打印到C ...

  4. cb24a_c++_STL算法简介

    算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成.       <algorithm>是所有STL ...

  5. vc++,MFC,组合框控件设置时0xC0000005: 读取位置 0x00000020 时发生访问冲突

    511.exe 中的 0x78bb5dec (mfc90ud.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突 _AFXWIN_INLINE int ...

  6. 一个老牌程序员说:做Java开发,怎么可以不会这 20 种类库和 API

  7. 【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?

    科普: 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数. 引用传递(pass by reference)是指在 ...

  8. 尚硅谷ajax视频教程1

    1.+尚硅谷_佟刚_Ajax_概述.wmv 2.+尚硅谷_佟刚_Ajax_使用+XMLHttpRequest+实现+Ajax.wmv XMLHttpRequest 对象提供了对 HTTP 协议的完全的 ...

  9. python的常用魔法方法详细总结

    构造和初始化 __init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数". 实际上, 当我们调用x = SomeClass()的时候调用,__init_ ...

  10. Linux下9种优秀的代码比对工具推荐

    大家好,我是良许. 在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性.在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linu ...