在Power BI设置画布背景或者图表背景时,可以手动输入颜色代码,输入的方式有两种,HEX(十六进制)或者RGB(红绿蓝)。
(资料图片)
我们可以利用Power BI的参数功能,制作一个动态的调试工具,如下图所示,滑杆或者手动输入RGB的序号,自动生成对应的HEX和RGB编码,卡片图同时变为相应颜色。
1. 颜色编码的含义
RGB和HEX其实是一回事。RGB的三个值分别代表红绿蓝rgb(red, green, blue),每个值的范围是0-255总共256个数值。例如,R为最大值,GB为0,则为纯红色:
HEX颜色编码也是红绿蓝,只不过是十六进制RRGGBB,两位为一个颜色,00是最小值,FF是最大值,00-FF也是256个数字。上图是纯红色,所以前两位是最大值FF,后四位均为0。
2. Power BI设置
首先看RGB方式如何设置参数,在插入选项卡下新建三个参数,分别命名为RGB。
数据类型为整数,数据范围为0-255,增量为1。
新建完成后,会自动添加切片器,且生成以下表格和度量值。
新建一个RGB度量值,引用以上三个参数:
RGB = "rgb(" & [R 值] & "," & [G 值] & "," & [B 值] & ")"
把度量值放入卡片图,显示出颜色名字:
卡片图的背景色选择使用fx,字段同样使用RGB度量值。
此时,滑动滑杆,颜色就可以变化了:
接下来讲解HEX-十六进制的设置方式。在Excel中,十进制转换为十六进制非常简单,DEC2HEX函数即可:
但这个函数没有引入DAX及Power BI,所以需要额外操作。首先,Power Query新建一个空白查询,输入下图中的公式,即可生成0-F的列表。
为这个列表添加一个相同的自定义列,再展开:
展开后得到一个笛卡尔积,总计256行,如下图所示:
把这俩列合并,并添加一个从0开始的索引:
新建十六进制颜色度量值,和三个参数相关联:
把HEX同样放入卡片图字段和背景色,即可实现两种颜色编码方式动态对照:
本文示例pbix文件 /07kMp1WuS
关键词: