Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Разбика фактов на группы  [new]
user07
Guest
Всем привет.
Имеется calculated measure. Теперь надо поделить эти значения на группы и их засунуть в фильтры (эксель). Т.е. if calcmeasure between 0 and 100 then "A", if calcmeasure 101 .. 200 then "B" etc...
Подскажите пожалуйста как такое реализовать ?
Догадываюсь надо создать таблицу
select 1 id, 'A' group 
union
select 2 id, 'B' group 
.... 

но как и где сопоставить этот id с диапазоном не могу найти, опыта пока не много
31 окт 17, 15:03    [20915894]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
user07
Guest
Sql server 2016, ssas
31 окт 17, 15:04    [20915902]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
Alex_496
Member

Откуда: Moscow https://www.dvbi.ru
Сообщений: 3491
Разбиваете на диапазоны на уровне DWH, можно/нужно двух уровневую иерархию - справочник
и факты LookUp через этот справочник, возвращая и храня в таблице фактов id справочника-диапазона
31 окт 17, 15:22    [20916003]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1190
user07
Всем привет.
Имеется calculated measure. Теперь надо поделить эти значения на группы и их засунуть в фильтры (эксель). Т.е. if calcmeasure between 0 and 100 then "A", if calcmeasure 101 .. 200 then "B" etc...
Подскажите пожалуйста как такое реализовать ?
Догадываюсь надо создать таблицу
select 1 id, 'A' group 
union
select 2 id, 'B' group 
.... 

но как и где сопоставить этот id с диапазоном не могу найти, опыта пока не много

Ищите поиском в этой ветке задачу про ABC анализ. Если нужно группировать значения по одному определенному измерению, а не по любому - задача сильно упрощается.
31 окт 17, 15:25    [20916016]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
vikkiv
Member

Откуда: London / Zurich
Сообщений: 1141
Andy_OLAP - ABC двухфакторная классификация (более того здесь на форуме только единицы из сотни тем об этом дают правильные решения из-за непонимания методологии остальным большинством), ТСу нужна однофакторная, так что отсылка на примеры расчёта ABC на этом форуме - явная дезинформация, тут несмотря на тонны приведённого кода практически нет качественного материала на эту тему.


user07 - как выше говорят - или на DWH/DM уровне материализовать или создать дополнительную расчётную меру через case или iif
если группировка нужна - то атрибут в измерение можно добавить с элементами {A,B,C...} - a дальше в зависимости от материализованной или нет реализации, при расчётной мере - него Scope с этими условиями (count или sum на нужной гранулярности)
31 окт 17, 16:03    [20916197]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1190
vikkiv
Andy_OLAP - ABC двухфакторная классификация (более того здесь на форуме только единицы из сотни тем об этом дают правильные решения из-за непонимания методологии остальным большинством), ТСу нужна однофакторная, так что отсылка на примеры расчёта ABC на этом форуме - явная дезинформация, тут несмотря на тонны приведённого кода практически нет качественного материала на эту тему.


user07 - как выше говорят - или на DWH/DM уровне материализовать или создать дополнительную расчётную меру через case или iif
если группировка нужна - то атрибут в измерение можно добавить с элементами {A,B,C...} - a дальше в зависимости от материализованной или нет реализации, при расчётной мере - него Scope с этими условиями (count или sum на нужной гранулярности)

Не согласен категорически. Вчитайтесь, что нужно автору темы - у него есть calculated measures.
То есть на срезе выбирает "средняя цена реализации" (которая продажи руб делить на продажи шт) и получает для некоторых SKU (или магазинов или продавцов, в общем, измерение в строках) градацию от 0 до 100 и хочет видеть "A", для 101-200 хочет видеть "B". Значит, нужно динамически раскидывать, чтобы были наборы в измерении. А далее "их засунуть в фильтры" - выбрал фильтром такой набор B и смотрит по попавшим в него товарам или по попавшим в него магазинам распределение других показателей.
При этом автор темы должен понимать, что у него таких наборов будет ограниченное количество, под каждый явно написать формулу в Calculations.
31 окт 17, 16:12    [20916232]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
user07
Guest
Всем привет,
Большое спасибо всем за наводку
Куб будет с большим кол-вом фактов и измерений, на DWH layer перенести не могу т.к. нужны будут все группировки.
Потихоньку разбираюсь с named sets.
Я создал dynamic A_TestNS
FILTER({[orders].[Hierarchy].members},
[measures].[WAVG_test] <= 100)


,в экселе включил A_TestNS на строках и получил только те заказы, которые попали под мое условие, спасибо!

Но теперь как мне сделать, чтобы пользватель имел возможность выбрать категорию в фильтрах ? У меня есть фейковый dimension (запрос в первом сообщении) - я так думаю мне нужно найти способ чтобы при выборе в фильтре категории "включался" нужный named sets.
Или не то ?
Если не долго и не сложно покажите плз пример mdx как такие задачи решаются.
1 ноя 17, 11:40    [20918348]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
Alex_496
Member

Откуда: Moscow https://www.dvbi.ru
Сообщений: 3491
user07,

учтите, на больших измерениях Dynamic Set жутко тормозят
1 ноя 17, 12:15    [20918515]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1190
user07
Но теперь как мне сделать, чтобы пользватель имел возможность выбрать категорию в фильтрах ?

Так ведь в том и фокус, что на каждый чих писать набор из нескольких named set.
По SKU - свой. По категориям номенклатуры - свой. По производителям - свой.
И каждый такой набор будет затормаживать работу с кубом. А что делать - если задачей от пользователей обозначено "значения на группы и их засунуть в фильтры (эксель). "
Хотите, чтобы была группа A по категориям, и анализируете ее факты в разрезе магазинов - делаете. Хотите, чтобы была группа A по магазинам, и анализируете ее факты в разрезе поставщиков - делаете.
Все вручную.
Поэтому выбивайте из пользователей показания, что им на самом деле нужно. А не так, чтобы "выбрал все, что хочу, и получил результат".
Ну или думайте про Tabular+VBA/Qlik, чтобы пересоздавать наборы в ответ на действия пользователей.
1 ноя 17, 13:02    [20918686]     Ответить | Цитировать Сообщить модератору
 Re: Разбика фактов на группы  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 1963
user07,

вроде я это уже описывал.. или ошибаюсь?
Разбить на группы на основе результатов, named set?
1 ноя 17, 13:46    [20918844]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить