使用在度量值里: 例如我们要求每天数量合计的排名。要求这个,肯定要涉及两个指标,一个是求和(Sum),一个是排名(RankX)。
很多小伙伴问罗叔,虽然在网上找了大量教程,但到底如何理解 RANKX 还是没有找到好的方法,这篇文章就彻底把 RANKX 给大家讲清楚。很多高手也会认为自己理解了 RANKX,但遇到复杂问题了还是会掉链子,让我们结合一些问题来看一看。
又是一对好用的函数,特别是对于营销分析,做业绩排名,当然对于学生考试成绩、运动比赛成绩的排名也不在话下,应用场景就根据自己需要来发掘吧。
前天的文章《那么多关于RANKX函数排名的方法,竟然都是错的!| DAX大坑》里提到,RANKX + ALLSELECTED函数的使用,只是在特定的条件下才是正确的,显然,这里的问题就是出在ALLSELECTED身上。
文章背景:最近在学习DAX权威指南的第16章,DAX中的高级计算。其中提到了一种相当常见的计算模式:对事件序列进行编号,以便查找第一个、最后一个和上一个事件。
仔细想一想,没理由啊,切片器不应该影响排名结果啊,因为我们已经ALL('大区表'[大区])了。而且右侧每一行其实都代表着筛选器,如果切片器有影响,那么行上的筛选器同样应该影响,结果没有。(右边对照的是将编辑交互去掉的。)
最近学CALCULATE都要吐了,白茶觉得,咱得换一换口味,对吧。本期呢,咱来聊一聊关于排名的问题。
之前呢,白茶曾经分享过关于RANKX排名问题,但是在实际需求中,有时候我既想展示排名,但是同时我又想看看销售前几,该如何进行呢?这个问题就是标题——TOPN的问题。
在《PowerBI DAX 重构系列:用1个度量值代替100个 实现 动态多维度动态算法动态总计(上篇)》我们最终来到:
那么我们基本上可以得出结论了:数据表是由子类别和年度组合构成,把每年的子类别对应的销售额放进去,通过筛选年度切片器,达到选择不同年份时显示不同的销售额。
又是一对好用的函数,特别是对于营销分析,做业绩排名,当然对于学生考试成绩、运动比赛成绩的排名也不在话下,应用场景就根据自己需要来发掘吧,授之以鱼不如授之以渔,我这里只讲通用的方法。
开窗函数在SQL语句中属于一种特殊的用法。开窗函数的引入,是为了既可以显示聚集前的数据,也要显示聚集后的数据。
对于数值型数据的排名是经常使用到的,例如成绩,销售额,销售量等进行排名,那对文本排名是否有必要,文本型字段排名又有什么作用呢?
Power BI 2022年5月更新的字段参数功能业务使用价值巨大,以至于本号连续更新相关内容,以下是前情提要:
对于排名,是一个老生常谈的问题,有小伙伴问: 如何实现完全顺序排名? 先来看看效果: 📷 这里分别列出了针对 Item 的每个值以及对应的排名。 Dense 方法:RANKX 原生支持,称为紧密排名。 Skip 方法:RANKX 原生支持,称为稀疏排名。 Order 方法:自定义实现,RANKX 无原生支持,称为自定义顺序排名。 Dense 方法 编写度量值如下: Item.Rank.Dense = RANKX( ALLSELECTED( Data[Item] ) , [Item.Value] , , ,
实际应用中一般使用度量值来计算排名,今天小伙伴因为特殊场景需要,必须采用计算列来显示排名。
rankx1是跳过了并列排名,比如从4个1直接跳到了5,而rankx2是不间断的排名,区别就在于rankx的第五参数dense。
业绩、成交笔数、销量、库存量等为主指标,为判断指标的健康度,我们常常需要横向比较,设置辅助指标,比如主指标在各店铺的排名,比如指标比同期的增长率。
白茶在之前的一期,曾经分享过RANKX排名的问题,但是白茶当时犯了一个很严重的错误,这里和小伙伴们说一声抱歉。本期呢,既是纠正这个错误,也是学习另一个函数——迭代循环函数之SUMX。
小伙伴们,以上就是本期内容的问题来源,一些场景和人物都是白茶虚构的,但是这个事却是真的。
这个显示结果虽然达到了基础的目的,但并不是很理想。很明显,我们想的是让others在最后一行:
白茶认为,这个东西可以不用,但是该了解需要了解。感谢@群里面各位大佬的指点,RANKX函数的最后一点也彻底明白了。
Power BI中DAX函数非常多,功能非常强大,下面结合一些实际场景来讲解DAX一些常用的函数,这些场景包含求和、计数、相除、排序、累计、环比、同比,为了更方便后续的可视化展示数据,我们新创建可视化展示的页面,创建一个新表存储后续展示的度量值,具体操作如下:
有一次考试,我考了51分,在班里排第6名。当时,班里有7个人,大家的成绩是这样的(配套数据见文末):
上一文(Power BI x EasyShu:Top商品门店分布地图可视化)分享的是每个产品在不同门店的状况,本文换一种角度:每个门店自己的状况。下图展示了每个门店最畅销的商品,部分门店的Top1因为存在并列关系,所以显示了不止一个产品。
现实业务中,经常需要对类似业绩之类的数据进行排序。DAX有一个函数RankX,就是专门用来实现该功能的。RankX有5个参数(2个必选,3个可选),可以实现大部分排序需求。
在一些数据分析场景中我们经常遇到获取topN统计的问题,例如统计销量topN的店铺对应的总销售额、统计订单量TopN的门店总销售额等等。针对这种TopN问题的分析,在Power BI中我们需要使用TOPN函数,TOPN函数可以返回指定表的前N行数据。之前我们学习过RANKX函数,RANKX可以根据指定的度量值表达式来对数据进行排名没有办法获取前几名数据,TOPN可以获取前几名数据,但是不会对数据进行排名。
之前我们讲了连续日期的移动平均的求法,那我们这次来看下如果不连续日期如何计算移动平均。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,可以下载本文案例,还可以观看视频讲解。
一个店铺的一个指标数值通常没有价值,价值在比较中产生。我们常常通过指标排名来发现店铺优劣势。在表格中,一个指标一列,10个指标则新建10列进行排名。
指标多是常态,以零售业为例,和人相关的指标有进店率、客流数、成交率、连带率(客单量)、客单价,和货相关的销售折扣、库存周转天数、售罄率、品类销存占比、齐码率等等。
大家在网上一定看到过很多关于RANKX的文章,而且几乎都是和ALL、ALLSELECTED函数一起使用的——这似乎成了大家习惯性的套路!
如果说ALLSELECTED函数是所有函数中最为复杂的一个,那么CALCULATE函数就是最为灵活的那一个。
每个门店由店长管理,店长的管理被评价得到KPI。现在希望按照如下结构显示,该如何实现?
业务中,常常需要显示 TOP N 的排名前几的产品(或门店,区域)和销售额(或其他指标)。尴尬的问题在于,如果指标的大小一样,会出现重复的元素的情况。例如:
思路上其实非常简单:通过构建一个新的表,将销售额度量值放进去,排序,前10名用原先的类别,后面的都替换为others,拖到表中排序即可。
在DAX函数中,关于排名的函数有RANKX和TOPN函数,这两个函数白茶已经写过很多文章了,都是关于排名问题的,但是,实际情况中,根据我们中国式报表的需求,怎么可能仅仅如此?
最近白茶在读《圣经第二版》,再加上有很多小伙伴问过白茶总计栏显示不合理的地方,白茶决定抽出一期来描述一下上下文。
在 Toboyoo 分析看板中,有一个专门的模块,通过 80/20 原理,建立起 “四象限分析” 模型。该模型从【组合象限】、【80/20 数字】和【年度变化】3 个主要子页面进行分析展示。如下所示:
ALLSELECTED函数,被微软划分为“筛选”类函数,隶属于“表函数”。其用途,常常是用来计算或者显示明面上的筛选影响,而忽略其行上下文的影响。
PowerBI本身内置的排序方式,是遵循ASCII国际标准的方式,这就导致了中文的默认排序对于很多小伙伴来说并不友好。
ORDER BY语句,在SQL中通常可以用来作为查询结果的排序依据。当然在PowerBI的DAX语法中也有ORDER BY,只不过通常是与EVALUATE语句搭配使用。
CALCULATE函数属于最灵活多变的函数,那么其内部到底是怎样的运行环境呢?其优先级又是怎样评定的呢?
ALLSELECTED是为了保证无论如何筛选,都能按照我们设定的条件显示固定的上下阈限;
近来,一个问题刷爆国内 PowerBI 圈子。感谢小伙伴提供了一个这么真实,这么有价值的好题。
迭代函数可以直接创建“行上下文”,它遍历整个表,为表的每一行执行相同的DAX表达式,后续再根据不同函数执行不同操作
在服装零售业商品管理过程中,Top款从来都是重中之重,它决定了整盘生意的好坏。销售库存Top款重合度是日常工作中很好的一个跟踪Top款指标。比方,销量前10的商品是否是库存前10的商品,两个Top榜正好百分百重合是一种理想化状态。
1 网页简介:基于 HTML+CSS+JavaScript 制作七夕情人节表白网页、生日祝福、七夕告白、 求婚、浪漫爱情3D相册、炫酷代码 ,快来制作一款高端的表白网页送(他/她)浪漫的告白,制作修改简单,可自行更换背景音乐,文字和图片即可使用
华夫饼图常常用来展示百分比构成,以下视频讲解如何在Power BI内置卡片图自定义任意图案的华夫饼图,本方案同时适用于在表格矩阵展示:
怎么说呢,白茶发现了一个很有意思的事情,PowerBI为我们对数据的分析、处理、展示提供了一个很好的工具,但是在国内市场的行情,很多分析思路不能按照微软最初始的设定进行,都需要我们来实际变通一下,比如下面这个例子。
领取专属 10元无门槛券
手把手带您无忧上云