Поделиться через


CROSSJOIN

Область применения: вычисление вычисляемого столбца вычисляемой таблицы Меры визуального элемента

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

Синтаксис

CROSSJOIN(<table>, <table>[, <table>]…)  

Параметры

Термин Определение
table Любое выражение DAX, возвращающее таблицу данных

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

Таблица, содержащая декартовую продукцию всех строк из всех таблиц в аргументах.

Замечания

  • Имена столбцов из аргументов таблицы должны отличаться во всех таблицах или возвращается ошибка.

  • Общее количество строк, возвращаемых CROSSJOIN() равно продукту числа строк из всех таблиц в аргументах; Кроме того, общее количество столбцов в результирующих таблицах — это сумма количества столбцов во всех таблицах. Например, если TableA содержит строки rA и столбцы cA, а TableB содержит строки rB и столбцы cB, а в таблице есть строки rC и столбец cC, то результирующая таблица имеет rA × rb × строками rC и столбцами cA + cB + cC.

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

Пример

В следующем примере показаны результаты применения CROSSJOIN() к двум таблицам: цвета и бланки.

Цвета таблицы содержат цвета и шаблоны:

Color Расписание
Красный Горизонтальная полоса
Зеленый Вертикальная полоса
Синий Перекрестие

В табличной бланке содержатся шрифты и презентации:

Шрифт Презентация
шрифт с засечками рельефный
sans-serif выгравированный

Выражение для создания перекрестного соединения представлено ниже:

CROSSJOIN( Colors, Stationery)  

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

Color Расписание Шрифт Презентация
Красный Горизонтальная полоса шрифт с засечками рельефный
Зеленый Вертикальная полоса шрифт с засечками рельефный
Синий Перекрестие шрифт с засечками рельефный
Красный Горизонтальная полоса sans-serif выгравированный
Зеленый Вертикальная полоса sans-serif выгравированный
Синий Перекрестие sans-serif выгравированный