前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Power BI 子弹图:实际与预算对比

Power BI 子弹图:实际与预算对比

作者头像
wujunmin
发布2021-11-26 11:11:36
1.6K0
发布2021-11-26 11:11:36
举报
文章被收录于专栏:wujunmin

子弹图,常用来实际值和预算值对比,Power BI图表市场有第三方厂商提供的多种样式,功能也非常丰富。

比如xViz的,实际值、预算值、同期值都可以显示:

这些个子弹图有个共同的问题:太复杂了,不够直观。元素太多,需要一个个看图例才能理解是什么意思。

子弹图剥离外壳,核心是:实际值用条形图画,再给目标值画个线。如下图所示:

这种效果在Power BI只用一个度量值就可以完成。比第三方图表先进的是,类别标签可以加上条件格式,红色表示未达成目标,青色表示达成,一目了然。

演示数据源格式为:

图表度量值:

代码语言:javascript
复制
子弹图 = 
VAR StoreCount =
    DISTINCTCOUNT ( '表'[店铺] )
VAR MaxSales =
    MAXX ( VALUES ( '表'[店铺]), [实际])
VAR MAXTarget= 
    MAXX ( VALUES ( '表'[店铺]), [目标])
VAR MAXValue=MAX(MaxSales,MAXTarget)
VAR BarTable =
    ADDCOLUMNS (
        SUMMARIZE (
'表',
'表'[店铺],
"索引", RANKX ( ALLSELECTED ( '表' ), [实际],,, DENSE )
        ),
"Rect",
"<rect rx='3' x='20' y='" & ( [索引] - 1 ) * 20 & "' width='" & 100*[实际]/ MAXValue & "' height='10' fill='DarkCyan' />",
"Text",
"<text x='18' y='"
                & ( [索引] - 1 ) * 20
                    + 7 & "'  text-anchor='End' font-size='6' fill='"&IF([业绩达成率]>=1,"DarkCyan","Tomato")&" '>" & [店铺]& "</text>",
"Label",
"<text x='"&21+100*[实际]/MAXValue&"' y='"
                & ( [索引] - 1 ) * 20
                    + 7 & "'  text-anchor='left' font-size='6' >"
                & ROUND ( [实际]/10000, 0 ) & "</text>",
"Rect_Target",
"<rect  x='"& 20+100*[目标]/ MAXValue&"' y='" & ( [索引] - 1 ) * 20 & "' width='0.5' height='10' fill='Tomato' />"
    )

VAR Bar =
    CONCATENATEX ( BarTable, [Rect] & [Text]&[Label]&[Rect_Target] )
VAR SVG = "<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 141 "&20*StoreCount &"' >" & Bar & "</svg>"
RETURN
    SVG

度量值放入image或者HTML content显示。原理是用DAX改造SVG图形,text标签用作显示类别和数据,填充fill使用IF语句按照指标达成率切换颜色;条形用rect构造;目标线可以用line构造,此处还是用的rect,只不过细了点,看上去像一条线。

如果你觉得太简陋,可以不停的加rect,加个rect去年对比,加个rect前年对比,无穷尽,加到超过xViz那种地步。

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

本文分享自 wujunmin 微信公众号,前往查看

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

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

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