dax powerbi 生成表函数_日趋势分析这些指标肯定能用得着!#POWER BI# No.009

本文介绍如何在 Power BI 中利用 DAX 动态计算所选日期区间内的销售额、利润额、订单数和销售数量的平均值、最大值及移动平均值。通过实例演示了度量值的创建和图表展示,包括使用 MAXX、AVERAGEX 和 DATESINPERIOD 函数,并展示了如何突出显示最大值和设置移动平均线。
摘要由CSDN通过智能技术生成
d9f452f61dfd08fc66048d7881f0211f.png 小伙伴们大家好,今天我们来研究一下如何用 Power BI 动态求所选日期区间内的平均值,最大值以及移动平均值。 我们来看看效果演示:  4237c4eab03c712f4b30bb96f55e3a0a.gif 通过选择不同的指标名称实现了图表的指标切换,指标名称包括:销售额、利润额、订单数、销售数量。 使用滑块选择不同的日期区间,图表中自动标记该日期区间内指标的最大值和平均线。 输入移动平均天数,移动平均曲线自动根据设置的移动平均天数计算每日的移动平均值。 模型结构如下: 37193d5c02be67b2694583f630b8abf1.png 1个事实表:【F01-订单明细】   1个维度表:【D04-日期表】   维度表与事实表之间创建一对多的关系。 关于动态指标的切换在之前的文章中有涉及到,此处不再赘述,感兴趣的小伙伴可以去看看往期分享: 原来DAX函数是全动态图表实现的幕后英雄 #POWER BI# No.006 这里把动态指标的DAX公式分享给大家:
动态指标 =
SWITCH (
    SELECTEDVALUE ( 'FZ02_指标切换'[Name] ),"Sales", [销售总额],"Profit", [利润总额],"Order", [订单总数],"Quantity", [销售数量],
    [销售总额]
)
接下来求最大值,度量值写法如下:
动态指标_最大值_日 =
MAXX (
    ALLSELECTED ( 'D04-日期表' ),
    [动态指标]
)
MAXX 是一个迭代函数,扫描当前所选日期的每一行所对应的 [动态指标] 值,然后求这些值中的最大值。ALLSELECTED 函数可以获取当前外部筛选器选择的日期。 平均值的度量值写法如下:
动态指标_平均值_日 =
AVERAGEX (
    ALLSELECTED ( 'D04-日期表'),
    [动态指标]
)
AVERAGEX 是一个迭代函数,扫描当前所选日期的每一行所对应的 [动态指标] 值,然后对这些值求平均。 移动平均值的度量值写法如下:
动态指标_移动平均_N日 = VAR datefilter =
    DATESINPERIOD ( 'D04-日期表'[日期], 
        MIN ( 'D04-日期表'[日期] ), 
        - [参数_移动平均天数 值], 
        DAY 
        )RETURN
        AVERAGEX ( datefilter, [动态指标] ) 
VAR 用来存储中间常量,从而简化代码。有VAR 后面自然要使用RETURN 来返回值,它们是成对出现的。 [参数_移动平均天数 值]是什么呢? 这是我们设置的参数,参数设置方法参见动图演示: 9b42967720ada4fa69a97206769ebc69.gif 我们可以给参数设置一个默认值,同时勾选 [将切片器添加到此页] 就可以自动生成一个日期区间的切片器了。 新建参数后会自动创建一个参数表,表中会自动出现一个度量值来计算当前切片器选择的值,如下图所示: 5d846e2b3632e6cc39421b4a74c232d4.png DATESINPERIOD函数语法如下: efe18290c98735f9ce5ef5096979c1bb.png 假设 [参数_移动平均天数 值] 等于7,DATESINPERIOD函数所对应的公式含义为: 从当前日期点-7+1天 开始,到当前日期点为止的这一段时间。 假如当前日期点为2020年6月20日,那么DATESINPERIOD函数所对应的公式将生成一个日期表,如下图所示: a0f54f31728e5799ec47234950b36ced.png 然后用AVERAGEX函数计算这些日期对应的 [动态指标] 值的平均值。这样就求出了该日期点的7日移动平均值。 度量值都写好了,接下来就要创建图表了,图表结构如下: d87011f2140358acff06db47066a652c.png 如何在图表中突出显示最大值呢?这里也少不了DAX公式:
动态指标_最大值_日_颜色区分 =
IF (
    [动态指标] = [动态指标_最大值_日],1,0
)
公式含义:如果当前日期的 [动态指标] 值等于所选日期区间内动态指标的最大值,则返回1,否则返回0。 有了这个度量值,如何设置柱形图的颜色呢?具体操作参见动图演示: f4ce16bb6d1288a6baa176f4c2c8c583.gif 这里使用规则分别对DAX公式生成的值进行着色即可。 好了,今天的分享就到这里,我们下期再见! 关联阅读: 先来欣赏这个「九宫格KPI看板」吧 #POWER BI# No.001 重磅来袭!弹出式切片器面板制作过程大揭秘 #POWER BI# No.002 动态筛选有提示,多选也能一个不漏全显示 #POWER BI# No.003 没有对比的数据是没有灵魂的数据,差异突显迫在眉睫 #POWER BI# No.004 一起来欣赏这个【全动态多分类小多趋势图】吧!#POWER BI# No.005 原来DAX函数是全动态图表实现的幕后英雄 #POWER BI# No.006 继续让DAX函数发挥它的威力吧!#POWER BI# No.007 【全动态多分类小多趋势图】最后一波揭秘!#POWER BI# No.008
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值