Power BI内置的表格矩阵可以使用条件格式中的数据条模拟条形图,如下图所示:
这种操作方式的核心缺点是条形高度无法调整。遗憾的是,数据条无法自定义(希望未来微软能够改善),但是条件格式图标可以使用度量值嵌套SVG矢量图自定义,以下是自定义的条件格式图标。
以下是完整度量值,把度量值放入条件格式图标即可正常显示:
SVG表格条形图 =
VAR MinNegative =
MINX ( FILTER ( ALLSELECTED ( '店铺信息'[店铺名称] ), [增长率] < 0 ), [增长率] )
VAR MaxPositive =
MAXX ( FILTER ( ALLSELECTED ( '店铺信息'[店铺名称] ), [增长率] >= 0 ), [增长率] )
VAR Max_Width = MaxPositive - MinNegative
VAR SVG ="
data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
<rect x='"
& IF (
[增长率] < 0,
100 - 100 * ( MaxPositive - [增长率] ) / Max_Width,
100 * ABS ( MinNegative ) / Max_Width
) & "' y='20' width='"
& 100 * ABS ( [增长率] ) / Max_Width & "' height='60' fill='"
& IF ( [增长率] >= 0, "DarkCyan", "Tomato" ) & "'/>
<line x1='"
& IF ( MaxPositive = BLANK (), 100, 100 * ABS ( MinNegative ) / Max_Width ) & "' y1='0' x2='"
& IF ( MaxPositive = BLANK (), 100, 100 * ABS ( MinNegative ) / Max_Width ) & "' y2='100' stroke='black' stroke-width='3'/>
</svg>"
RETURN
SVG
设置方式如下图所示,度量值中的增长率替换为你模型中的指标可以复用。
除了用在条件格式,度量值也可直接放入表格当作迷你图,形状也可自定义,比方变为大头针。
这种操作方式有趣的一点是,看上去图表穿透了表格的行,使得上下融为一体。前期介绍的表格纵向折线图也是这个效果。目前Power BI的条件格式图标仅支持正方形样式,使得显示效果不能最优,本文的方法算是夹缝中求突破。
所谓一通百通,度量值也可不用在表格中,略微修改后使用HTML Content放大显示: