zl程序教程

您现在的位置是:首页 >  其它

当前栏目

Power BI 表达指标升降10式

10 POWER BI 指标 表达 升降
2023-06-13 09:15:18 时间

Power BI内置了若干条件格式图标可以表示升降,但不能改变颜色,不能改变形状,使得可用性大大降低。

以下给出10个自定义升降图标度量值,供读者使用,原理是SVG矢量图配合指标生成图标。使用方法非常简单,复制下方的度量值到你的模型,将度量值中的[增长率]替换为你的指标,度量值默认的颜色是红绿橙,你可以自行变更,颜色名称列表参考此文:Power BI 支持的颜色名称列表

调整完后,在表格矩阵如下图将你的指标的条件格式图标对应为刚才复制的图标度量值。

1. 实心三角形箭头


升降1 = 
VAR UP =
    UNICHAR ( 9650 )
VAR DOWN =
    UNICHAR ( 9660 )
VAR EQUAL = 
    "-"
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

2. 未合拢箭头


升降2 = 
VAR UP =
    UNICHAR ( 5169 )
VAR DOWN =
    UNICHAR ( 5167 )
VAR EQUAL = 
    "-"
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

3. 空心箭头


升降3 = 
VAR UP =
    UNICHAR ( 8679 )
VAR DOWN =
    UNICHAR ( 8681 )
VAR EQUAL = 
    UNICHAR ( 8680 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

4. 虚线箭头


升降4 = 
VAR UP =
    UNICHAR ( 8673 )
VAR DOWN =
    UNICHAR ( 8675 )
VAR EQUAL = 
    UNICHAR ( 8674 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

5. 仿真箭头


升降5 = 
VAR UP =
    UNICHAR ( 10166 )
VAR DOWN =
    UNICHAR ( 10164 )
VAR EQUAL = 
    UNICHAR ( 10165 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

6. 斜角箭头


升降6 = 
VAR UP =
    UNICHAR ( 129157)
VAR DOWN =
    UNICHAR ( 129151 )
VAR EQUAL = 
    UNICHAR ( 129154 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

7. 凹陷箭头


升降7 = 
VAR UP =
    UNICHAR ( 11165 )
VAR DOWN =
    UNICHAR ( 11167 )
VAR EQUAL = 
    UNICHAR ( 11166 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

8. 阴影箭头


升降8 = 
VAR UP =
    UNICHAR ( 11161 )
VAR DOWN =
    UNICHAR ( 11163 )
VAR EQUAL = 
    UNICHAR ( 11162 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

9. 大空心箭头


升降9 = 
VAR UP =
    UNICHAR ( 11145 )
VAR DOWN =
    UNICHAR ( 11147 )
VAR EQUAL = 
    UNICHAR ( 11146 )
VAR COLOR =
    SWITCH ( TRUE (), [增长率] > 0, "Green", [增长率] < 0, "Red", "ORANGE" )
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>
        <text x='50' y='50' text-anchor='middle' dominant-baseline='middle' font-size='80' 
            fill='" & COLOR & "'>" & SYMBOL & "
        </text>
    </svg> "
RETURN
    CHART

10. 圆环嵌套箭头


升降10 = 
VAR UP =
    "<path d='M12.001 1.993C6.486 1.994 2 6.48 2 11.994c.001 5.514 4.487 10 10 10 5.515 0 10.001-4.486 10.001-10s-4.486-10-10-10.001zM12 19.994c-4.41 0-7.999-3.589-8-8 0-4.411 3.589-8 8.001-8.001 4.411.001 8 3.59 8 8.001s-3.589 8-8.001 8z' fill='Green'/><path d='m12.001 8.001-4.005 4.005h3.005V16h2v-3.994h3.004z' fill='Green'/>"
VAR DOWN =
    "<path d='M12 1.993C6.486 1.994 2 6.48 2 11.994c0 5.513 4.486 9.999 10 10 5.514 0 10-4.486 10-10s-4.485-10-10-10.001zm0 18.001c-4.411-.001-8-3.59-8-8 0-4.411 3.589-8 8-8.001 4.411.001 8 3.59 8 8.001s-3.589 8-8 8z'  fill='Red'/><path d='M13 8h-2v4H7.991l4.005 4.005L16 12h-3z' fill='Red'/>"
VAR EQUAL = 
    "<path d='M11.999 1.993c-5.514.001-10 4.487-10 10.001s4.486 10 10.001 10c5.513 0 9.999-4.486 10-10 0-5.514-4.486-10-10.001-10.001zM12 19.994c-4.412 0-8.001-3.589-8.001-8s3.589-8 8-8.001C16.411 3.994 20 7.583 20 11.994c-.001 4.411-3.59 8-8 8z'  fill='Orange'/><path d='M12 10.994H8v2h4V16l4.005-4.005L12 7.991z' fill='Orange'/>"
VAR SYMBOL =
    SWITCH ( TRUE (), [增长率] > 0, UP, [增长率] < 0, DOWN, EQUAL )
VAR CHART = "
    data:image/svg+xml;utf8,
    <svg xmlns='http://www.w3.org/2000/svg' height='24' width='24'> " &
        SYMBOL & "
    </svg> "
RETURN
    CHART