powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Диаграмма Парето. Кто как строит?
9 сообщений из 34, страница 2 из 2
Диаграмма Парето. Кто как строит?
    #32405742
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий,

интересно а Impromptu сможет сгенерировать для Oracle конструкцию с использованием этих специфических аналитических функций?
Это спасло бы его репутацию по крайней мере в связке с Oracle.
Нет возможности попробовать?
Или даже не так. Надо просто создать левый каталог над любой оракловой базой. А потом открыть Ваш любимый "интеллектуальный" построитель выражений (кстати, они хоть удосужились в последней версии это окно с изменяемыми размерами сделать?) и посмотреть, стоит ли там значёк DB возле пиктограмм нужных функций (Running Total, наверное). Если да, то, по идее, можно заставить Impromptu хотя бы нарастающий итог на сервере посчитать, а, может, и даже всё остальное.
Попробуете?

P.S. очень рад за пользователей MS, у которых это всё-таки на сервере делается.
Ну, и за ораклоидов тоже :)

С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #32405790
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Константин, backfire & DimaR:

Константин,

Господа backfire и DimaR привели довольно поверхностные алгоритмы решения Вашей задачи. В частности я не понял, как проектировать куб MS AS - MDX-запрос приведен для измерения Customer, и не понятно, можно ли легко закачать в измерение куба миллионы чеков (чеков то обычно бывает больше, чем покупателей)... Аналогичный вопрос насчет решения в Oracle - какую версию СУБД надо использовать, надо ли там проектировать куб или аналитические функции обращаются к реляционной таблице, как потом визуализировать результат (писать ли клиентское приложение с нуля, или если нет - то какое приложение можно использовать)?

интересно а Impromptu сможет сгенерировать для Oracle конструкцию с использованием этих специфических аналитических функций?
Это спасло бы его репутацию по крайней мере в связке с Oracle.
Нет возможности попробовать?


Я не знаю, в какой версии СУБД Oracle есть эти функции, и не уверен, что у меня под рукой окажется сервак с данной версией Oracle :(
Репутации Impromptu пока ничего не угрожает (никто не говорит что это лучший в своем классе продукт, но в то же время типичные задачи, о которых говорят на форуме, он позволяет решать). Тем более что найдено решение задачи с помощью более мощного PowerPlay...

кстати, они хоть удосужились в последней версии это окно с изменяемыми размерами сделать?

Да, при работе в Интеллектуальном Конструкторе Выражений можно менять размеры окна.
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #32406012
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Jurii
Анадитические функции используються непосредственно в sql запросах,
они есть в начиная с Oracle 8i,

Кое что почитать можно тут

http://www.interface.ru/oracle/anal-itiv.htm
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #32406142
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Juri

Na schet Chekov, Schetov, Zakazov i prochei erundi kotoraya suschestvuet v nemerennih kolichestvah - nado vvesti izmerenie CheckSumInterval, konkretnie velichini zadaet polzovatel ili perekladivaem etu zadachi na DataMiningTask, esli samomu lenivo.
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #32416276
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Data Mining тут пока не пахнет, это вы погорячились :)

И все таки получается если упростить Парето до АБС анализа, то Майнинга тут уже ведь небудет.)
Как в одной из трактовок данного термина - поиск скрытых закономерностей.
АБС - это открытые закономерности.)

Взять хотя бы классические пример от Мацкрософт про карточки виза и холостяцкую жизнь. Там именно скрытые факты и выявляются. А тут понимаешь и так понятно что ктото из клиентов попадет в топ10 а ктото в топ 20.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Диаграмма Парето. Кто как строит?
    #33017245
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поздновато включаюсь в обсуждение, но есть соображения, которые хочу донести, так как считаю, что они могут быть интересными.

Насколько я понял задачу, изложенную Константином,
1. мы оперируем не понятием "клиент", а понятием "сделка",
2. топовыми мы должны считать сделки с максимальными суммами.
3. мы должны разбить сделки на диапазоны таким образом, чтобы в первый попали 10% сделок с наибольшими суммами, во второй - 20% сделок с наибольшими суммами и т.д. По оси ординат должны оказаться суммы сделок, попавших в группу, и/или производные от них абсолютные (средняя сумма сделки) и относительные (доля сделок группы в сумме всех сделок) величины.

Таким образом, о диаграмме Парето речи уже идти не может (она имела бы место быть, если бы мы разбили сделки на диапазоны сумм, нашли бы количества сделок, попадающие в каждый из диапазонов, а затем отсортировали бы диапазоны по убыванию, ведь диаграмма Парето, в статистике, это есть просто гистограмма, упорядоченная по убыванию высоты столбиков). Ну да ладно. Я хотел совсем не об этом повести речь. А о том, что, по моему мнению, некоторые задачи не нуждаются в точных бухгалтерских решениях. Зачем в данном примере считать сделки с точностью до одной штуки?

А еще некоторые задачи плохо решаются на чистом SQL.

Я предлагаю использовать методы матстатистики. И выдвигаю гипотезу: при равномерном контингенте лиц, совершающих сделки, при том, что суммы сделок могут быть как большими (набор продуктов на неделю), так и совсем маленькими (коробок спичек), а также при достаточно большом количестве сделок, т.е. при условии репрезентативности выборки (все эти условия соблюдаются, скажем, в продуктовых супермаркетах), распределение количества сделок по суммам может быть описано формулой Релея (то же, что и Гаусса, но при условии, что все начинается от нуля, и меньше нуля не бывает).

Гипотеза, несомненно, требует проверки. Но представим, что проверку она прошла. И что тогда? А то, что нам теперь нужно получить всего три вещи нашим SQL-запросом:
- общее количество сделок,
- среднюю сумму одной сделки,
- среднеквадратическое отклонение от средней.

Мю и сигму по этим данным определить труда не составит. ;-)))
А уж сколько процентов площади (соответственно, процентов от общего количества сделок) от нуля до определенного числа сигм под заваленным на левый бок колоколом, можно найти в любом продвинутом инженерно-техническом справочнике. Остальное - дело техники. Рассчитать постоянные коэффициенты к переменной сигме на основании того, на сколько диапазонов ось сумм сделок должна быть разбита и сохранить их как константы в табличке, с которой потом и вязать результат описанного выше запроса. Или запрограммировать формулу и написать функцию, у которой на входе три вышеуказанных вещи и число процентов "TOP", а на выходе - соответствующие средняя сумма чека (впрочем, минимальную будет высчитать проще, да и информативней, по-моему).
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #33017654
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jurii
интересно а Impromptu сможет сгенерировать для Oracle конструкцию с использованием этих специфических аналитических функций?
Это спасло бы его репутацию по крайней мере в связке с Oracle.
Нет возможности попробовать?


Я не знаю, в какой версии СУБД Oracle есть эти функции, и не уверен, что у меня под рукой окажется сервак с данной версией Oracle :(
Репутации Impromptu пока ничего не угрожает (никто не говорит что это лучший в своем классе продукт, но в то же время типичные задачи, о которых говорят на форуме, он позволяет решать). Тем более что найдено решение задачи с помощью более мощного PowerPlay...


Сомневаюсь, что найдете Oracle без этих функций :-) Учитывая что появились они в Oracle 8i, а на дворе уже 10g некоторыми под продуктив используется в хранилище(у того же Бирхоффа :-) )
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #33018046
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, нарастающий итог на MS SQL можно посчитать SQL-запросом. Задача достаточно тривиальная. К сожалению, производительность этого решения на больших объемах (несколько миллионов) будет не очень высока.
в качестве примера могу привести два варианта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @t table (i int)
insert into @t
select  1  union select  2  union select  3  union select  4  union select  5  union select  6 

select * from @t

-- Первый вариант
select
	h.i,
	RunningTotal = sum(isnull(s.i,  0 ))
from @t h
	left join @t s on h.i >= s.i
group by h.i

-- Второй вариант
select
	h.i,
	RunningTotal = (select top  1  sum(s.i) from @t s where s.i <= h.i)
from @t h
При этом первый вариант судя по плану похуже, чем второй. SQL Server 2005 оптимизурет 2 запрос лучше, чем SQL Server 2000. В итоге разница по костам уже в 2 раза.

В SQL Server 2005 уже есть некоторые аналитические функции, например SUM() OVER(PARTITION BY).
...
Рейтинг: 0 / 0
Диаграмма Парето. Кто как строит?
    #33018293
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AAron.
Это оффтопик и FAQ из SQL форума


Все. Тему закрываю.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Диаграмма Парето. Кто как строит?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]