RELATED

Возвращает связанное значение из другой таблицы.

Синтаксис

RELATED(<column>)  

Параметры

Термин Определение
гистограмма Столбец, содержащий значения, которые необходимо получить.

Возвращаемое значение

Одиночное значение, связанное с текущей строкой.

Примечания

  • Функция требует RELATED наличия связи между текущей таблицей и таблицей со связанными данными. Необходимо указать столбец, содержащий нужные данные, после чего функция будет использовать существующую связь "многие к одному" для получения значений из указанного столбца в связанной таблице. Если связь не существует, ее необходимо создать.

  • Когда функция RELATED выполняет поиск, она проверяет все значения в указанной таблице, независимо от примененных фильтров.

  • Функции RELATED требуется контекст строки; поэтому ее можно использовать только в выражении вычисляемого столбца, где текущий контекст строки является однозначным, или как вложенную функцию в выражении, использующем функцию сканирования таблицы. Функция сканирования таблицы, такая как SUMX, возвращает значение текущей строки, а затем сканирует другую таблицу на предмет наличия в ней экземпляров этого значения.

  • Функцию RELATED невозможно использовать для выборки столбца в ограниченной связи.

Пример

В следующем примере для создания отчета о продажах, в котором исключены данные о продажах в США, создается мера "Продажи через Интернет за пределами США". Чтобы создать меру, необходимо отфильтровать таблицу InternetSales_USD, чтобы исключить все продажи, совершенные в США, в таблице SalesTerritory. США как страна упоминаются в таблице SalesTerritory 5 раз, по одному разу для каждого из следующих регионов: Северо-Запад, Северо-Восток, Центр, Юго-Запад и Юго-Восток.

Первый способ фильтрации продаж через Интернет для создания меры заключается в добавлении выражения фильтра, как указано ниже:

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, начиная со значения ключевого столбца SalesTerritoryKey в таблице InternetSales_USD. Результат поиска используется функцией фильтра, чтобы определить, отфильтрована ли строка InternetSales_USD.

Примечание

Если этот пример не работает, может потребоваться создать связь между таблицами.

= SUMX(FILTER( 'InternetSales_USD'  
            ,  RELATED('SalesTerritory'[SalesTerritoryCountry])  
               <>"United States"  
             )  
     ,'InternetSales_USD'[SalesAmount_USD])  

В следующей таблице показаны только итоги для каждого региона, чтобы доказать, что выражение фильтра в мере ("Продажи через Интернет за пределами США") работает должным образом.

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 долл. США
Grand Total 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 долл. США
Grand Total 384 639,63 долл. США 16 107 890,23 долл. США 172 817,81 долл. США 16 665 347,67 долл. США

См. также

RELATEDTABLE
Функции фильтрации