科百科
当前位置: 首页 范文大全

powerbi目标达成率计算(BI中这个强大的函数)

时间:2023-07-04 作者: 小编 阅读量: 1 栏目名: 范文大全

SUMMARIZE函数非常强大,掌握以后表面上看也非常好用,所以我专门写篇文章介绍一下这个函数,至于是否一定要使用该函数,请看完再决定。

SUMMARIZE,单纯从英文语义上看,是汇总、总结的意思,而它的功能,确实也就是汇总,它可以返回一个汇总表。

你可以从官方的文档中查询到该函数的说明,

https://docs.microsoft.com/en-us/dax/summarize-function-dax

它的参数非常复杂和难以理解,参数很多,并且有些参数都是可选的、可重复的。直接靠文档不容易理解,我们可以根据实例来理解它的用法。

它的参数很多是可选的,让我们按参数由少到多逐步看看它的功能。

01 | 提取维度表

以下表达式,会提取不重复的产品名称:

维度表1 = SUMMARIZE('订单','订单'[产品名称])

SUMMARIZE函数的第一个参数是表,第二个参数是列时,会返回该列的不重复列表,其功能与VALUES相似。

不过SUMMARIZE函数还可以继续添加第三个、第四个参数列…,看以下表达式的返回结果,

维度表2 = SUMMARIZE('订单','订单'[产品名称],'日期表'[年度])

SUMMARIZE参数表后面跟多个列时,它会返回这些列的有效组合,类似于笛卡尔积,与笛卡尔积稍微不同的是,如果在订单表中不存在这个组合,则返回的列表中,就不会出现这一行。

举个例子,假如2016年如果没有卖过智能手表,则上述的表达式不会有2016 智能手表这一行。

02 | 返回汇总表

在上述表达式的基础上,我们继续添加参数如下:

汇总表1 =SUMMARIZE( '订单', '日期表'[年度], '订单'[产品名称], "销售额合计",SUM('订单'[销售额]))

SUMMARIZE参数后面带上列名和表达式时,它会自动计算并返回分组的汇总表,这才是该函数的本质功能,也切合它的字面意义。

这个功能非常好用,也是我们使用它最普遍的地方。

03 | 返回带合计的汇总表

这是SUMMARIZE的高级功能,在上面的表达式中的分组列外面套一层ROLLUP,看看是什么效果?

汇总表2 =SUMMARIZE( '订单', ROLLUP('日期表'[年度],'订单'[产品名称]), "销售额合计",SUM('订单'[销售额]))

看到在汇总表的下面还多了几行合计数,这就是ROLLUP参数的作用。它只在SUMMARIZE内部使用,用于为子类别计算小计和总计

SUMMARIZE内部还可以使用一个参数是ROLLUPGROUP,使用ROLLUPGROUP代替上面表达式中的ROLLUP,可以返回相同的结果。

不过如果在上面表达式ROLLUP里面再套一层ROLLUPGROUP,

汇总表3 =SUMMARIZE( '订单', ROLLUP(ROLLUPGROUP('日期表'[年度],'订单'[产品名称])), "销售额合计",SUM('订单'[销售额]))

分组的小计不见了,只返回了总计, ROLLUP和ROLLUPGROUP组合可以避免出现小计,而只返回总计。这样使汇总表看起来更像是Excel中的透视表。

关于ROLLUP和ROLLUPGROUP参数,其实它们的合计功能并不常用,但是却导致很多人觉得SUMMARIZE很复杂,你如果也是这种感觉,完全可以不用深究这两个参数的用法,因为你基本上也不会用到它们。

SUMMARIZE最常用的还是上面的第二种功能,让我们回头再来看看这种用法,返回一个汇总表确实非常实用,但是这是最优的写法吗?

使用ADDCOLUMNS返回汇总表

02示例中的表达式,还可以用以下表达式代替,

汇总表4 =ADDCOLUMNS( SUMMARIZE( '订单', ‘日期表'[年度], '订单'[产品名称] ), "销售额合计",CALCULATE(SUM('订单'[销售额])))

即通过ADDCOLUMNS函数,在SUMMARIZE生成分组的基础上添加列,来计算销售额汇总,可以返回相同的结果,但是在性能上,要比单纯的使用SUMMARIZE更优。

SUMMARIZE函数由于性能和内部兼容性等方面的原因,并不建议使用它来进行汇总,可以使用上面的ADDCOLUMNS和SUMMARIZE组合来代替,另外还有个新函数性能更优:SUMMARIZECOLUMNS。

使用SUMMARIZECOLUMNS返回汇总表

依然是生成上面的汇总表,SUMMARIZECOLUMNS的写法:

汇总表5 =SUMMARIZECOLUMNS( '日期表'[年度], '订单'[产品名称], "销售额合计",CALCULATE(SUM('订单'[销售额])))

是不是看起来更加简洁,它的第一个参数不再需要表,而是直接是分组列,实践上看,它的性能要优于ADDCOLUMNS和SUMMARIZE组合,当然也远优于SUMMARIZE,生成汇总表时建议直接用SUMMARIZECOLUMNS(关于性能,你可以使用DAX Studio进行测试)。

SUMMARIZECOLUMNS应该就是为了替代SUMMARIZE而出现的,它可以实现SUMMARIZE的功能;SUMMARIZE的内部参数,比如ROLLUPGROUP等,SUMMARIZECOLUMNS同样也有,并且还有更多其他内部参数可以调用,不过对于普通DAX使用者来说,可能并不会使用到,就不再介绍了,想深入理解的请自行查阅该函数文档。

总结

  • 提取多列的有效组合时,可以使用SUMMARIZE
  • 返回汇总表时,推荐使用SUMMARIZECOLUMNS

我是采悟,PowerBI星球作者,在微信公众号"PowerBI星球"中回复"PowerBI",获取《七天入门Power BI》电子书,轻松上手PowerBI。

喜欢了别忘了点赞、转发哦。

    推荐阅读
  • 东北芥菜丝的做法(腌制的做法如下)

    接下来我们就一起去了解一下吧!东北芥菜丝的做法洗净的芥菜,切丝后放在一旁备用。一定要用锋利的刀,否则很难切。也可以放整个,只是切了食用时更方便。白醋两袋,入锅,开火。加入精盐,八角,花椒粒。醋烧开后倒入辣椒和切好的芥菜丝,继续加热并翻拌均匀,直到芥菜稍微变软出水,关火,装坛。最后连调料水也倒进坛子,这样芥菜更容易入味。晾凉后,盖上盖子,随吃随取适量,拌上香油即可食用。

  • 特色烤羊肉串的最佳做法(每周都要自己烤羊肉串吃)

    天热了起来,胃里的馋虫又开始蠢蠢欲动,想吃羊肉串了。羊肉串好吃,但也不能贪多,毕竟是烧烤类,多吃无益,一周食用一次即可。另外,此图文作品系静默成诗原创,严禁不良自媒体搬运及盗图,作者保留追究法律责任的权利。

  • 陈柏霖新剧照(陈柏霖客串韩剧)

    今天看到一个消息,陈柏霖将特别出演MBC的韩剧《怪物》饰演中国财阀。行为举止极尽粗俗,丑化中国人。KBS最近的剧《武林学校》里,男二人设是中国富二代,还是男团VIXX成员李弘彬演的,这个人选真不错。虽然事后道歉并承诺会删减,但也于事无补。不过本来《武林学校》就收视扑街,最受关注的点竟然也是因为作死引起中国观众不满。之前陈柏霖出现在韩国国民综艺《无限挑战》,跟HAHA的合影也引发关注。

  • 食不果腹衣不保暖(食不裹腹还是食不果腹)

    我们看手机读文章时,经常会看到很多人把“食不果腹”这个成语写成“食不裹腹”。之所以总会写错,主要原因还是因为不知道这个成语的出处和意思。“果腹”的说法,出自《庄子·逍遥游》:“适莽苍者,三餐而反,腹犹果然。”这里的“果腹”是指肚子吃饱后像果实一样圆鼓鼓的。“食不果腹”就是指吃不饱肚子。这两种意思都不能和“腹”字连用,所以不能说“食不裹腹”,只能说“食不果腹”。

  • 哪个系列的片剧情最好看(谁在视奸我们这部被)

    一开始影片是[黑镜]式的开场——其实Toni和Paul是对创业伙伴。软件工程师的Paul创造出名为娜娜的AI系统。他的伟大理想是让娜娜陪伴用户、消灭孤独。而输的人要拿出一半公司股份送给员工!原本这只是酒后疯话。就像Paul和Toni两个性格迥异的哥们。人们曾乐观认为互联网带来了平等和自由。但故事里却有一段淡淡哀伤的剧情——Paul的祖母因为患病住院。结果面对祖母意外离世…

  • 笔记本电脑最好的几个牌子(笔记本电脑十大热门产品排行榜)

    笔记本电脑最好的几个牌子导语:2020年3月十大热门笔记本电脑产品排行榜,数据来源于京东自营2020年3月的数据,每个笔记本电脑品牌选取1款代表性产品排列,大家一起来看一下吧,数据仅供参考。2020年3月十大热门笔记本电脑品牌排行榜:1,联想。10,机械革命笔。

  • 杜仲雄花的十大功效和作用(您了解杜仲雄花的保健功效嘛)

    而杜仲雄花的主要活性成分槲皮素降低血糖的效果非常好,对α-葡萄糖苷酶的抑制率达57%。杜仲雄花中的天然活性成分槲皮素,具有显著的抗衰老作用。

  • 安全出口标志上的小绿人叫什么名字(安全出口标志上的小绿人竟然还有名字)

    跟着小编一起来看一看吧!安全出口标志上的小绿人叫什么名字安全出口标志上的小绿人叫皮特托先生。安全出口标志上的小绿人最初是在1978年日本的紧急逃生出口标志设计比赛中由小谷松敏文设计的,之后几经修改成现在的样子。1979年,多摩美术大学教授太田幸夫将这个“小绿人”进行了“美容”,让“小绿人”精神焕发,成为大家现在看到的样子。

  • 手游福星怎么和端游不一样(端游怎么玩福星版本)

    4、接着现在这个版本不适合福星卖血,所以越早凑齐,越有利。

  • volte是啥意思收费不(移动volte是什么)

    接下来我们就一起去研究一下吧!volte是啥意思收费不VoLTE是中国移动4G+的组成部分,是高清语音的简称。基于VoLTE的高清视频通话按时长计费,目前标准资费为0.29元/分钟。详询当地移动营业厅或10086。