Aleksandr Ignatyev
Пытался с помощью DAX сделать похожее.
Сделал суррогатный ключ из полей start_date, end_date и id в scd2.
Подтянул его в fact'ы через calculate().
Но при построении свяиз по этому полю PBI выдал ошибку circular dependency.
Ну это другая ошибка. У каждой строки в справочнике надо сделать ключ, если его нет, то просто индексом в PQ. Далее в фактах calculate( values([record id column]), Filter( справочник, отфильтровать по элемент id и по дате)) - так он вернет айди соответствующей записи. Убедитесь что по каждому элементу справочника нет записей с Пересекающимися периодам действия. Но лучше это делать на стороне источника данных, или же в PQ, так движок vertipaq лучше сломает данные и производительность будет лучше.