Power BI 中使用图片作为切片器


file
上面这三个人,是牛教练的得意弟子。
有一天牛教练带着这三个人去参加比赛,结果在门口被拦下了。
工作人员:“先生,这里没有名片恕不招待!”
牛教练嘿嘿一笑,“我们有!”
牛教练打开power BI,在切片器中依次点击三个人的头像,刷刷刷亮出3张名片!
file

工作人员:请进!
...

回到正题,今天小编给大家分享的是在power BI中使用图片切片器。
目标:点击切片器中的人物头像,可以浏览对应人物的名片。
参赛选手基本信息如下:

file

情景一:图片来源于网络

Step1:将网络照片的URL贴到数据源中

file

Step2:打开Power BI Desktop,导入包含参赛选手信息的excel文件,通过列工具将【网页照片】的数据类别改为图像 URL

file

Step3:在仪表板中拖拽【网页照片】字段并设置成常规切片器

效果如下:

file

Bingo!

情景二:图片来源于本机

本机图片存放如下:

file

Step1:在查询编辑器中新建源-自文件夹,选择图片所存放的文件夹

file

加载后如下图所示,注意此时【Content】列的数据类型是二进制

file

Step2:将【content】的数据类型改为文本,添加前缀“data:image/png;base64,”此时【Content】中的内容已被转换成图片的Base64编码
file

Step3:提取【name】的图片名称部分,加载,通过列工具将【content】列的数据类别转换为图像URL,通过选手姓名将模型中的两个表建立关系。

file

Step4:在仪表板中,拖拽【Content】字段,发现列表可以显示成图片(右),但是常规切片器不能显示成图片(左)

file

Step5:将视觉对象改为ChicletSlicer,将【name】字段放在类别中,【content】字段放在图像上,图片切片器就有了。在格式设置中,将图像拆分的值由50改为100,图像下方的文字就消失了

file

等等,过儿怎么只有半张脸?
咋回事呢?大胆猜测高人指点是图片大小超了,新建列用LEN函数看一下长度

file

情景三:本机大量中等尺寸图片处理

Step1:回到查询编辑器中,尝试提取前25000位字符和其后25000位的字符

file

Step2:加载至模型中,组合成新字段
【content2】,数据类别转换为图像URL,调用LEN查看长度(可以看出真实长度比50000位还要多,这里就不继续拆分了)

file

Step3:在仪表板中对比Content1和Content2所显示的内容

file

手动配上文字:风陵渡口初相识,一遇杨过误终生~

情景四:本机少量大尺寸图片处理

Step1:借助转换工具将图片转换为BASE64编码

如下图,借助转换工具将图片转换为BASE64编码(右击图片可选择复制编码)
file

(转换工具地址:https://tool.oschina.net/encrypt?type=4

Step2:编写度量值

度量值 = IF(SELECTEDVALUE('选手信息'[姓名])="杨过","",CALCULATE(VALUES('图片'[Content])))

注:引号中粘贴图片的Base64编码,篇幅太大这里没放上来。

Step3:看一下效果
file

Nice!

今天的分享就到这里,小伙伴们下期再见!

  • PowerPivot工坊原创文章,转载请注明出处!

    如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊