Power BI内置的散点图已然是不错的四象限分析工具,然而,有些核心的业务诉求它无法实现。
【资料图】
以上面的产品销量、销售折扣四象限为例,第一,内置散点图无法像下图这样,每个产品均显示照片。
第二,内置散点图无法自定义任意数据标签,例如下图同时显示了销量和销售折扣标签。
第三,内置散点图无法直接为每一象限添加背景色,便于区隔。
第四,内置散点图尽管划分十字分割线有多种方式,但并不能随心所欲。例如,你想添加一条分割线为所有产品的总销售折扣(不是平均也不是中位值,而是总值),内置散点图无能为力。
将DAX嵌入SVG生成散点图度量值,以上缺陷均可以得到解决。以下一一进行说明。
首先,在产品资料数据源中,需要有产品图片信息。图片格式不限,可以是图床上的URL形式,也可以是本地图片(转换成BASE64),下图左侧是BASE64,右侧是图床:
新建以下散点图度量值,并拖入支持SVG的第三方图表(如HTML Content)即可正常显示。
该度量值分为三个主要模块:第一部分为多个VAR定义X、Y轴的名称,画布的大小,十字分割线的种类(示例为全部数据的平均值);第二个核心部分是CONCATENATEX函数连接多个image标签,并依据数据大小,定义每个image的位置;最后是依据前面定义的XY画出十字分割线。
将以上代码中的销售折扣、销量替换为自己的度量值即可复用。示例默认数据都是正数的情况,如实际有负数,则需在VAR定义环节考虑此种状况。
在此基础上增加类别标签,需在CONCATENATEX中加入text,文本标签的位置与产品图片保持一致:
增加数据标签的方法相同:
带背景色的四象限划分需要在以上操作的基础上使用Rect标签增加四个方块,这四个方块的位置随着前期定义的X、Y轴分割线数据变化而变化。
标签:
要文