前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用DAX实现降噪加权移动平均

如何用DAX实现降噪加权移动平均

作者头像
BI佐罗
发布2021-11-23 11:13:58
8710
发布2021-11-23 11:13:58
举报
文章被收录于专栏:PowerBI战友联盟PowerBI战友联盟

移动平均,大家都清楚了,但是降噪,加权后再移动平均,将移动平均的能力推向了更高境界。

什么是降噪加权移动平均

对于一堆点,可以通过移动平均观察其趋势,如下:

可以看出:

  • 有些点距离中间区域太远。
  • 移动平均线如果全部考虑所有点,会被拉扯。

对此,我们希望把周围太远的点过滤掉,于是就有了:

通过调节降噪区滑杆,将实现:

  • 周围外侧的点被排除。
  • 移动平均的计算仅仅考虑绿色部分的点。
  • 移动平均也更加平滑。

实现方案

以下给出 DAX 相关计算。

最高值与最低值

代码语言:javascript
复制
MATX.Y.Max = 
MAXX( CALCULATETABLE( VALUES( 'Calendar'[Date] ) , ALL( 'Calendar'[Date] ) )  , [MATX.KPI] )

MATX.Y.Min = 
MINX( CALCULATETABLE( VALUES( 'Calendar'[Date] ) , ALL( 'Calendar'[Date] ) )  , [MATX.KPI] )

对于学习 DAX 的小伙伴,可以好好看看,这里是如何清除筛选并保留外部筛选的技巧。

降噪算法

以下给出非常重要的 DAX 点集降噪算法,如下:

代码语言:javascript
复制

MATX.KPI.By Scope = 

VAR vY = [MATX.KPI] - [MATX.Y.Min]
VAR vL = [MATX.Y.Max] - [MATX.Y.Min]
RETURN
IF( vY >= vL * MIN('Option.X'[Option.X] ) / 100 && vY <= vL * MAX('Option.X'[Option.X] ) / 100 , [MATX.KPI] )

这里的算法原理如下:

  • vL 表示最高和最低之间的跨度。
  • vY 表示相对于最低值的实际距离。
  • 通过滑竿进行判断,给出一个百分比的区间,通过视觉可以直接判断是不是包括在内。
  • 如果 vY 在上述滑竿给出的范围内,则是合理有效,否则就是噪声点,进行排除。

移动平均算法模板

以下给出移动平均的算法模板,如下:

代码语言:javascript
复制

MATX.Value = 
AVERAGEX( 
    DATESINPERIOD( 'Calendar'[Date] , MAX( 'Calendar'[Date] ) , - [Start:Option.Y.Value] , DAY ) ,
    //[MATX.KPI] //
    [MATX.KPI.By Scope] * [MATX.Weight]
)

这是标准的移动平均算法模板,其中:

  • 给出了移动平均的框架。
  • 在计算环节用度量值给出实现一种委托。
  • 将移动平均的实际计算委托给实际的度量值。
  • 其中考虑了权重。

作图技巧

也许你已经完成了上述内容的模仿和抄袭,在作图的时候,考察了你对 PowerBI 图形的理解。这里使用的技巧包括:

  • 只使用了一个折线图。
  • 灵活的运用了:
    • 只显示点,不显示折线。
    • 只显示折线,不显示点。

总结

如果你具有复杂而真实的业务数据,有很多时候是有实际干扰的,例如:活动,促销以及客户导入等操作,通过本案例的降噪加权移动平均,可以比移动平均更加巧妙地计算多个点的实际趋势。

大家可以自己动手试试了。

现在大家可以自己体验了。

在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,除了可以下载本文案例,还可以观看视频讲解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI战友联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是降噪加权移动平均
  • 实现方案
    • 最高值与最低值
      • 降噪算法
        • 移动平均算法模板
          • 作图技巧
          • 总结
          相关产品与服务
          腾讯云 BI
          腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档