Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 Динамические или визуальные итоги  [new]
Larr`
Member

Откуда: у парня сирийская грусть?
Сообщений: 734
Здравствуйте, господа!
В эфире наша постоянная рубрика "Они хотят странного"
Есть продукты, поделенные на типы и категории, есть отклики.
Собственно, форулировка задания
автор
С целью агрегации информации по звонку клиента учитываются следующие приоритеты:
- если проставлено несколько типов отклика, и один из них «Согласен», то учитывается тип «Согласен» и не учитываются типы «Отказ» и «Подумает»
- если не проставлен тип отклика «Согласен», но проставлены типы «Подумает» и «Отказ», то учитывается тип «Подумает» и не учитывается тип «Отказ»
- тип «Отказ» имеет приоритет только над типом «Не озвучено»
Значения флагов: С = Согласился, П = Подумает, О = Отказ, Н = Не озвучено
Для одного звонка учитывается max из откликов, для агрегации по оператору учитывается сумма звонков (по max)

Вроде бы всё просто и в такой формулировке я задачу решил путём создания пяти дополнительных полей, заполняемых примерно так
iif(row_number() over (partition by t.call_id,t.employee_id,p.[product_name] order by resp_id)=1,1,0) as sumpr

и далее подставляемых в скоупы так, как получилось
SCOPE(Descendants([Product].[Product Name],,LEAVES),[Measures].[Cnt Act Offers]); 
this=[Measures].[Sumpr]; 
end scope; 

Всё работает как описано, но оказалось, что ОНИ хотели не этого, а динамических итогов в зависимости от того, что вытащено в отчёт, т.е. для примера (один звонок одного оператора)
TypeNameChanФлаг
АA1XС
АA1YО
АA2XП
АA2YО
BB1XС
BB1YН
BB2XО
BB2YН
CC1XС
DD1XП

Нужны такие результаты:
TypeName ChanСПОНИтог
AA1X10001
AA1Y00101
AA2X01001
AA2Y00101
BB1X10001
BB1Y00011
BB2X00101
BB2Y00011
CC1X10001
DD1X01001
Итог323210

TypeName СПОНИтог
АA110001
АA201001
BB110001
BB200101
CC110001
DD101001
Итог321 06

TypeChanСПОНИтог
AX10001
AY00101
BX10001
BY00011
CX10001
DX01001
Итог311 16

TypeСПОНИтог
А10001
B10001
C10001
D01001
Итог31004

ChanСПОНИтог
X10001
Y00101
Итог10102

Как это можно реализовать на MDX?
То есть ещё раз проблема в том, что нужны динамические итоги для других измерений в зависимости от того, какие из этих измерений используются в раскладке куба.
Помогите, пожалуйста
11 сен 17, 17:10    [20787729]     Ответить | Цитировать Сообщить модератору
 Re: Динамические или визуальные итоги  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 902
я вот долго думал над 1 таблицей - 1 звонок 1 оператора и не понял смысла
да и на выходе не понял - должно быть 5 таблиц ???
11 сен 17, 17:36    [20787808]     Ответить | Цитировать Сообщить модератору
 Re: Динамические или визуальные итоги  [new]
Larr`
Member

Откуда: у парня сирийская грусть?
Сообщений: 734
Гулин Федор
я вот долго думал над 1 таблицей - 1 звонок 1 оператора и не понял смысла
да и на выходе не понял - должно быть 5 таблиц ???

В течение одного звонка один оператор может предложить одному клиенту несколько продуктов и получить на эти предложения ответы (согласие, подумает, отказ). Что непонятно?
Гулин Федор
да и на выходе не понял - должно быть 5 таблиц ???

Я вроде один раз написал в заголовке и два раза повторил в сообщении, что эти пять таблиц - варианты агрегации одного поля в зависимости от раскладки куба. Причём на уровнях в виде постепенного "сворачивания" у меня работает, нужны динамические итоги.
11 сен 17, 17:57    [20787874]     Ответить | Цитировать Сообщить модератору
 Re: Динамические или визуальные итоги  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 1631
Larr`
Что непонятно? ....
Я вроде один раз написал в заголовке и два раза повторил .


так вы слона не продадите )


используете скопе для каждого измерения
12 сен 17, 11:03    [20789225]     Ответить | Цитировать Сообщить модератору
 Re: Динамические или визуальные итоги  [new]
Larr`
Member

Откуда: у парня сирийская грусть?
Сообщений: 734
StarikNavy
используете скопе для каждого измерения


Я и так использую скоуп для каждого измерения. Но, если внимательно посмотреть на примеры таблиц, проблема в том, что итоги по агенту и/или дате должны зависеть от вытащенных измерений. Соответственно, насколько я понимаю olap-кубы нельзя создать статические итоги для агента и даты. Надо в скоуп этого уровня загнать чтото вроде "iif на осях лежат измерения такие-то, то итог для агента-даты брать из одного поля, если другие, то из другого"
Кто-нибудь может помочь с такой конструкцией?
12 сен 17, 16:38    [20790633]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить