Как заставить DAX USERELATIONSHIP работать с отношениями бабушки и дедушки

#powerbi #ssas #relationship #dax

#powerbi #ssas #отношения #dax

Вопрос:

ОК. Так что это будет довольно сложно объяснить, но я постараюсь изо всех сил.

У меня есть четыре таблицы, которые имеют отношения, соединяющие их все.

  • Таблица A подключена к таблице B с помощью одностороннего фильтра от B до A.
  • Таблица B подключена к таблице C с помощью двустороннего фильтра от B до C и от C до B.
  • Наконец, у меня есть таблица дат, которая связана с таблицей C через связь с датой.

По умолчанию DateTable фильтрует стандартные отношения, а не те, которые указаны выше. В результате мне приходится использовать пользовательскую связь, чтобы посмотреть правильную дату.

Я использую DAX таким образом, но при запуске он выдает ошибку SQL.

 CALCULATE(
    COUNTROWS(
        FILTER('Table A',
            'Table A'[Field1] = "Turtle" ||
            'Table A'[Field1] = "Zebra"
        )
    ), USERELATIONSHIP('Date'[Date], 'Table C'[SpecialDateKey])
)

  

Я думаю, проблема в том, что я не применяю ПОЛЬЗОВАТЕЛЬСКИЕ ОТНОШЕНИЯ к родителю (таблица B), а вместо этого к дедушке и бабушке (таблица C). Есть ли стандартный способ заставить эти отношения работать или мне лучше попробовать объединить таблицу B и таблицу C?

Комментарии:

1. Пожалуйста, предоставьте изображение модели (диаграмму отношений) из PowerBI. Вы говорите, что получаете ошибку, пожалуйста, укажите ошибку, которую вы получаете. Я теряюсь, когда вы говорите: таблица A подключена к таблице B хотите односторонний фильтр? Я не знаю, что таблицы могут быть связаны фильтрами, они связаны только отношениями.

2. У вас есть НЕАКТИВНЫЕ отношения между ‘Date’ и ‘Table C’ в столбцах, которые вы указали в функции? Возвращается ошибка, если какой-либо из столбцов, названных в качестве аргумента, не является частью отношения или аргументы принадлежат разным отношениям.