calculate函数使用方法c语言,CALCULATE 函数 (DAX)

计算

在指定筛选器所修改的上下文中对表达式进行求值。

语法

DAX

CALCULATE(,,…)

参数

术语定义表达式要进行求值的表达式。

filter1, filter2,…(可选)布尔表达式的逗号分隔列表或定义筛选器的表表达式。

用作第一个参数的表达式在本质上与度量值相同。

以下限制适用于用作参数的布尔表达式:表达式不能引用度量值。

表达式不能使用嵌套的 CALCULATE 函数。

表达式不能使用扫描表或返回表的任何函数,包括聚合函数。

但是,布尔表达式可以使用查找单个值或计算标量值的任何函数。

返回值

作为表达式结果的值。

备注

如果已筛选数据,CALCULATE 函数更改(增删改)在其中筛选数据的上下文,并在指定的新上下文中对表达式进行求值。对于筛选器参数中使用的每个列,将删除该列上的任何现有筛选器,并改为应用筛选器参数中使用的筛选器。

示例

要计算当前经销商销售额与所有经销商销售额的比率,可在数据透视表中添加一个计算当前单元格销售额总和的度量值(分子),然后将该总和除以所有经销商的总销售额(分母)。 为确保分母保持不变,无论数据透视表如何筛选数据或对数据进行分组,公式中表示分母的部分必须使用 ALL 函数清除任何筛选器并创建正确的合计。

下表显示了使用代码部分中的公式创建名为“所有经销商销售额比率”的新度量值时的结果 。

若要查看其工作原理,请将字段 CalendarYear 添加到数据透视表的“行标签”区域,然后将字段 ProductCategoryName 添加到“列标签”区域 。 然后,将新度量值添加到数据透视表的“值”区域 。 要将数字显示为百分比,请将百分比数字格式应用于数据透视表中包含新度量值“所有经销商销售额比率”的区域 。

所有经销商销售额列标签行标签配件自行车服装部件总计

20050.02%9.10%0.04%0.75%9.91%

20060.11%24.71%0.60%4.48%29.90%

20070.36%31.71%1.07%6.79%39.93%

20080.20%16.95%0.48%2.63%20.26%

总计0.70%82.47%2.18%14.65%100.00%

DAX=( SUM('ResellerSales_USD'[SalesAmount_USD]))

/CALCULATE( SUM('ResellerSales_USD'[SalesAmount_USD])

,ALL('ResellerSales_USD'))

分母中的 CALCULATE 表达式使求和表达式能够包括计算中的所有行。 这将覆盖表达式分子部分存在的 CalendarYear 和 ProductCategoryName 的隐式筛选器。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值