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 долл. США |