一个店铺的一个指标数值通常没有价值,价值在比较中产生。我们常常通过指标排名来发现店铺优劣势。在表格中,一个指标一列,10个指标则新建10列进行排名。
你可能会加点条件格式突出显示排名靠前或者靠后的指标。
这样的操作无可厚非,但是,零售店铺的指标众多,随便一数可能上百个。比如和人相关的进店率、客流数、成交率、连带率(客单量)、客单价,和货相关的销售折扣、库存周转天数、售罄率、品类销存占比、齐码率等等。
这种情况下使用表格不够直观。传统的图表容纳的指标比表格还有限,无法一个图表全局展示。因此,笔者在Power BI中制造了一种大王图(像王字型)试图解决此问题(不知道市面上有没有类似的,如有欢迎读者告知),如下图所示。
放大一些:
该图表在“单元格”中可以纵向罗列多个指标的排名,图表解读如下:
- 圆圈越往左表示排名越靠前;
- 中间的虚线为50%分割线(可自定义);
- 排名在前50%时圆圈显示绿色,否则显示红色;
- 右侧为排名数据标签
该图表可在表格或矩阵中作为迷你图使用,也可作为单独图表独立使用。红绿灯的多少可以看作热力图,例如嘉兴这家店全部红灯。
金华这家店客单价排名很高,很可能是销售高单价产品,客单量很低,加强连带销售的话业绩会更上一层楼。
图表度量值如下,需标记为图像URL,解释说明见注释。
代码语言:javascript复制排名图表 =
//定义不同指标的排名
VAR Store_Qty=CALCULATE(DISTINCTCOUNT('店铺资料'[店铺编号]),ALL('店铺资料'))
VAR Rank_Yeji=RANKX(ALL('店铺资料'),[业绩])
VAR Rank_YejiDacheng=RANKX(ALL('店铺资料'),[业绩完成率])
VAR Rank_Chengjiaobishu=RANKX(ALL('店铺资料'),[销售笔数])
VAR Rank_Kedanliang=RANKX(ALL('店铺资料'),[客单量])
VAR Rank_Kedanjia=RANKX(ALL('店铺资料'),[客单价])
Return
"data:image/svg xml;utf8,"&"
<svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'>
<!--text标签为指标名称-->
<text fill='black' text-anchor='Right' dominant-baseline='Middle' font-size='15'>
<tspan x='15' y='15'>业绩</tspan>
<tspan x='0' y='45'>完成率</tspan>
<tspan x='15' y='75'>笔数</tspan>
<tspan x='0' y='105'>客单量</tspan>
<tspan x='0' y='135'>客单价</tspan>
</text>
<!--5个指标画5条横线和1条竖线,竖线为虚线,用来区分排名前50%和后50%-->
<line x1='50' y1='15' x2='130' y2='15' style='stroke:rgb(0,0,0);stroke-width:2' />
<line x1='50' y1='45' x2='130' y2='45' style='stroke:rgb(0,0,0);stroke-width:2' />
<line x1='50' y1='75' x2='130' y2='75' style='stroke:rgb(0,0,0);stroke-width:2' />
<line x1='50' y1='105' x2='130' y2='105' style='stroke:rgb(0,0,0);stroke-width:2' />
<line x1='50' y1='135' x2='130' y2='135' style='stroke:rgb(0,0,0);stroke-width:2' />
<line x1='90' y1='15' x2='90' y2='135' style='stroke:rgb(0,0,0);stroke-width:2; stroke-dasharray: 2 2' />
<!--5个指标画5个圈,并依据排名在前50%还是后50%条件格式颜色-->
<circle cx='"&50 (Rank_Yeji-1)/(Store_Qty-1)*80&"' cy='15' r='5' fill='"&IF(Rank_Yeji/Store_Qty<=0.5,"Green","Red")&"'/>
<circle cx='"&50 (Rank_YejiDacheng-1)/(Store_Qty-1)*80&"' cy='45' r='5' fill='"&IF(Rank_YejiDacheng/Store_Qty<=0.5,"Green","Red")&"'/>
<circle cx='"&50 (Rank_Chengjiaobishu-1)/(Store_Qty-1)*80&"' cy='75' r='5' fill='"&IF(Rank_Chengjiaobishu/Store_Qty<=0.5,"Green","Red")&"'/>
<circle cx='"&50 (Rank_Kedanliang-1)/(Store_Qty-1)*80&"' cy='105' r='5' fill='"&IF(Rank_Kedanliang/Store_Qty<=0.5,"Green","Red")&"'/>
<circle cx='"&50 (Rank_Kedanjia-1)/(Store_Qty-1)*80&"' cy='135' r='5' fill='"&IF(Rank_Kedanjia/Store_Qty<=0.5,"Green","Red")&"'/>
<!--text标签显示数据标签,即排名-->
<text fill='black' text-anchor='Left' dominant-baseline='Middle' font-size='12'>
<tspan x='135' y='15'>"&Rank_Yeji&"</tspan>
<tspan x='135' y='45'>"&Rank_YejiDacheng&"</tspan>
<tspan x='135' y='75'>"&Rank_Chengjiaobishu&"</tspan>
<tspan x='135' y='105'>"&Rank_Kedanliang&"</tspan>
<tspan x='135' y='135'>"&Rank_Kedanjia&"</tspan>
</text>
</svg> "
这里列举了5个指标,读者指标数量不同可自行增减。