SUBSTITUTEWITHINDEX

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

Возвращает таблицу, представляющую левый полусоединен из двух таблиц, предоставленных в качестве аргументов. Semijoin выполняется с помощью общих столбцов, определяемых общими именами столбцов и общим типом данных. Столбцы, присоединенные к ним, заменяются одним столбцом в возвращаемой таблице, которая имеет целое число типа и содержит индекс. Индекс — это ссылка на нужную таблицу соединения с заданным порядком сортировки.

Столбцы в правой или второй таблице, указанной в левой или первой таблице, не включены в возвращаемую таблицу и не используются для соединения.

Индекс начинается с 0 (на основе 0) и увеличивается по одному для каждой дополнительной строки в предоставленной таблице справа/секунды соединения. Индекс основан на порядке сортировки, указанном для таблицы справа или второго соединения.

Синтаксис

SUBSTITUTEWITHINDEX(<table>, <indexColumnName>, <indexColumnsTable>, [<orderBy_expression>, [<order>][, <orderBy_expression>, [<order>]]…])  

Параметры

Термин Определение
table Таблица для фильтрации путем выполнения левого полусоединения с таблицей, указанной в качестве третьего аргумента (indexColumnsTable). Это таблица в левой части левого полусоединения, поэтому возвращаемая таблица содержит те же столбцы, что и эта таблица, за исключением того, что все общие столбцы двух таблиц будут заменены одним столбцом индекса в возвращаемой таблице.
indexColumnName Строка, указывающая имя столбца индекса, который заменяет все общие столбцы в двух таблицах, предоставленных в качестве аргументов этой функции.
indexColumnsTable Вторая таблица для левого полусоединяемого. Это таблица справа от левого полусоединения. Только значения, присутствующих в этой таблице, будут возвращены функцией. Кроме того, столбцы этой таблицы (на основе имен столбцов) будут заменены одним столбцом индекса в таблице, возвращаемой этой функцией.
orderBy_expression Любое выражение DAX, в котором используется результирующее значение, для указания требуемого порядка сортировки таблицы indexColumnsTable для создания правильных значений индекса. Порядок сортировки, указанный для таблицы indexColumnsTable, определяет индекс каждой строки в таблице, а этот индекс используется в таблице, возвращаемой для представления сочетаний значений в indexColumnsTable, так как они отображаются в таблице, предоставленной в качестве первого аргумента этой функции.
заказ (Необязательно) Значение, указывающее, как сортировать orderBy_expression значения, возрастание или убывание:

Значение: Desc. Альтернативное значение: 0(ноль)/FALSE. Сортировка по убыванию значений orderBy_expression. Это значение по умолчанию при опущении параметра заказа.

Значение: ASC. Альтернативное значение: 1/TRUE. Ранжирует в порядке возрастания orderBy_expression.

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

Таблица, содержащая только те значения, которые присутствуют в таблице indexColumnsTable, и которая содержит столбец индекса вместо всех столбцов, присутствующих (по имени) в таблице indexColumnsTable.

Замечания

  • Эта функция не гарантирует порядок сортировки результатов.

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).