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

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

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

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

1.数据源

FilmNameScore
肖申克的救赎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(<text>, <num_times>)

       【解释】第一个参数就是你要重复的文本,在本文中就是星星;第二个参数就是重复多少次,比如我有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
       评分来自豆瓣。

 

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值