Power BI 卡片图显示不同单位
wujunmin
编辑于 2023年11月19日 16:03
收录于文集
共228篇

如果数据差异非常大,有的上亿,有的只有几百,如何在卡片图更好的显示这样的数据?把数据修正同时带有单位是个不错的办法,比如如果数据超过一亿,除以一亿,末尾加个汉字”亿“。

Power BI推出的动态格式可以解决这一问题,把数据进行如下除法处理,

代码块
JavaScript
自动换行
复制代码

Value_修正 = 
SWITCH (
    TRUE (),
    [Value] >= 100000000, ROUND ( [Value] / 100000000, 1 ),
    [Value] >= 10000000, ROUND ( [Value] / 10000000, 1 ),
    [Value] >= 1000000, ROUND ( [Value] / 1000000, 1 ),
    [Value] >= 10000, ROUND ( [Value] / 10000, 1 ),
    [Value] >= 1000, ROUND ( [Value] / 1000, 1 ),
    ROUND ( [Value], 1 )
)
复制成功

针对该度量值施加动态格式,单位即可按照数据自行切换了。

个方法显示效果欠佳,因为单位和数据是相同格式,且水平对齐,下图进行了优化,单位靠右下角,且字体颜色为灰色,与数据进行了很好的区分。

实现方式是为该卡片设置SVG图标,这需要使用2023年Power BI新推出的卡片图,SVG图标的内容为单位,图标度量值如下:

代码块
JavaScript
自动换行
复制代码

单位图标 = 
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'>
    <text id='wujunmin' x='0' y='46' font-size='24' fill='Grey'>"
    & SWITCH (
        TRUE (),
        [Value] >= 100000000, "亿",
        [Value] >= 10000000, "千万",
        [Value] >= 1000000, "百万",
        [Value] >= 10000, "万",
        [Value] >= 1000, "千",
        "元"
    ) & "
    </text>
</svg>"
复制成功

把该图标度量值如下图放入图像URL,操作即完成。

本方法不仅仅用在卡片图,也可以放在表格矩阵条件格式图标:

这个原理可以进行扩展应用,比如卡片左下角放置币种符号,右上角放置辅助指标。