ABC анализ двух показателей.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ABC анализ двух показателей.

segador
Добрый день, Уважаемые!

Пока еще сложно найти русскоязычный форум/страничку про QlikView. По этому на вас Специалисты одна надежда. Задачка у меня такая - создать двумерный ABC анализ (анализ по двум показателям одновременно с определением ролей вида AA, AB, BA и тд). Пробовал найти в интернете подходящий солюшен, но предлагаемые решения воистину бестолковы и не подходят.

То есть решение представленное здесь например http://www.quickqlearqool.nl/?p=1086 лужит на поверхности, но оно не подходит по причине того что показатель во первых один, а во вторых обязательна сортировка по этому показателю.

Подошло бы мне любое решение ABC анализа не использующее сортировку таблицы и Full Accumulation!

Теперь собственно о конкретной проблеме (на примере одного показателя):
Есть некоторая схема, для простоты пусть в ней будет две таблицы - первая справочник товаров вторая продажи товаров (то есть таблица фактов). Нужно построить следующую таблицу:
| Товар        |   Количество продаж  | Доля продаж  | Показатель  |

Где показатель это сумма продаж всех товаров по которым сумма продаж меньше суммы продаж по конкретному товару (то есть по строке).

Пытаюсь осилить через Set анализ.... Но не получается. То есть вот такая конструкция работает:
sum( {$<[Товар] = {"=Sum({$}[КоличествоТовара]) < $(vrTest)"}>} TOTAL [КоличествоТовара] )
но нужно как кто вместо переменной vrTest подставить Сумму продаж по строке.

Если Вам не сложно или кто нибудь может дать информацию по организации ABC-анализа в QlikView поделитесь пожалуйста бесценным знанием.
Заранее благодарен.
--------------------
С уважением, Игорь.

Reply | Threaded
Open this post in threaded view
|

Re: ABC анализ двух показателей.

Mikhail Timoshin
Administrator
Женя, здесь коллега по перу написал в наш архиве рассылки. Посмотри,  
пожалуйста.


Добрый день, Уважаемые!

Пока еще сложно найти русскоязычный форум/страничку про QlikView. По этому  
на вас Специалисты одна надежда. Задачка у меня такая - создать двумерный  
ABC анализ (анализ по двум показателям одновременно с определением ролей  
вида AA, AB, BA и тд). Пробовал найти в интернете подходящий солюшен, но  
предлагаемые решения воистину бестолковы и не подходят.

То есть решение представленное здесь например  
http://www.quickqlearqool.nl/?p=1086 лужит на поверхности, но оно не  
подходит по причине того что показатель во первых один, а во вторых  
обязательна сортировка по этому показателю.

Подошло бы мне любое решение ABC анализа не использующее сортировку  
таблицы и Full Accumulation!

Теперь собственно о конкретной проблеме (на примере одного показателя):
Есть некоторая схема, для простоты пусть в ней будет две таблицы - первая  
справочник товаров вторая продажи товаров (то есть таблица фактов). Нужно  
построить следующую таблицу:
| Товар        |   Количество продаж  | Доля продаж  | Показатель  |

Где показатель это сумма продаж всех товаров по которым сумма продаж  
меньше суммы продаж по конкретному товару (то есть по строке).

Пытаюсь осилить через Set анализ.... Но не получается. То есть вот такая  
конструкция работает:
sum( {$<[Товар] = {"=Sum({$}[КоличествоТовара]) < $(vrTest)"}>} TOTAL  
[КоличествоТовара] )
но нужно как кто вместо переменной vrTest подставить Сумму продаж по  
строке.

Если Вам не сложно или кто нибудь может дать информацию по организации  
ABC-анализа в QlikView поделитесь пожалуйста бесценным знанием.
Заранее благодарен.
--------------------
С уважением, Игорь.

--
С уважением,
Михаил Тимошин
###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.
Reply | Threaded
Open this post in threaded view
|

Re: ABC анализ двух показателей.

Evgeny Ivanov
In reply to this post by segador
Добрый день.

Боюсь, что в такой постановке задача не решается.

Если нужно провести ABC-анализ без изменений структуры данных, то без сортировки по значениям не обойтись. И в приведенной формуле вместо vrTest ничего подставить не удастся, так как set распространяется на всю диаграмму (или таблицу), а не на отдельные значения измерений. Даже если получилось бы сделать так, чтобы условия в set-выражении менялись в зависимости от записи, то решение не было бы рабочим. Дело в том, что под каждый set QlikView создает новую копию данных в оперативной памяти. Чем больше было бы товаров в таблице, тем больше потребовалось бы памяти.

Думаю, что для решения данной задачи нужно создавать периодические снэпшоты с аккумулированными суммами (по каждому периоду и показателю, по которому проводится ABC-анализ). Например, вот так:

ВременнаяТаблица:
load
        НомерТовара,
        sum(Количество) as Количество
resident ТаблицаФактов
group by НомерТовара;

Snapshot:
load
        НомерТовара,
        alt(Количество, Количество + peek('НакоплКоличество', -1, 'Snapshot')) as НакоплКоличество
resident ВременнаяТаблица
order by Количество desc;

drop table ВременнаяТаблица;

Тогда, например, для вычисления группы ABC на диаграмме можно было бы использовать такое выражение:

if(НакоплКоличество <= 0.5 * max(total НакоплКоличество), 'A', if(НакоплКоличество <= 0.8 * max(total НакоплКоличество), 'B', 'C'))

Конечно, данный пример упрощен, так как в нем создается только один снэпшот без разбиениям по периодам. В реальности, наверное, потребуется создавать отдельный снэпшот для каждого года, квартала, месяца, в зависимости от потребностей пользователей.

С уважением,
Евгений Иванов
Руководитель направления BI/BPM решений
Импакт-Софт

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Михаил Тимошин
Sent: Friday, September 17, 2010 5:28 PM
To: List qvusers
Subject: Re: [qvusers]ABC анализ двух показателей.

Женя, здесь коллега по перу написал в наш архиве рассылки. Посмотри,
пожалуйста.


Добрый день, Уважаемые!

Пока еще сложно найти русскоязычный форум/страничку про QlikView. По этому
на вас Специалисты одна надежда. Задачка у меня такая - создать двумерный
ABC анализ (анализ по двум показателям одновременно с определением ролей
вида AA, AB, BA и тд). Пробовал найти в интернете подходящий солюшен, но
предлагаемые решения воистину бестолковы и не подходят.

То есть решение представленное здесь например
http://www.quickqlearqool.nl/?p=1086 лужит на поверхности, но оно не
подходит по причине того что показатель во первых один, а во вторых
обязательна сортировка по этому показателю.

Подошло бы мне любое решение ABC анализа не использующее сортировку
таблицы и Full Accumulation!

Теперь собственно о конкретной проблеме (на примере одного показателя):
Есть некоторая схема, для простоты пусть в ней будет две таблицы - первая
справочник товаров вторая продажи товаров (то есть таблица фактов). Нужно
построить следующую таблицу:
| Товар        |   Количество продаж  | Доля продаж  | Показатель  |

Где показатель это сумма продаж всех товаров по которым сумма продаж
меньше суммы продаж по конкретному товару (то есть по строке).

Пытаюсь осилить через Set анализ.... Но не получается. То есть вот такая
конструкция работает:
sum( {$<[Товар] = {"=Sum({$}[КоличествоТовара]) < $(vrTest)"}>} TOTAL
[КоличествоТовара] )
но нужно как кто вместо переменной vrTest подставить Сумму продаж по
строке.

Если Вам не сложно или кто нибудь может дать информацию по организации
ABC-анализа в QlikView поделитесь пожалуйста бесценным знанием.
Заранее благодарен.
--------------------
С уважением, Игорь.

--
С уважением,
Михаил Тимошин
###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.




###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.