这是自定义条件格式系列的第五篇,前面四篇:
通过前面四篇大家可能已经发现,理论上,表格、矩阵的条件格式可以是任意样式的图形,或者伪装成图形的任意文本。本篇继续深入应用DAX+SVG自定义条件格式,讲解的主题是百分比。
下图是Power BI内置的条件格式,左侧是数据条,右侧是图标。数据条的特点是,条形可以随着数据大小变化;图标的特点是,图标可以随着数据的变化而改变样式。
能不能实现图标不变化样式,只变化大小?内置的图标是无法实现的。我们可以使用DAX嵌入SVG图片的方式实现这种图标大小联动,例如下图中的气泡效果、环形图效果和华夫饼图效果。
气泡的度量值如下,使用DAX定义了一个圆,圆的半径随着业绩达成变化而变化,颜色也根据是否达成进行划分。
气泡 =
VAR MAXR =
MAXX ( ALL ( '表' ), [业绩达成] )
RETURN
"data:image/svg+xml;utf8," & "
<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
<circle cx='50' cy='50' r='"
& 50
* SQRT ( [业绩达成] / MAXR ) & "' fill='"
& IF ( [业绩达成] >= 1, "DarkCyan", "Tomato" ) & "'/>
</svg> "
在表格或矩阵中对业绩达成应用气泡图标度量值,即可实现上图的效果。
环形图和华夫饼图度量值前期在以下文章中介绍过,大家可以直接拿来应用到条件格式: