Power BI用星星来为喜爱的电影打分——Power BI学习笔记

       Power BI 市场组件为我们提供了丰富的可视化效果,大家也可以在一些网站上,自定义一些组件效果。同时,DAX这一款强大的语言,适用于Excel、PowerQuery和Power BI,如果大家能把这个DAX用得炉火纯青的话,那应该可以玩转Power BI的一半功能了(另外一半就是:M语言)。

       本文讲解如何利用DAX实现,利用星形给电影打分。直接上最后的效果:

Power BI用星星来为喜爱的电影打分——Power BI学习笔记_第1张图片

      具体实现方法主要是利用DAX中的两个函数,REPT 和UNICHAR函数。一步一步来分析吧~

1.数据源

FilmName Score
肖申克的救赎 9.6
我不是药神 9
让子弹飞 8.7
那些年,我们一起追的女孩 8.1
芳华 7.6
西虹市首富 6.5
傲娇与偏见 4.8
特殊身份 4
李雷和韩梅梅 3.6
爱情公寓 3.1

      表名:Film。列:电影名称列,以及对应的评分列。

2.度量值

  • 评分度量值
评分 = AVERAGE(Film[Score])

       先创建分数的度量值,此处用平均(AVERAGE)、和(SUM)、最大值(MAX)、最小值(MIN)均可,因为根据上下文筛选,一项只有一个评分,所以选取哪个函数,影响不大。如果最后需要展示汇总数据的话,就会有影响。

  • 星形逻辑度量值
Stars = REPT(UNICHAR(9733),INT([评分])) & 
        REPT(UNICHAR(10026),INT(([评分]-INT([评分]))/0.5)) 

        REPT函数(DAX):将文本重复给定重复次数。原文档链接:https://docs.microsoft.com/zh-cn/dax/rept-function-dax

       【语法】    REPT(, )

       【解释】第一个参数就是你要重复的文本,在本文中就是星星;第二个参数就是重复多少次,比如我有9分,那么这个星星就要重复9次。

        UNICHAR函数(DAX):返回给定数值引用的Unicode字符。原文档链接:https://docs.microsoft.com/zh-cn/dax/unichar-function-dax

       【语法】UNICHAR(number)

       【解释】一个数字对应一个UNICODE字符,你给UNICHAR投食一个数字,它就会产生一个对应的字符。本文中,星星对应的数字是9733,半颗星对应的数字是10026。其他UNICODE和HTML的转化,可上链接:https://unicode-table.com/cn/
       因吹斯汀~

       INT函数(DAX):这个比较简单,向下取整,比如INT(3.1) = 3,INT(3.5) = 3。

 

      本文的评分逻辑是:整数部分就是整颗星的个数,小数部分视情况而定:小于5时,就不算半颗星;大于等于5时,算半颗星。比如《让子弹飞》的评分是8.7,那么效果就是:有8颗实心星,和一个半颗星。

       DAX千千万,大家边走边学边看,学了九成才一半,一个字:加油干!
       skrskr
       评分来自豆瓣。

 

 

你可能感兴趣的:(Power BI用星星来为喜爱的电影打分——Power BI学习笔记)