Power BI制作动态颜色调试工具
在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 =
VAR RR=LOOKUPVALUE('列表'[编码],'列表'[索引],[R 值])
VAR GG=LOOKUPVALUE('列表'[编码],'列表'[索引],[G 值])
VAR BB=LOOKUPVALUE('列表'[编码],'列表'[索引],[B 值])
RETURN
"#" & RR & GG & BB
把HEX同样放入卡片图字段和背景色,即可实现两种颜色编码方式动态对照:
相关文章
- php即时通讯im系统-泡泡IM-thinkphp workerman框架-linux宝塔私有化独立部署安装教程
- 在线客服系统源码,基于Golang和MySQL,可编译私有化部署的客服系统
- [Linux] 解决secureCRT 登录 ubuntu20.04报错 No compatible key exchange method. The server supports these methods
- [TCP] 单台linux服务器最多支撑的tcp最大连接数
- [Go] redis分布式锁的go-redis实现
- [Go] 获取当前时间戳和时间戳单位转换
- [Go]字符串转int64数值型
- [Go] go下实现md5加密
- [Go] goland开启自动格式化和开启go modules
- [Git] git version 2以上git add .和git add -A 一样
- [Linux] 使用tcpdump查看上传文件过程中的tcp传输过程
- [Linux] 使用ifconfig查看tcp数据包的最大传输大小
- [Linux]利用tcpdump打印sql语句
- [Linux] 使用lsof命令查找进程打开的所有文件
- [Go] GO语言实战-slice的初始化影响转换成json后的数据结构
- [Go] GO语言实战-使用append函数要重新赋值
- [GOFLY在线客服系统] 开源版与商务版的区别
- [git] git stash 暂存未提交的修改文件
- [Go]Go语言实战-jwt-go会把存储的数值型转成float64
- [Go]GO语言实战-类型声明语句