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

Откуда:
Сообщений: 36
Добрый день!
Есть следующая задача:
При создании динамического набора типа TOPPERCENT(NONEMPTY([Товар].[Товар].MEMBERS-[Товар].[Товар].[All]),80,[Measures].[Продано с возвратами грн с НДС]) в результате получаю не полный список, он заканчивается на 72.38%, хотя до 80% там еще несколько позиций должно отображаться. В чем может быть проблема?
21 ноя 17, 13:52    [20972081]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1310
Сергей_1991
Добрый день!
Есть следующая задача:
При создании динамического набора типа TOPPERCENT(NONEMPTY([Товар].[Товар].MEMBERS-[Товар].[Товар].[All]),80,[Measures].[Продано с возвратами грн с НДС]) в результате получаю не полный список, он заканчивается на 72.38%, хотя до 80% там еще несколько позиций должно отображаться. В чем может быть проблема?

Потому что "This function returns the smallest subset of a set whose cumulative total is at least the specified percentage". Представьте, что у Вас значения 10,9,8...1, если сложить 10 и 9 - будет 72.38%, если сложить 10 и 9 и 8 - будет например 81%, поэтому берется наименьший.
21 ноя 17, 14:20    [20972223]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Сергей_1991
Member

Откуда:
Сообщений: 36
Я точно знаю , что после 72% есть еще позиции у которых накопительные итоги показывают 73, 74, 78, 79,79.5%, по этому и обратился с данной проблемой
21 ноя 17, 14:24    [20972243]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
vikkiv
Member

Откуда: London / Zurich
Сообщений: 1144
Сергей_1991,

1) nonempty у тебя там от чего считает?
2) TopPercent сортирует по убывающей - из этих оставшихся позиций добавление наибольшего значения должно давать накопительный итог меньше 80%. И второе - есть-ли значения ниже нуля?
21 ноя 17, 17:47    [20973053]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1310
vikkiv
есть-ли значения ниже нуля?

Наверняка есть, раз продажи с возвратами...
21 ноя 17, 17:55    [20973081]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
ShIgor
Member

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

вы уверены, что ТС понимает что пытается сделать этой функцией?
цитата "... есть еще позиции у которых..."
22 ноя 17, 09:36    [20974176]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Сергей_1991
Member

Откуда:
Сообщений: 36
vikkiv
Сергей_1991,

1) nonempty у тебя там от чего считает?
2) TopPercent сортирует по убывающей - из этих оставшихся позиций добавление наибольшего значения должно давать накопительный итог меньше 80%. И второе - есть-ли значения ниже нуля?


добрый день!
1) По идее должен вернуться список по продажам , с учетом выставленных фильтров
2) Да , есть продажи с минусом
22 ноя 17, 11:33    [20974524]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 1310
Сергей_1991
vikkiv
Сергей_1991,

1) nonempty у тебя там от чего считает?
2) TopPercent сортирует по убывающей - из этих оставшихся позиций добавление наибольшего значения должно давать накопительный итог меньше 80%. И второе - есть-ли значения ниже нуля?


добрый день!
1) По идее должен вернуться список по продажам , с учетом выставленных фильтров
2) Да , есть продажи с минусом

Я бы на Вашем месте сделал так. Собрал тестовый мини-кубик с простой группой мер SUM для мера1, привязка только к измерению Товар, поверх view, где для 7 разных товаров идет мера1 как +50,+10,+10,+20,+10,+25,-25, прямо как select ...union all select....

И там бы попробовал TOPPERCENT(NONEMPTY([Товар].[Товар].MEMBERS-[Товар].[Товар].[All]),80,[Measures].[мера1]) с разными процентами, 50,60,70,75...
22 ноя 17, 11:50    [20974590]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
ShIgor
Member

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

Похоже никто Вам не поможет...
что такое "..позиции у которых накопительные итоги показывают 73...79,5%"?

что делает toppercent с вашими данными:
берет список товаров, сортирует его по указанной мере по уменьшению, вычисляет накопительный итог по этой же мере и когда процент этой накопиловки достигнет ближайшего к указанному условии процента (80) от ОБЩЕГО итога по всему списку останавливает отбор.

причем здесь Ваши проценты?
22 ноя 17, 16:20    [20975655]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 1964
извините, перечитал все еще раз. мои предыдущие посты не в тему...

проверьте наличие мультиселекта в контексте запроса, а вообще хотелось бы увидеть весь запрос целиком
22 ноя 17, 16:42    [20975741]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Сергей_1991
Member

Откуда:
Сообщений: 36
ShIgor
извините, перечитал все еще раз. мои предыдущие посты не в тему...

проверьте наличие мультиселекта в контексте запроса, а вообще хотелось бы увидеть весь запрос целиком


Добрый день!
В данном случае создается именованный набор данных (динамический) по следующему выражению
TOPPERCENT(NONEMPTY([Товар].[Товар].MEMBERS-[Товар].[Товар].[All]),80,[Measures].[Продано с возвратами грн с НДС])

Все это я делаю через vs 2015 в конструкторе куба
23 ноя 17, 11:35    [20977411]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
ShIgor
Member

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

используете как? MDX покажите.
и зачем
[Товар].[Товар].MEMBERS-[Товар].[Товар].[All]
, почему не просто
[Товар].[Товар].[Товар]
?
23 ноя 17, 12:11    [20977538]     Ответить | Цитировать Сообщить модератору
 Re: Некорректно работает TOPPERCENT в SSAS 2012  [new]
Сергей_1991
Member

Откуда:
Сообщений: 36
ShIgor
Сергей_1991,

используете как? MDX покажите.
и зачем
[Товар].[Товар].MEMBERS-[Товар].[Товар].[All]
, почему не просто
[Товар].[Товар].[Товар]
?


Примером выступал данное обсуждение, по этому использовал данные формулы
http://www.sql.ru/forum/624429-2/mdx-strannoe-povedenie-cm
23 ноя 17, 15:24    [20978186]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить