USERELATIONSHIP

USERELATIONSHIP

USERELATIONSHIP используется для явного указания активной связи между двумя таблицами в модели данных. Это полезно, когда между парой таблиц в модели данных было определено несколько связей и для вычисления меры необходимо активировать одну из них.

По умолчанию, работает только одна активная связь между двумя таблицами, которая была определена в модели данных на уровне проектирования связей. Однако если в вашей модели данных определено несколько возможных связей между таблицами, функция USERELATIONSHIP позволяет временно переопределить активное отношение для конкретного вычисления.

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

  • Функция USERELATIONSHIP может использоваться как аргумент только с функциями CALCULATE или TOTALYTD.

  • Убедитесь, что указанное отношение действительно существует в модели данных, иначе возникнет исключение.

  • Если активная связь уже существует, и вы пытаетесь задать с помощью USERELATIONSHIP уже активированную связь, функция не окажет влияния.

Синтаксис

USERELATIONSHIP(<column1>, <column2>)

где

  • <column1> – первый столбец, который является частью связи;

  • <column2> – второй столбец, который является частью связи.

Пример

Предположим, у вас есть две таблицы: Sales и Date, связанные через две возможных связи:

  1. Sales[OrderDate]Date[Date] (активная по умолчанию);

  2. Sales[ShipDate]Date[Date] (неактивная).

    userelationship.png

Вы хотите рассчитать общую сумму продаж, основываясь на дате отгрузки (ShipDate) вместо даты заказа (OrderDate). Для этого можно использовать следующую формулу:

Сумма продаж (отгрузки) = CALCULATE( SUM(Sales[Amount]), USERELATIONSHIP(Sales[ShipDate], Date[Date]) )

В этом примере функция USERELATIONSHIP указывает что необходимо использовать связь между Sales[ShipDate] и Date[Date] для расчета суммы продаж.

userelationship2.png

Смотрите также

Поддерживаемые функции DAX
Математические операторы
Особенности использования USERELATIONSHIP при активных RLS-правилах

 

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.