CALCULATETABLE 函数

在由给定筛选器修改的上下文中计算表表达式。

语法

CALCULATETABLE(<expression>,<filter1>,<filter2>,…)

参数

术语

定义

Expression

要计算的表表达式

filter1,filter2,…

定义筛选器的布尔表达式或表表达式

用作第一个参数的表达式必须是返回表的函数。

下列限制适用于用作参数的布尔表达式:

  • 表达式不能引用度量值。

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

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

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

返回值

包含值的表。

注释

CALCULATETABLE 函数将更改筛选数据的上下文,并在您指定的新上下文中计算表达式。 对于在筛选器参数中使用的每一列,将删除该列上的现有筛选器,改为应用在筛选器参数中使用的筛选器。

此函数是 RELATEDTABLE 函数的同义词。

示例

下面的示例使用 CALCULATETABLE 函数获取 2006 年的 Internet 销售额的总和。 该值随后用于计算与 2006 年的所有销售额相比的 Internet 销售额的比率。

下表显示来自以下公式的结果。

行标签

Internet SalesAmount_USD

CalculateTable 2006 Internet 销售额

Internet 销售额与 2006 年销售额的比率

2005

$2,627,031.40

$5,681,440.58

0.46

2006

$5,681,440.58

$5,681,440.58

1.00

2007

$8,705,066.67

$5,681,440.58

1.53

2008

$9,041,288.80

$5,681,440.58

1.59

Grand Total

$26,054,827.45

$5,681,440.58

4.59

=SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2006)
     , [SalesAmount_USD])

请参阅

参考

RELATEDTABLE 函数

其他资源

筛选器函数 (DAX)