前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >DAX驱动可视化:Power BI与Excel的区别

DAX驱动可视化:Power BI与Excel的区别

作者头像
wujunmin
发布2025-02-10 14:25:52
发布2025-02-10 14:25:52
6800
代码可运行
举报
文章被收录于专栏:wujunminwujunmin
运行总次数:0
代码可运行

传统的DAX 用法是生成表、列或者度量值。2023年2月开始,Power BI 内置视觉对象对SVG的支持大幅度提升;2024年4月,李伟坚老师开发了Easyshu(Excel可视化插件)富表格功能。在这样的底层支持下,我们可以在Power BI和Excel使用DAX直接绘制图表

这个示例《Power BI SVG系列工具升级:兼容Excel》大家可以看到,在Power BI和Excel环境生成了相同的图表效果。

这个视频实现了Power BI DAX定义的图表迁移到Excel:

DAX结合SVG制图的角度讲,Power BI和Excel底层原理是相同的,细节略有不同,本文说明一二。

第一,除了DAX,Excel还有一套本界面的公式环境可以结合SVG生成图表,Power BI只有DAX。以下是Excel公式制作的进度条。但是传统公式允许的字符数太少,所以除非图表很简单,否则不建议使用。将数据加载到Power Pivot使用DAX制图是更为通用的选择。

代码语言:javascript
代码运行次数:0
复制
<svg width='150' height='24'>
<rect x='0' y='0' height='24' width='150' fill='lightgrey'/>
<rect x='0' y='0' height='24' width='" & 150 * IF(C2>=1,1,C2) & "' fill='deepskyblue'/>
<text x='148' y='18' text-anchor='end' font-size='15'>"& TEXT(C2,"0%") & "</text>
</svg>

第二,Power BI内置视觉对象(表格、矩阵、新卡片图)加载SVG图表时,SVG代码前需要加上data:image/svg+xml;utf8,才能被识别,Excel不需要。

第三,Power BI内置视觉对象加载SVG图表,代码中需要有命名空间(xmlns字样),Excel不需要。在Power BI绘制一个SVG长方形,公式如下:

代码语言:javascript
代码运行次数:0
复制
Power BI DAX 长方形= "data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg' width='200' height='30'>    <!--公众号:wujunmin-->
    <rect x='0' y='5' height='20' width='200' fill='lightgrey' />
</svg>"

Excel DAX绘制SVG长方形,公式如下:

代码语言:javascript
代码运行次数:0
复制
Excel DAX 长方形:= "
<svg width='200' height='30'>
    <rect x='0' y='5' height='20' width='200' fill='lightgrey' />
</svg>"

大家可以看到二者的区别与联系。如果在Power BI使用第三方视觉对象HTML Content,写法和Excel又是相同的,既不需要data:image/svg+xml;utf8,,也不需要xmlns。

第四,Power BI的SVG图表显示大小受DAX语句和视觉对象参数双重影响,Excel仅受DAX语句影响。例如你在DAX指定图像width height都为1000像素,Power BI表格矩阵图像大小的控制参数目前最大512像素,是显示不了1000像素那么大的。而Excel公式定义多大就显示多大。

第五,如果需要CSS指定SVG样式,Power BI需要将CSS写在SVG里面(内置视觉对象),Excel无论里外都可以。

第六,Excel的DAX图表不局限于SVG,HTML、CSS、JS等前端工具支持度都很好,Power BI目前没有这样的自由度。

DAX在底层建设强大(数据逻辑架构),SVG、HTML为代表的前端工具在展示上强大(逻辑的输出结果),现在二者结合,无论是Power BI还是Excel中都威力无穷。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档