У меня есть две таблицы фактов, которые я хочу проанализировать вместе, но нет прямой связи между ними. Я должен использовать несколько измерений, чтобы связать их. Итак, у меня есть более прямой пример, скажем, у меня есть таблица заказов и таблица рефералов:
Orders
- OrderId
- OrderLineNumber
- SalesRepresenlativeId
- OrderDate
- CustomerId
- ProductId
Реферал
- ReferralId
- ReferralDate
- ExpirationDate
- CustomerId
- SalesRepresenlativeId
Эти два таблицы расположены в двух разных областях, что затрудняет их совместный анализ. Пока что я решил, что эти две таблицы - мои факты. И попытайтесь связать их, используя размеры, которые они разделяют.
Но я не могу гарантировать, что у каждого заказа есть только один реферал или наоборот. Правило, которое мне нужно применить, - это найти первый элемент заказа между датой реферала и датой истечения срока, где все другие измерения совпадают. Но я также должен принять во внимание, что если заказ уже был назначен другому рефералу, он должен взять следующую доступную позицию заказа, если это возможно.
То, что я хочу в конечном итоге рассчитать, это возраст реферала или возраст на сегодняшний день, если заказ не найден.
Я могу найти способ сделать это в Python или C#. Но возможно ли сделать это в DAX, используя меру или вычисляемое поле? Есть ли смысл делать это? Если бы я рассчитывал это заранее в более раннем сценарии Python, например, объединю ли я свои факты в одну таблицу?