6.13 PowerBI系列之DAX函数专题-summarize,rollup和summarizecolumns以及groupby

一些知识

1.summarizecolumns 性能由于summarize
2.summarizecolumns 中可以使用filter过滤
3.groupby是使用迭代函数实现的聚合,结果和summarize相同,但性能:
summarizecolumns(一个query)>summarize>(两个query语句)>groupby(复杂一些),powerbi视觉对象后台生成的DAX表达式也是默认使用summarizecolumns
4.分组函数中的列可以来自模型中的不同表;
5.rollup做小计在summarize中使用
6.summarizecolumns使用rollupaddissubtotal做小计

summarize

表summarize =summarize('sales',sales[产品类别],sales[产品子类别])  -- 返回排重后的特定列
//selectcolumns(sales,"产品大类",sales[产品类别],"产品小类",salse[产品子类别])-- 返回特定列但不排重,是按条取出记录,因此不是分组函数
//summarize('sales',sales[产品类别],sales[产品子类别],"总金额",sum('sales'[订单金额]),"订单数量",count('sales'[dingdan id])) --(图1)
//summarize('sales','product'[产品类别],'product'[产品子类别],"总金额",sum('sales'[订单金额]),"订单数量",count('sales'[dingdan id]))  --只要有正确的建模关系,可以跨表汇总计算 --(图2)

表有条件summarize = summarize(filter('sales',sales[产品类别]="配件"),sales[产品子类别],"总金额",sum('sales'[订单金额]),"订单数量",count('sales'[dingdan id])) --(图5)

表summarize rollup= summarize('sales',rollup(sales[产品类别],sales[产品子类别]),"总金额",sum('sales'[订单金额])) --增加了按类别小计以及所有类别的总计行,rollup只能在summarize函数中使用 --(图6

在这里插入图片描述
图1
在这里插入图片描述
图2
在这里插入图片描述
图5
在这里插入图片描述图6

summarizecolumns

表summarizecolumns= summarizecolumns(sales[产品类别],sales[产品子类别],"总金额",sum('sales'[订单金额])) --不用指定表,直接指定列 --(图3

在这里插入图片描述图3
表有条件summarizecolumns = summarizecolumns(
‘sales’[产品类别],
‘sales’[产品子类别],
filter(‘sales’,‘sales’[产品类别]=“配件”),
“总金额”,
sum(‘sales’[订单金额])
) //只取配件的汇总 (图4)
在这里插入图片描述(图4)

表summarizecolumns小计= summarizecolumns(
rollupaddissubtotal(
'sales'[国家],"isgrandtotalrowtotal",
sales[省份],"isdm0total"
),
"sum订单金额",sum('sales'[订单金额]),
"count订单id",counta('sales'[订单ID])
) --(图7

在这里插入图片描述
图7

groupby

表groupby = groupby('sales',sales[产品类别],sales[产品子类别],"总金额",sumx(currentgroup(),'salses'[订单金额])--该函数计算是须用迭代求和sumx,并且需要指定group
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值