Power BI新功能-表格矩阵迷你图真棒!但是……

2022-02-09 08:45:31 浏览数 (2)

2021年12月更新的Power BI版本新增了迷你图功能,如下图在表格或矩阵中点击下拉箭头或鼠标右键,即可进入设置界面:

可以生成两种图表样式,折线图或柱形图:

折线图可以设置显示标记,比方同时显示最高值和最低值:

显示效果如下:

切换为柱形图,效果如下:

迷你折线图个人认为已经能够满足绝大部分使用需求,但是迷你柱形图的功能很单薄,切换为柱形图后,没有像折线图那样的标记设置。

内置不足,DAX来补。使用DAX可以自定义添加标记的迷你柱形图,比如标记最高值和最低值:

度量值如下,将该度量值标记为图像URL,拖入表格或矩阵即可:

代码语言:javascript复制
自定义迷你柱形图 = 
VAR MaxValue =
    MAXX ( VALUES ( '表'[月]), [指标])
VAR MinValue=
    MINX ( VALUES ( '表'[月]), [指标])
VAR Max_Width=
IF(MinValue<0,IF(MaxValue<0, ABS(MinValue),MaxValue-MinValue),MaxValue)
VAR BarTable=
    ADDCOLUMNS(
        SUMMARIZE('表','表'[年],'表'[月],
"Color",IF([指标]=MaxValue,"Green",IF([指标]=MinValue,"Red","Grey"))),//颜色自定义
"Rect", "<rect x='"&IF(MinValue>0,0, IF(MaxValue>0, IF([指标]<0,120-120*(MaxValue-[指标])/Max_Width,120*ABS(MinValue)/Max_Width),120-120*ABS([指标])/Max_Width)) &"' y='" & ( [月] - 1 ) * 10 & "' width='" & 120*ABS([指标]) / Max_Width & "' height='9' fill='" & [Color] & " '/>")
Return
"data:image/svg xml;utf8,"&"
    <svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' > <g transform='rotate(-90,60,60)'>"&
    CONCATENATEX(BarTable,[Rect])&"</g>
    </svg> "

该方案非常灵活,条件格式可以如注释处任意自定义。图表也可以旋转,将rotate的第一个参数变为0,迷你柱形图变为条形图:

造型也可以自定义,比方变为大头针:

该度量值的月份相当于是一个索引,如读者的X轴是别的字段,需要自建索引。

0 人点赞