|
про SCOPE
|
|||
---|---|---|---|
#18+
Запнулся на SCOPE. Вопрос кубистам MD. Помогите советом. В разных магазинах в разные даты действует программа лояльности к клиентам. Время действия программы регистрируется датами в привязке к магазинам в Табл3. Как все же правильно составить SCOPE для периода времени, чтобы подсчитать в Табл1 выручку, которую получили только от магазинов из Табл3, т.е. в период действия программы лояльности? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 17:57 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
Nivatu, а связи между t1 и t4 нет вообще или она все-таки есть если есть почему бы не маркировать факт в t1 на этапе etl? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 18:11 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
ShIgor, Верно, связь между t1 и t4 есть. Но на нее нет надежды. Она даст широкий диапазон. Его еще отсеять надо. И в конце концов рулить в t1 при расчете искомой выручки будет самый узкий фильтр. Это, как я писал, магазины, в которых была лояльность в заданном периоде. В DAX за несколько шагов можно получить отфильтрованную Т2 и затем в простой формуле применить ее как табличный фильтр для расчета мер в Т1. В MDX вижу решение только через SCOPE. Хотя для меня это один из самых загадочных операторов MDX. Например, нигде не встречал объяснение когда используется знак * в его определении. Про ETL. Это для меня сейчас резервный вариант. Маркетологи постоянно запускают какие то активности. Их уже сотни. А потом думают как всю эту музыку математикой измерить. Постоянное редактирование ETL чревато появлением скрытых ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 06:37 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
Nivatu, одно из простейших решений: добавьте в факт Тбл3 еще одно поле со значением 1 для каждого факта. создайте в группе мер Тбл3 меру на основании этого поля с именем, скажем, [фактАкции]. в первой группе мер скопируйте любую необходимую меру, скажем [Мера1] -> [Мера1Акционная] укажите в ее свойствах MeasureExpression = Measures.[Мера1Акционная] * Measures.[фактАкции] повторите операции для всех необходимых мер из первой группы. все. минус - то что меры будут задублированы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:20 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
ShIgor, Для поиска решения я ввел как раз такую меру в Тбл3. И спасибо за подсказку про "MeasureExpression". Не подумал про эту штуку. А вот дальше ... проблема. В Таб1 у меня есть уже 80(!) мер, в том числе тяжелых расчетных. Рука не поднимется множить эту бодягу примерно на 2. Итак то производительность не ахти. Попутно отыскал таки объяснение звездочке в определении SCOPE ))... Так, пустяки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:36 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
Привязал свой пример к AdventureWorks. Может так кому то проще будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:36 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
Nivatu, тогда остается m2m mgrПродажи mgrАкцииdimДата keyДата keyДатаdimТТ keyТТ keyТТdimАкция m2m(mgrАкции) keyАкция это даст на уровне All Акций - все продажи, включая безакционные на уровне членов акций - разбивка по акциям но все безакционные в unknown member акций не попадут. чтобы они попали надо делать еще одну промежуточную группу мер. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 14:57 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
Nivatu Запнулся на SCOPE. Вопрос кубистам MD. Помогите советом. В разных магазинах в разные даты действует программа лояльности к клиентам. Время действия программы регистрируется датами в привязке к магазинам в Табл3. Как все же правильно составить SCOPE для периода времени, чтобы подсчитать в Табл1 выручку, которую получили только от магазинов из Табл3, т.е. в период действия программы лояльности? Мое мнение не надо развлекаться на уровне кубов. Сделайте таблицу фактов или вьюху над таблицей фактов, где все предварительно рассчитайте. Материализованная таблица фактов предпочтительнее. https://habr.com/ru/post/441538/ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 19:42 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
a_voronin, для того чтобы произошел т.н. взрыв данных? если вьюхой еще можно обойтись без увеличения занятого пространства ненужными фактами, то со временем обработки такое не прокатит. а это надо кому? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 10:55 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
ShIgor a_voronin, для того чтобы произошел т.н. взрыв данных? если вьюхой еще можно обойтись без увеличения занятого пространства ненужными фактами, то со временем обработки такое не прокатит. а это надо кому? Ваш вопрос выводит нас на конфликт идеологий между Кимбаллом и Инмоном. Именно вопрос в том, материализовать факты или нет. Как раз решения без материализации фактов со временем приводят к росту времени обработки. А что касается занимаемого места, то колумсторы решают эту проблему и решают хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2021, 13:18 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
a_voronin, Shlgor Пока отъехал на резервном варианте, т.е. через "взрыв данных". Если не переводить этот куб на DAX, чего пока по некоторым соображениям делать не хочется, то, с большой вероятностью, резервный станет основным. Не получается каменный цветок (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 12:50 |
|
про SCOPE
|
|||
---|---|---|---|
#18+
a_voronin Ваш вопрос выводит нас на конфликт идеологий между Кимбаллом и Инмоном. Именно вопрос в том, материализовать факты или нет. Тут скорее вопрос - материализовать ли синтетические факты или нет. Коль скоро они синтетические - возникает соблазн не материализовывать и генерить в момент обсчета. По своему опыту - соглашусь что колумстор жмет хорошо и проще/надежнее материализовывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 16:39 |
|
|
start [/forum/topic.php?fid=49&fpage=2&tid=1857069]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 251ms |
total: | 392ms |
0 / 0 |