网上看到一种卡片图结构,展示成交率数据及影响成交率的因子:
来源:https://seantheme.com/color-admin/admin/html/index_v3.html
我在Power BI使用新卡片图进行了大致模拟(有一定程度简化与调整),如下图所示:
卡片图由三个部分组成:主数据(成交笔数),成交笔数的折线趋势和影响成交笔数的三个指标。
首先,将成交笔数度量值放入新卡片图视觉对象,文本左对齐:
接着,图像区域插入SVG折线图,位置位于右侧:
折线图度量值如下,将度量值中的[指标]替换为你的指标即可复用。如对SVG制作图表感兴趣可以参考《Power BI SVG制图入门知识》或者加入我的知识星球深入学习。
折线图 =
VAR XMinDate =
MINX ( ALLSELECTED ( '日期表'[Date] ), '日期表'[Date] )
VAR XMaxDate =
MAXX ( ALLSELECTED ( '日期表'[Date] ), '日期表'[Date] )
VAR MaxWidth = 150
VAR MaxHeight = 60
VAR Space_X = MaxWidth * 0.1
VAR Space_Y = MaxHeight * 0.1
VAR Mark_r = MaxWidth / 30
VAR Line_stroke = 3
VAR YMinValue =
MINX ( ALLSELECTED ( '日期表'[Date] ), [指标] )
VAR YMaxValue =
MAXX ( ALLSELECTED ( '日期表'[Date] ), [指标] )
VAR SVG_Table =
ADDCOLUMNS (
'日期表',
"X",
MaxWidth
* DIVIDE ( [Date] - XMinDate, XMaxDate - XMinDate ),
"Y",
MaxHeight
* DIVIDE ( [指标] - YMinValue, YMaxValue - YMinValue ),
"MarkColor",
IF ( [指标] = YMinValue, "Tomato", IF ( [指标] = YMaxValue, "DarkCyan", BLANK () ) )
)
VAR Lines =
CONCATENATEX ( SVG_Table, [X] & "," & MaxHeight - [Y], " ", [Date] )
VAR Marks =
CONCATENATEX (
FILTER ( SVG_Table, [MarkColor] <> BLANK () ),
"<circle cx='" & [X] & "' cy='" & MaxHeight - [Y] & "' r='" & Mark_r & "' fill='" & [MarkColor] & "'/>"
)
VAR SVGChart =
"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'
x='0' y='0' width='" & MaxWidth & "' height='" & MaxHeight & "'
viewBox='" & - Space_X & " " & - Space_Y & " " & MaxWidth + Space_X * 2 & " " & MaxHeight + Space_Y * 2 & "'><!--微信公众号、知乎:wujunmin-->
<polyline fill='none' stroke='LightGrey' stroke-width='" & Line_stroke & "' points='" & Lines & "'/>" &
Marks & "
</svg>"
RETURN
SVGChart
最后,引用标签加入三个过程指标:
指标名称前方手动加入圆点符号:
完工。更多的效果及视频讲解在我的知识星球分享: