ПОИСКА

Применимо к:Вычисляемый столбецВычисляемая таблицаИзмерятьВизуальное вычисление

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

Синтаксис

LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...[, <AssociatedColumnsBehavior>])

Параметры

Срок Определение
expression Выражение для вычисления.
colref (Необязательно) Отфильтрованный столбец.
expression (Необязательно) Значение для фильтрации.
AssociatedColumnsBehavior (Необязательно) Указывает, как обрабатываются связанные столбцы. Допустимые значения: EXPLICIT (по умолчанию) или INFERRED.

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

Значение выражения после применения фильтров.

Если совпадения нет, возвращается ошибка.

Если несколько строк соответствуют фильтрам, возвращается ошибка.

Замечания

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

  • ЯВНЫЙ (по умолчанию): если параметр опущен или задан EXPLICITв значение, LOOKUP использует только фильтры, которые вы предоставляете явным образом. Столбцы осей, не указанные, выводятся из текущего контекста. Это исходное поведение LOOKUP.

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

При INFERRED указании и указании значения для столбца, который был бы выведен, указанное значение проверяется по заданному значению. Если они конфликтуют, вызов возвращается BLANKаналогично тому, как EXPLICIT возвращается BLANK при предоставлении конфликтующих координат.

Пример 1

В этом примере LOOKUP извлекает сумму продаж для категории велосипедов. Первый аргумент может быть столбцом или скалярным выражением.

Lookup Example 1 = LOOKUP(SUM([Sales Amount]),  [Category], "Bikes")
Lookup Example 2 = LOOKUP([Sales Amount], [Category], "Bikes")

На снимка экрана ниже показана матрица с двумя визуальными вычислениями.

Пример подстановки 1

Пример 2

В этом примере визуальный расчет LookupExample2 извлекает сумму продаж за финансовый год FY2018. Обратите внимание, что фильтр кварталов из строки будет использоваться, так как он не указан явно, что приводит к тому, что результаты не возвращаются для FY2019 Q1 до FY2019 Q4 с момента сочетания FY2018 и FY2019 Q1 с FY2019 Q4 не существует. LookupExample3 явно указывает квартал, поэтому не учитывает текущий квартал строки.

LookupExample2 = LOOKUP([Sales Amount], [Fiscal Year], "FY2018")
LookupExample3 = LOOKUP([Sales Amount], [Fiscal Year], "FY2018", [Fiscal Quarter], "FY2018 Q1")

Пример подстановки 2

Пример 3

В этом примере показано различие между EXPLICIT и INFERRED поведением. Оба визуальных вычисления ищут сумму продаж за январь 2025 года, указав координаты "Год", "Квартал" и "Имя месяца".

Jan 2025 Sales (Explicit) = LOOKUP([Sum of Sales], [Year], 2025, [Quarter], "Q1", [Month Name], "January", EXPLICIT)
Jan 2025 Sales (Inferred) = LOOKUP([Sum of Sales], [Year], 2025, [Quarter], "Q1", [Month Name], "January", INFERRED)

При EXPLICITэтом поиск возвращает значение только в строке, где текущий контекст соответствует указанным координатам (строка января 2025 г.). Во всех остальных строках поиск возвращается BLANK , так как контекст текущей строки конфликтует с указанными фильтрами.

При использовании INFERREDподсистема автоматически определяет связанные столбцы, которые функционально определяются координатами "Год", "Квартал" и "Имя месяца". Так как эти координаты однозначно определяют точку во времени, подстановка возвращает значение во всех строках в матрице.

Пример подстановки 3 с явным и выводным поведением