RELATED
返回另一个表中的相关值。
语法
RELATED(<column>)
parameters
术语 | 定义 |
---|---|
column |
包含要检索的值的列。 |
返回值
与当前行相关的单个值。
备注
RELATED 函数要求当前表与具有相关信息的表之间存在关系。 指定包含所需数据的列,函数遵循现有的多对一关系,从相关表中的指定列提取值。 如果关系不存在,则必须创建关系。
当 RELATED 函数执行查找时,它将检查指定表中的所有值,而不考虑可能应用的任何筛选器。
RELATED 函数需要行上下文;因此,它只能在计算列表达式中使用,其中当前行上下文明确,或者用作使用表扫描函数的表达式中的嵌套函数。 表扫描函数(如 SUMX)获取当前行值的值,然后扫描另一个表以获取该值的实例。
RELATED 函数不能用于跨 有限关系提取列。
示例
在以下示例中,将创建“非美国 Internet 销售”度量值以生成排除美国销售额的销售报表。 若要创建度量值,必须筛选InternetSales_USD表,以排除 SalesTerritory 表中属于美国的所有销售。 作为一个国家/地区,美国在 SalesTerritory 表中出现 5 次:以下每个区域一次:西北、东北、中部、西南和东南部。
为了创建度量值,筛选 Internet Sales 的第一种方法可能是添加如下所示的筛选器表达式:
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
但是,此方法适得其反,容易键入错误,如果将来拆分任何现有区域,则可能无法正常工作。
更好的方法是使用InternetSales_USD和 SalesTerritory 之间的现有关系,并明确指出国家必须与美国不同。 为此,请创建如下所示的筛选器表达式:
FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
此表达式使用 RELATED 函数查找 SalesTerritory 表中的国家/地区值,从 InternetSales_USD 表中键列 SalesTerritoryKey 的值开始。 筛选函数使用查找结果来确定是否筛选了InternetSales_USD行。
注意
如果示例不起作用,则可能需要在表之间创建关系。
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
下表仅显示每个区域的总计,以证明度量值“非美国 Internet 销售”中的筛选器表达式按预期工作。
Row Labels | Internet Sales | Non USA Internet Sales |
---|---|---|
澳大利亚 | $4,999,021.84 | $4,999,021.84 |
加拿大 | $1,343,109.10 | $1,343,109.10 |
法国 | $2,490,944.57 | $2,490,944.57 |
德国 | $2,775,195.60 | $2,775,195.60 |
英国 | $5,057,076.55 | $5,057,076.55 |
美国 | $9,389,479.79 | |
总计 | $26,054,827.45 | $16,665,347.67 |
下面显示了在报表表视觉对象中使用此度量值时可能会得到的内容:
Row Labels | Accessories | Bikes | Clothing | Grand Total |
---|---|---|---|---|
2005 | $1,526,481.95 | $1,526,481.95 | ||
2006 | $3,554,744.04 | $3,554,744.04 | ||
2007 | $156,480.18 | $5,640,106.05 | $70,142.77 | $5,866,729.00 |
2008 | $228,159.45 | $5,386,558.19 | $102,675.04 | $5,717,392.68 |
总计 | $384,639.63 | $16,107,890.23 | $172,817.81 | $16,665,347.67 |