不管是Power BI中还是在Excel的Power Pbiot中使用DAX,都支持VAR变量的写法。变量的方法不仅提高了代码的性能,还能减少代码的重复使用带来的阅读不方便。...这是一个简单的度量值,新手朋友们有可能的一种编写的代码是: 订单金额占比 =VAR salestotal = SUM ( 'T05_订单子表'[F_06_产品销售金额]...出现这种错误的原因是,代码关于VAR变量的理解是不正确的: 变量只在定义的时候计算,不会在使用变量的时候计算结果,并且变量的计算只进行一次。...在这个例子中,已经定义的salestotal的变量不会受到CALCULATE函数的影响,即不考虑调用变量时的筛选上下文,所以后面的占比计算的时候,每一个大区返回的都是一样的值值。...所以,上述错误的代码,可以分成来写成2个度量值: 订单金额: = SUM ( 'T05_订单子表'[F_06_产品销售金额] ) 再编写金额占比的度量值,如下: 订单金额占比 =DIVIDE
门店不产生销售的日期,就作为撤店日期。门店在系统中的状态,就根据这几个阶段,分为装修中、营业中、重装中、撤店。计算门店数时,就要根据以上这些字段确定。...方法 1 公式较为简单,通过门店维度表 Model-Dimstore 中的店铺状态列判断,计算店铺状态为营业中的门店数量,公式如下。...当门店在筛选期间之前或筛选期间内开业(开业日期小于等于当前期间的最大值),并且在筛选期间内未撤店(撤店日期大于当前期间的最大值或者撤店日期为空),则判断该门店在筛选期间处于营业状态。...图 3 新增门店数、净增门店数趋势变化及结构分布 以上是关于门店数开关店的分析。门店数是企业经营分析中最基础的指标,它的计算依赖于门店信息表中的开店日期、撤店日期及门店状态等基础信息。...所以及时维护好门店信息表是正确计算门店数的关键。在进行开关店分析时,既要关注新增门店数量,更要关注净增门店数量,及时跟踪各个区域在各月份开店进度达成情况,确保最大限度达成公司的拓展规划。
下面我就结合Power BI功能,如何利用DAX更加智能便捷的解决这个难题; 知识点 数据模型:日期维度表和事实表 DAX基础公式: CALENDARAUTO SUM CALCUALTE SAMPERIODLASTYEAR...我们先把销售数据源导入到Power BI的桌面版里面。 ? (表1-1) 在Power BI里面如果要和日期打交道的话,其中一个先决条件就是要有一份单独的日期维度表。...所谓条条大路通罗马,实现一个目标,有多种实现方式,这在Power BI的学习中,更是特别适用。...这个功能会根据你目前有的数据模型当中最大日期和最小日期自动来创建一个日期维度表。 这个日期表,将会是我们是否能够最大限度的使用Power BI自带的Time Intelligence的一个先决条件。...我们会在接下来的文章里与您分享更多Power BI的魅力。
但凡做过比较复杂一点的报告的同学,都经历过复制粘贴度量值的阶段。 不过,在Power BI Desktop的建模中直接右键复制度量值可不会像在powerquery中复制表那样容易实现: ?...所以只能是打开一个度量值然后复制内容: ? 粘贴到另一个新建度量值中,修改名称和内容: ? 不过,不知道你有没有这种体验,10次有8次,粘贴的时候啥也没有?!! ? 啥原因呢?我们看下图: ?...两次选中这个度量值的时候,度量值背景颜色是不同的,没看仔细的话,看下边两张图的对比: ? ? 颜色是深蓝色的话,代表着你可以复制和粘贴,而如果是浅颜色,那么就无法复制。...原因是,如果你按住鼠标左键选择度量值,当你松开左键时,鼠标指针仍然在度量值输入框中,它就是深蓝色的,也就可以复制;而如果指针已经不在这个度量值输入框内时,那么它就显示浅蓝色,代表不可复制。...如何解决这个问题呢? 其实很简单,就像黄渤出演过的一部电影《蛋炒饭》中说的: ? 按住鼠标左键拖动复制度量值的时候,要慢一点,不要让光标离开输入框。
当然,解决办法还是很多的,先来说个最简单的,也是对于入门者而言能够最快地实现这个功能的方案:空白度量值。 . = " " 将这个空度量值添加到表或矩阵中: ?...空白度量值的运用还有很多,比如: 很多时候我们的矩阵包含很多度量值,并且按照一定的顺序排列,且又发布到云端报告中,如果我们想截图后半部分的话,前半部分无用信息也就截上了,这显然不是我们想要的: ?...解决的办法也是用“空白度量值”。...你可以写一个这样的度量值: ——————————————————— = "" 然后将之添加到最后一列,这样就可以拖动滑杆将前面的信息都隐藏,只截取我们想要的内容: ?...如果你觉得长度不够,可以同时添加多个相同的列: ? 另外,如果你的矩阵非常大,有很多很多的度量值,如果堆放在一起是很难用来分析的。
值得注意的是,在目前的模式下,如果使用额外的筛选器对客户进行筛选,其效果也是可用的,例如: 如果选定了某个行业,那么该度量值的计算依然有效。 现在的问题是如何处理总计行的问题。...什么叫日期维度的变换?定义如下: 筛选环境中给出了作为筛选的日期区间,称:[D1,D2]。 计算中需要使用另一段日期区间,称:[D1',D2']。...从 [D1,D2] 到 [D1',D2'] 的变换就是日期维度的变换。 在本案例中,已经筛选了某个年月的区间,但在计算中需要考量的是未来一年的日期区间,有: [D1,D2] 为某年月。...在本案例中,如果要计算某年月随后一年的活跃客户数,可使用以上思路建立度量值,如下: Customer.活跃.数量.未来一年 = CALCULATE( SUMX( VALUES...计算的可扩展性 好的度量值设计,是可以兼容不同场景的,例如本案例中的设计除了已经满足了这样的要求外,还可以做到这样的效果,如下: 这里没有添加任何新的度量值,但对不同行业的活跃客户和留存也给出了计算,
在我们做报表的时候,经常遇到说某些数据想突出显示一下,当然,微软是支持数值颜色渐变对比的,但是怎么说呢,就像是下图那样,有时候并不是很符合我们对于报表的需求: 有时候,我们呈现的报表都是有一个临界值的...一、如果仅仅是呈现原始数据中的列值,未经过任何计算的话,代码如下: 颜色DAX= IF(SELECTEDVALUE('表'[条件项])>N,//这里需要自己更改符合自己的数据。 ...、数据条、图标方法都一样: 选择模式为字段值,依据字段选择刚写好的度量值,结果如下: 是不是就达到了我们预期的只想要两个颜色对比的结果呢?...这是第一种,判定原始数据的方法。 二、我想让经过计算的结果呈现出不同的颜色: 假如,这是我们处理过的列值,想让它呈现不同的颜色。 左边是我们刚才写的度量值呈现结果,右边是我们的计算结果。..."#颜色的16位进制编码",//这里改成自己需要的颜色编码,下同 "#颜色的16位进制编码" ) 看起来大同小异的,区别在于如果没有经过计算,是需要函数提取数值的,而计算过的函数是不用的。
大海:这样一导入,做些必要的选择: 然后,就会将在Excel里用Power Query建的查询、加载到Power Pivot的数据以及建好的模型、写好的度量等全导入到Power BI了,结果如下图所示...我的Excel里没有建查询啊?怎么导入Power BI却生成了一个查询? 大海:你这个是没有经过Power Query,直接从表格添加到Power Pivot数据模型的吧? 小勤:对的。...大海:你看一下Power BI里面这个查询是怎么建出来的? 小勤:晕啊。这个是直接输入数据生成的源呢! 大海:对的。...直接从表格添加到Power Pivot数据模型的表会在Power BI中以“新建表输入数据”的方式来实现。...所以,它的灵活性没那么好,比如你Excel里的数据更新了,Power BI里就会有问题,你懂的。 小勤:那怎么办? 大海:可以直接改这个查询里的相关步骤啊。
Power Query中的分组归类表格 ? 2. 报表页隐藏事实表 大部分的报表主要是由维度以及度量值所构成,所以可以在报表页隐藏不必要的事实表。 ? 3....2) 点击度量值,通过建模菜单下的主表进行归类 因为对于度量值来说,是全局性的,虽然需要依附在表里,但是可以自由移动,可以专门建立度量值的表来管理。 ?...3) 隐藏生成表中的列并更改成度量值组名称 ? 4) 保存退出并重新进入,表格图表已经改变,变成专有的度量值组格式。 ? 4....度量值的二次分组 除了使用表格来对度量值的分组,还可以进一步的把度量值根据文件夹分组 选择Power BI中的模型视图效果,会出现属性栏,不仅可以批量更改度量值的相对设置,例如格式,数据类别,还可以进行二次归纳...视觉对象归类 报表中的多个视觉对象,可以根据报表名称,视觉对象类型等进行分组。 ? 6. 书签的分类整理 书签不仅可以对应报表页,还可以对应视觉对象。
自《业财一体化演示平台》案例发布以来,大家对于其中如何实现的细节产生了很多好奇,特别是如何在 Power BI 计算投资回收期,本文将针对投资回收期做具体实现分享。...下面以静态投资回收期为例,来说明在 Power BI 中如何计算投资回收期。...因此,如果用 DAX 表达式计算投资回收期也需要: 1)构建自定义投资日历表(投资时间轴) 2)计算当期现金净流量 3)计算累计现金净流量 完成以上三步后,接下来最关键的是使用 DAX 表达式计算出投资回收期...CALCULATE( [当期现金净流量], FILTER(ALL('自定义投资日历表'),'自定义投资日历表'[月序列]<=MAX('自定义投资日历表'[月序列])) ) 最后基于以上三个度量值计算投资回收期...) 用卡片图显示出来,可以看出结果与手工计算结果一致: 当然,实际投资分析中,每期的现金流量可能比较复杂,可以将增长率、初始投资额可以作为输入参数供用户自由调整;还有新投资的项目与公司历史的项目类似
本篇文章主体部分为翻译Chris Webb的一篇文章。 合并查询在Power Query中是很成熟的应用,相当于SQL中的各种JOIN(抽时间会写几篇SQL的join,算是SQL的小核心)。...但同时,在Power Query中合并查询是一个常见的影响刷新效率的因素。在我的工作中,经常会遇到对一些非文件夹性质的数据源进行合并查询操作,所以我一直在想,有没有办法可以对其进行优化。...当每个表中含有两列时合并查询会提交584MB数据,而如果时合并查询两个7列的表,最大会提交3GB的数据。 所以最后,我们可以从容地得出结论: 在合并查询前,去掉不必要的列,的确可以提升刷新效率。...还记得我们之前说过的微软的产品无处不在的节省算力吗? 节省算力:提前知晓同一字段的所有筛选器,先进行合并,再进行计算,避免对同一字段重复计算。 这就是下一篇的内容了。...参考文档: Chris Webb https://blog.crossjoin.co.uk/2020/05/31/optimising-the-performance-of-power-query-merges-in-power-bi-part
(三) 通过度量值计算移动平均 1. 解题思路 同样是3个条件,既然我们会求解添加列的方式,那度量值也可以按照这种方式来进行。 2. 函数思路 我们添加辅助排名度量值进行简化。...因为存在上下文转换的排名比较,所以使用变量进行固定,类似earlier函数。 Var pm=[排名] 3....函数合并 5日移动平均:= var pm=[排名] return if([排名]>5, //满足5日均线计算条件 AverageX(Filter(All('表1'),[排名]>=pm-5 &&...[排名]的符合要求的日期区间表 '表1'[金额]), Blank() ) 这样不仅可以在日期连续的情况下进行,也可以在日期不连续的情况下进行...如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
小勤:大海,Power BI里面怎么实现逆序刻度图?比如我想分析学生多次考试成绩的名次变化趋势,由于名次数据越小越好,比如第1名要好过第2名,所以,数据小的应该显示在数据大的上方。...在Excel里,可以通过设置坐标轴为逆序刻度: 达到如下效果: 但是,在Power BI里,好像设置不了逆序刻度啊。...大海:对的,目前Power BI还不支持逆序刻度,所以,这个问题如果要在Power BI里实现的话,得想其他办法。 小勤:那怎么办呢?...大海: 一是换柱状堆积图,如果要实现折线图的效果,得考虑用图形叠加的方法,现在先说一下柱状堆积图的方法,数据接入Power BI后: Step-01:构造辅助数据 由于正常的数据显示都是越小越低的...Step-03:调整名次相关设置 设置名次的柱形图为白色,数据标签的位置为“轴内侧”,结果如下图所示: Step-04:取消辅助名次的数据标签 打开数据标签设置中的“自定义系列
以上三种,我们都是基于Power BI页面表现进行设置即可。今天我们更进一步,讲讲不变更页面设置,对后台(Query+Pivot)进行变更达到一个图表显示更多内容的目的。...以下是实现过程 一、坐标轴的实现 我们有两张表格,一张为销售明细,一张为产品资料 销售明细表 产品资料表 1.将产品资料表在Power Query后台复制一份,取名“坐标轴切片”选中除了货号的列,逆透视列...“切片器”列 5.生成一个柱形图,数据如下选择 如上,点击切片器,坐标轴即可自动切换 二、度量值的实现 1.点击“输入数据”,新建如下表,用来后续切片度量值 2.新建一个动态度量值,度量值内容随着刚才新建表内容的切换而切换...3.将“度量值切片”表中的“度量值类型”设置为切片器 如此,我们的坐标轴和度量值同时切换图表即完成。...总结 坐标轴的实现主要用到Power Query的逆透视以及数据关系的变更。 度量值的切换需要灵活使用Switch。这样,我们可以一张图表展现更多内容。
运动品牌Puma近日发布了2024Q3财报,发布的资料在可视化方面有很多值得学习的地方。昨天模拟了条件格式,今天复刻一种多维表格结构。...图片来源:Puma官网 上图Puma同时展现了服饰公式常见的三个维度——地区、销售渠道和产品类别的同一个指标。读者可以直观看到每个维度的表现好坏。...Power BI也可以实现类似的表格结构: 首先,新建一个辅助表,将需要展示的维度纵向串联起来: 纵向维度表 = --公众号、知乎、B站:wujunmin VAR T1 = SELECTCOLUMNS...( '纵向维度表'[分组内容] ), '店铺资料'[按面积分组] ) ), [M.业绩达成率] ) 矩阵如下拖拽字段: 空白行打开并换一个颜色: 得到: 结合SVG可以把表格美化(进度条的SVG...实现方式参考Power BI/Excel 表格内嵌进度条生成器): 这个思路应用场景很广阔,比如多维TopN: 多维库存结构: 多维帕累托分析:
最近几天有在讨论在Power Pivot中进行计算最大连续次数的讨论,优化计算逻辑。那我们今天来看下在Power Query中如何进行计算,和Power Pivot比又如何呢? 案例数据 ?...) 这里需要用到Table.Group的第4参数。...这个表格出来后,计算就比较简单了。 (二) 选择迟到列为1的最大计数次数。...[计数] ) 那如果是这样的表格我们需要如何进行统计呢?...如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
文章背景: 在表缺少主键无法直接创建关系,或者需要借助复杂的计算才能创建主键的情况下,可以利用计算列来设置关系。在基于计算列创建关系时,循环依赖经常发生。...下面先介绍一个示例,然后讲解循环依赖产生的原因,以及如何避免空行依赖。 1 示例2 原因分析3 避免空行依赖 1 示例 有这样一个场景:根据产品的价格列表对产品进行分组。...产品的价格有很多不同的数值,一种常用的做法是将价格划分成不同的区间。例如下图所示的配置表。 现在对价格区间的键值进行反规范化,然后根据这个新的计算列建立一个物理关系。...在我们的例子中,情况是这样的: Sales[PriceRangeKey]依赖PriceRanges表,既因为公式中引用了PriceRanges表(引用依赖),又因为使用了VALUES函数,可能会返回额外的空行...BI 的重要性(https://learn.microsoft.com/zh-cn/power-bi/guidance/star-schema)
在此前的文章中已经给出了 Power BI 使用 DAX 求最大连续元素数的方法。...的序列中,1 连续出现的最大次数。 数据结构 抽象为 DAX 问题以后,得到这样的 DAX 表结构,如下: 现在问题转化为:求 Flag 列连续出现最大的 1 的个数。...算法逻辑 求解该问题的一个非常实用的算法逻辑大致如下: 分成四步: 第一步,初始化,形成带序号的零一交错的表结构。这在 Power BI 的数据模型中是非常容易的。...而整个过程就描述了这个算法,其难点恰恰在于对于一个序列如何给定顺序。 这里就作为练习供爱好者自己复制粘贴测试实践。在《BI 真经》的 Power BI 高级系列中给出了仔细的讲解,这里就不再重复了。...但很明显,这个解法并不是显而易见的,这里的确必须要使用 DAX 中复杂的几个函数来构建一些技巧的。 Power BI DAX 窗口函数解法 这就是一个必须使用 DAX 窗口函数的经典案例。
在一个表述中,如果不包括日期范围,都是一个错误的表述,如果没有日期范围的限定,那就失去了有效的必要信息。 所以,每个 Power BI 报表的每一页,每一个图都必然在一个预先限定的日期范围内。...不论用户如何操作,默认日期区间与自行设置日期区间的综合效果必须符合直觉结果。 ?...那么,以上计算永远会返回日期表的最后一日,是不正确的。...则获得最后一天的默认计算,如下: MAXX( ALL( 'Order'[OrderDate] ) , [OrderDate] ) 其中,'Order'[OrderDate] 为表征业务中可反应最后一日的字段...另外,如果可以通过纯文字表述讲清楚以及读者可以理解清楚,表示您已经可以在脑中构建整个业务逻辑,这是熟练操控 Power BI 建立模型的重要标志。 ?
Power BI很大一部分是用于可视化的展现,如果要设定自定义的主题颜色,通常都是使用json格式的文件来构建,其中json的格式文件以官网样例为例,很简单的几个参数既能构建主要色系。 ?...那如何使用Excel来快速生成主题格式的json文件呢? 要实现这个主题颜色的构建,需要有2个方面的条件。...颜色,需要使用16进制的颜色格式 参数名称,对应Power BI主题内容 如果我们要从Excel单元格颜色直接获取16进制的颜色命名,通常需要使用到VBA,可以自行搜索网上的VBA单元格颜色转16进制的程序...把参数表格导入到Power Query中,此时会有2张表格,1张是一级目录,另外一张是一级目录dataColors对应的颜色列表的表格。 删除不必要的备注等列,得到如下的表格 ?...通过直接复制文本就可以生成主题的Json的文件了。以后如果想要更改主题颜色,只需要更改单元格的颜色即可。 可以查看,原先的Power BI里的颜色色系如下。 ?
领取专属 10元无门槛券
手把手带您无忧上云