Всем привет!
Есть вопрос, интересно мнение сообщества, не могу найти примеры подобной реализации.
Есть хранилище, на нем табличная модель SSAS и Power BI, вопрос в реализации измерений.
Есть такая воронка заявка - кредит - транзакция. Заявок много, млн 20 и быстро растет, кредитов % 10 от заявок, транзакций тоже 20 млн. Так вот, есть измерения у которых есть бизнес ключ в источнике, это просто, id клиента, id geo данных (город и т.д.), а что делают обычно если нужны аттрибуты заявки которые в источнике лежат прям в факте, т.е. заявки в источнике это широченная таблица (там нарушены все нормальные форма, но это другой разговор)
Пример тут
https://www.sql.ru/forum/1311409/power-bi-kak-svyazat-2-srezaК примеру у заявки есть куча разных аттрибутов, из примера выше Repeat Sale (1,0), Channel и т.д., на самом деле их очень много. Бизнес хочет по ВСЕМ этим аттрибутам фильтровать всю воронку, т.е. я выбираю Channel = Mobile и вижу кол-во заявок, сумму которую хотели получить (цифра в заявке), кол-во контрактов, сумму контрактов и сколько было выплачено % по ним. Эти атрибуты есть только в заявке, в источнике в контракте только ID заявки, а в транзакции ID контракта. Вроде как заявка получается как Dim, но уж очень она большая выходит, и нужен ее анализ, т.е. сколько создали, суммы, шаги (в факте заявок есть разные даты, вроде отправки смс и прочее). Как сейчас, 1 шагом гружу в стейдж все заявки, потом формирую справочник, а именно выбираю нужные столбцы (channel, repeat sale и прочее), группирую (т.е. это и будет бизнес ключ) и делаю Merge DimAppAttribute, через Identity получаю суррогатный ключ, потом когда гружу факты, делаю Lookup по каждому полю чтобы получить суррогатный ключ атрибутов. Потом гружу контракты, и делаю Lookup к фату заявок, чтобы получить ключ DimAppAttribute. Как-то так.
Больше всего последнее смущает, обращаюсь к факту как к Dim, но не вижу смысла делать заявки измерением, во первых они здоровые, во вторых по требованию (анализ который необходим) это факт и в 3х к одному контракту только 1 заявка идет, поэтому все что мне нужно это только ее атрибуты для анализа, чтобы видеть по ним воронку.