Power BI自定义业绩达成华夫饼图
2023-04-18 16:23:15 时间
DAX驱动图表设计
华夫饼图可以直观的表现百分比,能够放在表格或矩阵中,也可单独卡片展示。
在Power BI中,使用度量值可以直接生成华夫饼图,并且数据标签带有条件格式。下图示例为矩阵样式,业绩达成大于30%显示绿色否则显示红色。
度量值如下:
迷你华夫饼图 =
VAR t=GENERATESERIES(1,10)//1-10的序列
VAR tPlus=GENERATE(SELECTCOLUMNS(t,"Value1",[Value]),t)//笛卡尔集
VAR tPlusPlus=ADDCOLUMNS(tPlus,"Index",RANKX(tPlus,[Value]+[Value1]/100,,ASC)) //生成1-100的序号
VAR tWaffle=ADDCOLUMNS(tPlusPlus,"circle","<circle cx='"&[Value]*10-5&"' cy='"&[Value1]*10-5 &"' r='4' fill='"&IF([Index]<=ROUND([业绩达成率]*100,0),"Grey","LightGrey")&"' fill-opacity='0.4'/>")//生成100个圆
VAR Chart=
"data:image/svg+xml;utf8,"&"
<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>"&
CONCATENATEX(tWaffle,[circle])&"
<!-- 数据标签 -->
<text x='50' y='50' font-size='25' text-anchor='middle' dominant-baseline='middle' fill='"& IF([业绩达成率]>=0.3,"DarkCyan","Tomato")&"'>"&ROUND([业绩达成率]*100,0)&"%"&"</text>
</svg> "
Return
IF(HASONEVALUE('业绩表'[店铺]),Chart,BLANK())
设置为图像URL并放入矩阵即可正常显示:
原理是生成两个1-10的列表,然后两个列表笛卡尔集生成10*10的方阵,给方阵的每个点排序(1-100),业绩达成大小和序号匹配进行颜色判断。
该度量值也可直接用作卡片图,放入Image这个第三方视觉对象即可:
显示效果如下(进行了一定的格式改变):
以上是一个朴素的版本,还可以花式填充任意图形:
将度量值中的circle替换为image标签,链接网络图片即可填充图案。填充时需要注意使用蒙版将大于业绩达成部分的图案进行一定灰度处理。
"<defs>
<mask id='w' x='0' y='0' width='1' height='1'maskContentUnits='objectBoundingBox'>
<rect x='0' y='0' width='1' height='1' fill='Grey' fill-opacity='0.5'/>
</mask>
</defs>"
实际工作中建议朴素一点就行了,Power BI内置的矩阵也不支持这么复杂的SVG图片显示,需要使用HTML Content视觉对象。
以上示例读图方式均是从左到右,有读者可能问,如何从下到上,例如朴素的下图矩阵:
只需要将100个圆点(或其他图形)用g标签打包,统一给出旋转命令,如下图所示,rotate(-90,50,50)表示以坐标50 50为中心,逆时针旋转90度。
这里需要注意,数据标签并不旋转,所以g标签不要打包text。
相关文章
- 谷歌 Chrome 浏览器的默认播放器将支持调节播放速度
- VMware张振伦 :Hadoop的虚拟化之恋
- 爱了!3 个受欢迎的 U 盘 Linux 发行版
- 在Docker上建立多节点的Hadoop集群
- Fedora Workstation 34 中的新变化
- VMware张振伦:Hadoop的虚拟化之恋
- 如何成为云计算大数据Spark高手?
- 用 Linux 命令玩一个有趣的数学游戏
- 7年12个大版本:Windows 10都更新了些啥?
- 快数据:大数据发展的下一个起点
- 微软 Edge 浏览器整合 Office:一键打开 Word、Excel 和 PowerPoint 文档
- Windows 10更新惹祸 游戏卡顿、掉帧:微软正式回应
- 使用Windows 10操作系统,不知道电脑分辨率怎么调,来看看详细操作
- Windows 10系统电脑,想设置电脑开机密码,如何才能设置开机密码?
- Windows 10系统,最新漏洞补丁不自动更新怎么办?学会这个技巧即可
- 为什么有人把新电脑中的正版Windows 10系统重装为盗版Windows 7系统?
- 快扔掉MapReduce,拥抱Spark吧!
- 21H2确定为五月更新!Windows 10今年首个大更新将至
- Windows 10“太阳谷”大更新将新增 AAC 编码支持,AirPods 听歌音质更好
- Windows 10系统ipv6无访问权限上不了网怎么办