【Azure Power BI】在Power BI中获取十进制随机数后,转换十六进制作为颜色值示例 - LuBu0505/My-Code GitHub Wiki

问题描述

在使用Power BI Desktop做报表,用到了其中一个图标组件 (Card Browser),可以做出比较漂亮的图片和带颜色的卡片效果: image.png 但是,在自己的数据源中,并没有颜色值。所以颜色值为0-255的十进制转换为00-FF的十六进制数据,想到了生成随机数,然后转换为颜色值。

数据源格式示例:


**Title	Count	Index**
Excel	1	1
Handyman	1	2
Photoshop	1	3
Racquetball	1	4
主机游戏	1	5
乐器	1	6 
... 
...

没有颜色值时的效果: image.png

需要使用到的Power BI 默认函数:

实现步骤

第一步:添加一个新字段 CardColor

** ==>>** 在Table 数据区域 点击 右键 , 选择 Edit Query, 最后点击 Custom Column。 add column.gif

第二步:使用 Number.RandomBetween 生成随机数,并组合Number.ToText ,转换为十六进制

"#" & Number.ToText(Number.Round(Number.RandomBetween(1000001,9999999),0),"X")
  • “#“ 颜色值字符
  • & 在Power BI Query 中用来连接前后字符串
  • Number.Round : 为了去掉 随机数中默认产生的两位小数

效果如下: image.png

第三步:把颜色值加入Card Browser中,查看修改后的效果

image.png

示例文件下载地址:https://files.cnblogs.com/files/lulight/Hobby.zip?t=1712840780&download=true

参考资料:

添加索引列:https://learn.microsoft.com/zh-cn/power-query/add-index-column

Number.RandomBetween:https://learn.microsoft.com/zh-cn/powerquery-m/number-randombetween

Number.Round: https://learn.microsoft.com/zh-cn/powerquery-m/number-round 

Number.ToText :https://learn.microsoft.com/zh-cn/powerquery-m/number-totext

[END]

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!