Dax 函数~ Calculate 与Calculatetable

Calculate 与Calculatetable联系

(1) 都是DAX中的重要函数,用于创建计算上下文

(2) 都可以修改筛选上下文

(3) 都支持使用筛选器作为参数

Calculate 与Calculatetable区别

(1) 返回值类型

  • Calculate返回单个值
  • Calculatetable返回表格

(2) 使用场景

  • Calculate常用于度量值计算
  • Calculatetable常用于创建虚拟表

(3) 语法结构

  • Calculate(表达式, 筛选器1, 筛选器2, ...)
  • Calculatetable(表表达式, 筛选器1, 筛选器2, ...)

(4) 性能影响

  • Calculate通常性能较好
  • Calculatetable可能对大型数据集有更大性能影响

(5) 嵌套使用

  • Calculate可以嵌套在Calculatetable中
  • Calculatetable不能直接嵌套在Calculate中
使用建议
  • 根据需要返回的结果类型选择合适的函数
  • 优先考虑使用Calculate,除非必须返回表格结果
  • 合理使用筛选器以提高计算效率

语法:

CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])

总销量 = sum('销售表'[销售数量])

A产品销量1 = CALCULATE([表达式],'商品表'[品名]="A")

A产品销量2 = CALCULATETABLE(表名称,'销售表'[商品名称]="A")

A和B的销量 = SUMX(FILTER('销量表','销量表'[销售]="A"||'销量表'[销售]="B"),'销量表'[销量])
A和B的销量2 = SUMX(CALCULATETABLE('销量表','销量表'[销售]="A" ||'销量表'[销售]="B"),[销量])
A和B的销量3 = CALCULATE(SUM('销量表'[销量]),'销量表'[销售]="A" || '销量表'[销售]="B")

其中销量表和销售人员表是通过销售进行关联的。可以看出不同的使用方案结果展示有差异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值