DATEADD函数,不同的是最后一个参数更换为month.上月是对比月份滚动计算的。...新建本期销售业绩YTD度量值,输入函数:本期销售业绩YTD=TOTALYTD([本期销售业绩],'日期表'[日期]) 公式解析:TOTALYTD函数根据当前上下文计算从年初到当前的累计值,第一参数为计算度量...当然也有部分企业财年和自然年并不重合,所以可以使用第四个参数指定财年的最后日期。在PowerBI中还有一个类似的函数TOTALMTD用来计算月度累计值。 ?...按照下图添加相应的值 ? 切换到格式选项卡,选择类型为sum ? 在格式中我们可以设置完成业绩的为绿色,为完成为红色 ?...所以这里需要设置聚合类型为区去最后的值。设置完成后再根据年月进行排序。 ? 4、制作销售业绩完成率图表 PowerBI对表格的操作非常灵活,这里我们就已同比环比为例,首先拖放相应字段到表格 ?
文章背景: 在进行商业数据分析时,经常需要给不同的度量值(如销售额、销量等)计算同比、环比、YTD(年初至今)等指标,如果给每个指标都写一个以上的时间智能函数,那么会写很多重复的度量值,这些度量值的唯一不同就在于引用的基础度量值...比如:上月业绩 = CALCULATE([销售业绩],DATEADD('日期表'[日期],-1,MONTH))。 如果需要统计更多度量值的上月情况,只需替换[销售业绩]这个度量值就行了。...(3)点击该图标,进入Tabular Editor 3的界面。 (4)点击上图中的图标,选择已经打开的PowerBI 文件。...注意:PowerBI desktop必须提前打开;PowerBI desktop必须已经有一个数据模型而不能是空的。 选择,并点击OK后,进入如下界面。...按照下图拖拽出需要的矩阵图,效果如下: 对于矩阵的值,这里只放置了一个度量值(人均销售额)。而计算组按照事先定义的两个计算逻辑(环比和同比)进行了计算。
要强调的是:在PowerBI中实现RFM模型,可以充分利用DAX计算的动态性,根据用户的选择实时做出计算,这与完全交给IT计算或在纯Excel中计算都不同。...R算法的动态性 R在RFM中表示最近的购买指标,到底怎么算最近呢,我们可以用若干个月来界定,也可以用其他的日期计算方式来界定,这个地方就是用来给出这种可能性,让我们知道我们不会被限制,我们来看看不同指定方式的效果差异...设计的巧妙之处 确实出现了非常细心的战友伙伴,问道,如果一个人没有销售记录,出现空值,如何处理?在计算整体平均时,是否考虑出现空值的客户?...由于核心的业务逻辑框架改用了老客户版本,那么当前日期区间必然存在购买记录,否则就不是老客户了。而对于不是老客户的人,其RFM得分也是空。...最巧妙地计算就在于整体平均计算会忽略这些空值,使得整个计算结果是合理有效的。 这种巧妙地设计要精通DAX的每个细节,因为这些计算上的巧合使得整个模型多一寸嫌多,少一寸嫌少,刚刚好的感觉很棒。
在 PowerBI 中如果构造一个单日期的选择器: ? 上述案例反应了用户选择了一个日期,然后所有的数据计算以该日期为基准,只显示最近 X 天的,X 由滑竿切片器给定。...如图所示,默认情况下 PowerBI 无法让人选择单个日期,但在现实中,这个需求非常常见,现在来实现之。...但问题是,每个原有的 KPI 都需要针对日期选择框写一个 ByDatePicker 版的 KPI,这违反了 DRY 原则。也是我们不能接受的,为此,我们来考虑一个优化方案。...这里采用的方法是:度量值用做筛选器。 这是 PowerBI 的一个重要特性,可以用度量值作为筛选器。下面给出其实现。...总结 本文从零构建了单日期选择器并给出了很有效的案例来将此应用通用化。 有些 PowerBI 自身的原生功能,经过一定改良就可以实现不错的效果哦,本文只是一个开始。
,我们新创建可视化展示的页面,创建一个新表存储后续展示的度量值,具体操作如下: 经过以上步骤的操作可以在"字段"区域看到对应的新建的"度量值表",后续在各个场景中使用时需要选中该"度量值表"后再新建...DIVIDE函数的用法如下: DIVIDE(分子,分母,[分母为零或空时返回的值,默认为空值]) 复制 下面通过DIVIDE函数来统计"2022年点播订单表"中成交订单均价(使用总营收金额/总订单数)...完成以上需求首先创建"年累计营收"度量值,并输入度量值DAX公式:年累计营收 = TOTALYTD('度量值表'[总营收金额],'动态日期表'[Date]) 在"报表"视图中创建创建可视化"矩阵",在动态日期表中依次选择...在资料中找到"2021~2022年工资表"导入到PowerBI中并修改对应的日期格式,如下图所示: 下面我们分别在PowerBI中针对"2021~2022年工资表"数据统计工资月同比增长率与工资月环比增长率..."中年月列的格式为非层次结构。
一家门店装修完成,就可以择日开张营业,营业第一天就是开店日期。也有些店在正式开张前,会试营业一段时间,然后选择吉日,做正式的开业庆典。...门店不产生销售的日期,就作为撤店日期。门店在系统中的状态,就根据这几个阶段,分为装修中、营业中、重装中、撤店。计算门店数时,就要根据以上这些字段确定。...当门店的开业时间小于等于当前期间的最大值,并且处于经营状态(撤店日期为空)或者已撤店但撤店日期大于当前期间的最大值(即当前期间还未撤),那么该店在当前期间为有效经营门店。...第 2 行的 IF 条件限制该度量值只在年初的期间内显示,其它时期不显示。...最后用总门店数减去重装中门店数得到营业门店数。 示意如下: 标记法 以上是通过开业日期、撤店日期、装修开始及结束日期来确定门店数的方法。
问题重述 PowerBI 提供了自动化的报表,每天都会更新。问题是如何保持报告每天都被默认选择为当天?...日期列表筛选器 日期的相对性问题,只是问题之一,另一个问题是,如果使用日期表作为筛选器,如下: 这种效果有时候是用户一定需要的,选择一个具体的日期点,但问题来了两个: 该切片器不会随着数据的更新而自动选择最后更新的日期...第二条,切片器应随着数据的更新而自动选择最后更新的日期。 第三条,切片器应只显示有事实数据的日期供用户选择。 这里的入手点是:切片器应随着数据的更新而自动选择最后更新的日期。...通过观察,很快发现 PowerBI 的切片器是不会自动选择某个选项的,至少这绝不会由数据更新而触发,那么,就必须要确保切片器默认选择的选项永远都必须是合理的,例如:假设报告最后刷新日期是 2020.06.27...) 该度量值用来判断如果是报告最后晒新日期以内的,用 1 表示,否则标记为无效,用 0 表示。
[1240] 白茶最近思考了一下,就是CALCULATE函数,为什么它是最灵活的,也是使用频率最高的函数?...[strip] 将数据导入PowerBI中,进行常规操作,建立日期表、建模定关系。...编写代码如下: 月末库存余额= CALCULATE(SUM('表'[求和项]),LASTDATE('表'[DATE])//这里要替换成自己的数据 如图: [1240] 这个怎么说呢,LASTDATE的判定是返回最后一个非空白日期.../替换成自己的数据 结果如下: [1240] 相对于上一个代码,虽然在矩阵中没有任何变化,但是在表中体现的很直接,判定范围为有数据的最大日期,这样是不是更稳妥一点呢?...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
最典型的案例莫过于我们发布的【ABC动态分析精悍版】,只要两个度量值就完成动态ABC分析。在很多教程中,动态 ABC 分析是最后的压轴案例,但在这里ABC分析是最简单的模型。...最近一次消费:最近一次消费意指上一次购买的时候,顾客上一次是几时来店里、上一次根据哪本邮购目录购买东西、什么时候买的车,或在你的超市买早餐最近的一次是什么时候。...RFM 分群 在实际操作中,可以定义: R: 一段时间内,客户最近一次交易日期,与时间段终点越近越好 F: 一段时间内,客户交易的次数,次数越多越好 M: 一段时间内,客户的交易度量(如: 金额,利润,...PowerBI RFM 1.X ? 在 2018.4 我们发布了第一个基于 PowerBI 的 RFM 模型。...钻通到原子数据 在对一个客户实施行动前,可以最后看到他的明细,然后再做最后定夺。如下: ? 这里的【激活客户】可以通过 URL 的方式产生具体的响应。
可以看到,这果然不是业务人员应该会的东西。这是罗叔在等待的一个 PowerBI 自行成闭环的最后一个不完整特性。同时,这个特性的官方支持导致那些任何技巧都荡然无存。...这个指标的跳转URL是可以根据值来通过 DAX 来指定的,例如: URL = "http://www.excel120.com/KPI分析" & "?KPI=" & [KPI.Auto] ?...罗叔来给你三大启发: 根据度量值跳转到不同报告 可以在 PowerBI 中实现文章编排化 还可以动态控制是否跳转 详细应用会在后面的文章单独介绍。...值得一提的是:该特性是由非 PowerBI 团队的来自 PowerBI 社区的成员提供的,原文如下: Contributors are members of the Power BI community...MAXX( { MAX( 'Model_Order'[订单日期] ) , MAX( 'Model_Order'[发货日期] ) } , [Value] ) // 根据实际修改 // 生成日期表,以下内容无需修改
很多 Power BI 和 DAX 的初学者常犯一个错误,那就是: 企图用一个图的简单默认设置或一个度量值的简单编写就实现在其大脑中模糊的需求。...而多个日期的指数,应该以最后一个指数不为空的日期的指数为准。 所以,这个基础计算已经不是求和的简单聚合模式,而是要考虑元素和日期两个维度来进行计算保护得到正确结果。...图例的排序 图例的元素排序,希望根据最后一个日期的指数进行,在已经制作的图例表中,只要设置按序排列即可,如下: ? 默认显示 这样,就有了默认显示,如下: ?...由于用户未作任何选择,根据默认度量值的计算,只会默认显示前 10 名的图例的系列。 60个系列的显示 由于可以点击图例的元素,就可以通过点击图例来控制显示,如下: ?...用户此时可以选择更多,如下: ? 此时出现问题:用户选择超过了15个,但系列并未增多,这就是一个 BUG。 解决的方法是:设置系列为显示无数据的项目。结果如下: ? 该 BUG 就解决了。
[1240] 最近事情比较多,学习的速度也慢了下来,惭愧。 白茶对近一个月所学的DAX进行了一次梳理,做出了一个动态多维度的帕累托图,效果如下。...[1240] [1240] 这样就得到了符合我们心里预期的大致效果,具体的细节根据个人喜好去调整,这里就不赘述了。如果对销售日期不满意,也可以利用相关函数生成自己的日期表。...[1240] 点击输入数据,确定自己的表名,在列值中分别输入销售金额,利润,结果如下: [1240] 接下来,输入代码,将没有关系的维度与度量值建立关系。...结果如下: [1240] 我们会发现似乎有些地方不对劲啊,有一些商品在2017年这个维度上是没有消费的啊,不应该进行累计的啊!简单,记得白茶之前提到过的筛选空值么?优化我们的代码。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
自参考日期开始的百分比变化 在 Tableau 中,利用表计算,可以计算从任意值开始的百分比变化。假设您对某个股票组合感兴趣,并且想评估它们从某个时间点开始的相对表现。...为此,需要设置一个“投资日期”,并将这些股票标准化到同一个时间点,用线条显示百分比变化。可使用滑块调整参考日期。...效果如下: 首先构造了一个坐标轴,然后根据当前坐标轴位置来计算,PowerBI DAX 表达式为: 小结: PowerBI DAX 计算可以非常容易地实现效果。...这等于开案日的案例数 + 新开案例数 + 重开案例数 – 已结案例数。 表面看来,这是简单计算。但是,每日开案数量是根据上一个结案日推算的,后者又是根据当日开案数量推算的。这形成了计算的循环引用。...因此,我们可以对 PowerBI 的报表计算能力有一个更准确的把握: PowerBI 报表层没有完备的组件系统,表现在:很多设置是无法在报表上进行的,例如:无法按某度量值设置图中恒线,无法统一分组可视化元素并按整体显示等
[1240] 最近在和一位小伙伴沟通的时候,遇到一个特殊的需求: BOSS年龄大了,看不懂可视化插件,就希望能有一个表格,简简单单就行,但是需要让表格自动标记颜色。 白茶当时一合计,这不就是热力图么?...将其导入到PowerBI中,建立日期表: 日期表 = GENERATE ( CALENDARAUTO (), VAR DA = [Date] VAR YEAR =...", [动态数据] = [动态最大值], "#0099FF", BLANK () ) [1240] 选择动态数据,点击条件格式,选择背景色; [1240] 选择字段值,选择刚才写好的度量值...[1240] 这样就完成了表格的配色,自动标注最大值,最小值,对各阶段的值进行不同配色。 当然,也可以根据个人喜好,调整自己喜欢的颜色。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
通常情况下使用在“计算列”之中,如果度量值中添加了存储的虚拟表,涉及到跳出上下文时,也可以使用这两个函数。 用途:在计算列中获取当前行上下文的值。...1,没有比1还小的数值,因此FILTER函数的结果为空表; 5、COUNTROWS函数统计空表值为0,因此第一行根据数据排名为第1。...例子2:根据“日期值”添加列排名。...,唯一的区别就是前者只能指定一个外部行上下文,除此之外别无区别。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
SQL语句是对数据库的查询,它分成5个阶段: 选择基础表,如:产品表,订单表,地点表,日期表。 建立关系,如:左外连接或笛卡儿积等。 选择列 分组 组内汇总 返回这个查询结果。...) , “聚合语义名” , [度量值] ) 其中,SUMMARIZE 完成等价于 SQL 的第三步及第四部,选择列及分组。...复杂矩阵制作套路 现在可以来说明这种几乎没有规律的超级复杂矩阵的制作套路了,根据之前的分析,这个套路分成三个阶段: 动态计算阶段:标题,行,值,汇总的计算。 格式设置阶段:值格式,文字颜色等。...构造计算,本例中,使用 DAX 动态完成在行列交叉处的计算: 这是最核心的步骤,这里采用Excel120此前提出的非侵入式设计模式,动态计算出行列交叉处的值。以示例文件为准。...2019年,我们将和Excel120的战友们继续深入研究PowerBI的更多可能性。最后,如果PowerBI可以制作一个最复杂的图,那几乎可以确定,就是:本图。
图片 最近在群里,小伙伴提出了一个有意思的算法逻辑,决定分享给大家。...先来看看本期的案例数据: 图片 如图,数据相对而言比较简单,小伙伴的具体需求如下: 1.用每月最早日期的数据,减去上月最晚日期的数据; 2.如果为最早月份,则上月数据为0; 3.数据如果出现断档,则当月减之前最近月份的最晚日期数据...从实际业务的角度出发,我们日常打交道最多的模块,就是财务模块了。而针对不同的行业,每个财务模块对于一些业务逻辑的定义和算法,都是有区别。 根据小伙伴提出的需求,我们将其导入到PowerBI中。...利用TOPN函数,获取小于当前年月所有日期中的最大日期; 4.变量LastMonthMaxDateValue利用CALCULATE函数重置上下文,计算距今最近区间最大日期的数据。...的组合,计算每月最小日期的当期值,即当月期初; 3.结果输出,简单的逻辑判定是否数据存在为空的情况。
朋友的困扰 但是老板的需求要是这么简单就好了,老板希望可以根据订单日期进行筛选,但是现在的这个方法,订单日期的筛选完全无效。...应了佐罗老师的一句名言:DAX 驱动可视化,非侵入式的模型设计。现在且听我娓娓道来。...之后就得到了下表: 表达式详解 准备已成,那我们就可以构建 DAX 表达式了,分组仅用一个度量值,表达式如下: 分组方式 = VAR CurrentItem = SELECTEDVALUE (...( VALUES ( '订单'[产品ID] ), "平均销售额", CALCULATE ( AVERAGE ( '订单'[销售额] ) ) ) 最后要统计出属于该分组的一个子集...总结 最近都在写分组,但是分组却是工作中最常用的场景。战友们如果有工作中遇到的有趣的分组需求,欢迎在留言区留言,我们再交流,寻找模型驱动可视化的边界。
每篇文章可能会以及此前的文章,并重点解决某类痛点,最后给出一个综合的标准实现。...处理复杂的日期筛选 当您使用度量值的时候,要非常清楚这个度量值受到三套日期结构的筛选(如上图)。...为此,在构建一个重要的度量值PX(上期)时,我们的精妙处理是这样的: KPI.PX = VAR vPeriodType = SELECTEDVALUE( DatesPeriod[区间类型] ) RETURN...但我们可以给出一个结论:使用CALCULATE可以构建任意复杂的筛选结构。这样,我们就有了正确计算PX的度量值。...PowerBI 的筛选控制 如果您亲自实践,会遇到奇怪的问题,我们简单解释一下您可能遇到的问题以及如何处理: 很明显,上图中红色的筛选是一个整体;黄色的筛选是一个整体。
结果如图: [1240] 这里可以调整一下度量值的格式。...利用MIN选取最小值,利用FILTER筛选出没有销售额的日期,最后使用CALCULATE进行封装。第一步结束。 [strip] 接下来的内容回归本次的题目,变量。...在这种写法中,日期这一列与后面的条件取交集,只有四个选项符合要求,其他的返回结果是空,所以最后得出来的结果就是6.2+11.2=17.4和9.2+13.2=22.4。...[1240] 而第二种写法中,VAR将第一日期转化为了一个固定的值,类似于1.2.3这种的,那么日期这一列的筛选条件是<=10.6和<=10.9,那么得出来的结果自然而然就是我们所需要的累计花费了。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]
领取专属 10元无门槛券
手把手带您无忧上云