概述
目录
- 背景介绍
- 主要内容
- 数据预览
- 实现方案
- 头像展示
- 动态标签
- 总结
背景介绍
Power BI 作为一款强大的、生动的、且非常友好的商业智能软件,能帮助用户快速了解和分析数据。报表是可视化组件有机组合形成的一张张画布,数据展示了这些画布背后的根本来源,而关系显示出了数据与数据之间的联系。三者共同协作,为用户勾勒出商业智能应该是什么模样。
本文介绍如何用头像来表示每位经理(或者销售人员、BD、负责人、大堂经理……);并在不同筛选条件下,动态展示销售数据标签。
主要的技术为:
-1.生动展示头像:建模→数据分类→图像URL
-2.动态展示标签:DAX函数(VAR、HASONEVALUE、SELECTEDVALUE)
图中红色框内的内容均会随着筛选条件的变化而变化。
主要内容
数据预览
- 数据表
本文同样分析梁山泊好汉近日的销售情况。之前已有一篇文章分析过销售情况,可见:Power BI 中 解释此下降/增长 功能详细分析——Power BI正在走向真正的商业智能。
销售数据表Sales:日期 day、销售产品 Product (A和B两种)、销售大区 Area 、销售经理 Manager 以及销售金额 Sales。
头像表URL:销售经理 Manager和一一对应的头像 URL地址。
两张表通过Manager字段关联,形成Sales表与URL表多对一的关系。
- BI报表
实现方案
头像展示
在画布右侧字段中,点击URL表里的URL字段:
在菜单栏的建模中,依次选择数据分类→图像URL,即把URL地址归类为图像的URL,在筛选器、列表、矩阵的展示中,该列数据则会自动转化为每个好汉的头像。
头像的地址来源:一百单八将。
如果同学们有图像但是没有图像地址,可先将图像上传至某一网站,再复制图像对应的链接。
最后再将URL表中的URL列放入筛选器中,便得到了如上所示的BI效果。由于同销售数据表Sales进行了关联,该筛选器可以与其他可视化组件进行交互。
动态标签
动态标签的最终效果是,当用户选定了特定时间、经理、产品、大区时,标签能将这些信息同步展示出来,并将该条件下的总销售金额一并展示;当不选择任何筛选器时,默认展示所有数据。
比如,当选择2019/1/28~2019/1/30日期下、李逵、A产品时,标签变为:
2019/1/28~2019/1/30期间,李逵的A产品,在重庆的销售金额是:3015.71万两白银。
直接上DAX代码:
动态标题 =
VAR Manager = IF(HASONEVALUE('Sales'[Manager]),SELECTEDVALUE('Sales'[Manager]),"所有好汉")
VAR Product = IF(HASONEVALUE('Sales'[Product]),SELECTEDVALUE('Sales'[Product]),"所有")
VAR Area = IF(HASONEVALUE('Sales'[Area]),SELECTEDVALUE('Sales'[Area]),"所有地区")
VAR First_Day = FIRSTDATE('Sales'[day])
VAR Last_Day = LASTDATE('Sales'[day])
VAR Amt = FORMAT(SUM('Sales'[Sales])/10000,"0.00")
RETURN
First_Day & "~" & Last_Day & "期间," & Manager & "的" & Product & "产品,在" & Area & "的" & "销售金额是:" & Amt & "万两白银。"
别看这么长,很多都是相似的内容…… 代码这么长,一步步分析。
1). HASONEVALUE
如果 columnName 的上下文筛选为只剩下一个非重复值时,将返回 TRUE;否则为 FALSE。
HASONEVALUE(<columnName>)
函数名称的组成:Has + One + Value,这个函数基本上都是和IF函数连用,用于判断目前选择的内容是不是一个,如果是一个,则为真,不是则为假,很好理解。
详细解释见官网:HASONEVALUE 函数 (DAX)。
2). SELECTEDVALUE
过滤器选中的唯一值。
SELECTEDVALUE(<columnName>[,<alternateResult>)
如果columnName有个唯一值,那么该函数返回的就是这个值;如果不是唯一值,默认返回空。
详细解释见:Using the SELECTEDVALUE function in DAX。
3). VAR
给某个变量赋予某个值,该值受到筛选器和前后文的影响。
VAR <name> = <expression>
详细解释见官网:VAR。
综合以上,举个栗子,比如:
VAR Manager = IF(HASONEVALUE('Sales'[Manager]),SELECTEDVALUE('Sales'[Manager]),"所有好汉")
含义:如果用户在某处(筛选器或者其他可视化组件均可)选择了Sales表里的某个Manager如"李逵",那么等式右边将会返回"李逵",并将它赋给变量Manager;如果未选择某个Manager,此时默认返回"所有好汉"。
这样一来,便将变量Manager、Product、Area、First_Day(起始日期)、Last_Day(终止日期)、Amt(销售金额),都赋予了随筛选条件变化的值。
值得一提的是,变量Amt用了FORMAT函数,它是将数据进行一定格式的调整,比如本文是将销售金额按照两位小数的形式展示。详细内容可见:学习DAX中的FORMAT函数。
最后就是返回RETURN的值了:
RETURN
First_Day & "~" & Last_Day & "期间," & Manager & "的" & Product & "产品,在" & Area & "的" & "销售金额是:" & Amt & "万两白银。"
将用户想要的内容用&连接符连接,最后将该度量值放入卡片图中即可。
总结
- 头像展示的效果代入感更强,嗯,容易吸引使用者的眼球;
- VAR函数水很深,需要好好研究,多多使用,本文中所说的内容,皮毛都算不上;
- 需要Power BI文件的可以在评论中获取。
最后
以上就是留胡子灰狼为你收集整理的Power BI中使用DAX生动展现人员头像、动态标签——销售数据里的那些商业智能背景介绍主要内容总结的全部内容,希望文章能够帮你解决Power BI中使用DAX生动展现人员头像、动态标签——销售数据里的那些商业智能背景介绍主要内容总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复