Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OLAP в Excel 
:(
    Опции темы
motorway
Дата 27.11.2009, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Кто сталкивался с применением OLAP в Excel и может посоветовать какой-нибудь понятный пример, где будет видно, чем же эта технология хороша и как работает конкретно? 
PM MAIL   Вверх
FINANSIST
Дата 27.11.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Каждый рабочий день не без этого, что конкретно интересует:
Технология формирования кубов?
Отличие автономных кубов от неавтономных (плюсы и минусы)?
Правила построения иерархии аналитик в кубе?
Недостатки сводных таблиц на кубах по сравнению со сводными на неиерархических списках?
Грабли при формировании вычисляемых полей?
Методика работы "Дополнительных вычислений"?
Или что то ещё?

Цитата

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


Кратчайший ликбез
25 простых отчетов на основе сводных таблиц
Введение в OLAP
Excel как OLAP клиент
Програмная работа с измерениями (VBA)
30 идей применения OLAP



Это сообщение отредактировал(а) FINANSIST - 27.11.2009, 10:42


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
motorway
Дата 27.11.2009, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Спасибо.
Для начала самое основное, напр. технология формирования кубов. Обычно все это преподносится как средства для многомерного анализа данных. Но насколько он многомерный - таблица же всегда двумерная?
Действительно ли это помогает и в чем здесь изюминка, отличие от всего того, что можно сделать средствами Эксела просто (разные фильтры и т.п.)?

Кроме этого, такое ощущение, что многие действия можно просто выполнять с помощью SQL - напр., определение места макс. продаж, компаний, у которых только такие-то показатели и т.п.
Неужели здесь что-то качественно новое?

Это сообщение отредактировал(а) motorway - 27.11.2009, 18:33
PM MAIL   Вверх
RockClimber
Дата 29.11.2009, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Цитата(motorway @  27.11.2009,  18:30 Найти цитируемый пост)
Неужели здесь что-то качественно новое?

Я сам не большой знаток OLAP, но, насколько я помню, принцип заключается в том, что данные хранятся в виде многомерного массива. В ячейках массива для всех данных рассчитаны агрегатные функции. Делая запрос к OLAP-кубу, ты получаешь не выполнение SQL-запроса (с расчетами, перемножением таблиц и пр.), а просто выборку заранее рассчитанного результата. На больших объемах данных время выполнения запроса к OLAP хранилищу может составлять около 0.1% от времени выполнения эквивалентного SQL-запроса (где-то я такую цифру видел, вроде даже на том же olap.ru). То есть ускорение до 1000 раз.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
motorway
Дата 29.11.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Но ведь чтобы этот массив создать, нужно тоже время (и сам куб получается путем SQL запросов к базе?). И получается, что мы сможем узнать только некоторые данные, которые есть в кубе, а не делать произвольный запрос. Хм, ну это еще ладно, а вот насчет многомерности - где же здесь истинная многомерность, максимум, что можно изобразить - это куб. 6-мерный анализ данных для человека труден smile
PM MAIL   Вверх
RockClimber
Дата 30.11.2009, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Цитата(motorway @  29.11.2009,  23:01 Найти цитируемый пост)
Но ведь чтобы этот массив создать, нужно тоже время (и сам куб получается путем SQL запросов к базе?).

Да, только создается он 1 раз, а используется сотни и тысячи. Это, грубо говоря, промежуточный результат расчетов - самая трудоемкая часть вычисляется и хранится в отдельном хранилище. Исходные (неагрегированные) данные тоже доступны.

Цитата(motorway @  29.11.2009,  23:01 Найти цитируемый пост)
И получается, что мы сможем узнать только некоторые данные, которые есть в кубе, а не делать произвольный запрос.

Это зависит от того, как спроектирован куб. Кроме того, "Куб" - это весьма условное название, потому что это не обязательно трехмерный куб, измерений может быть больше.

Цитата(motorway @  29.11.2009,  23:01 Найти цитируемый пост)
максимум, что можно изобразить - это куб.

Я такого не говорил  smile  smile 

Цитата(motorway @  29.11.2009,  23:01 Найти цитируемый пост)
6-мерный анализ данных для человека труден

Жизнь вообще тяжелая штука. А для компьютера, кстати, вообще все равно, сколько там измерений.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
FINANSIST
Дата 30.11.2009, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(motorway @  27.11.2009,  18:30 Найти цитируемый пост)
Действительно ли это помогает и в чем здесь изюминка, отличие от всего того, что можно сделать средствами Эксела просто (разные фильтры и т.п.)?

Кроме этого, такое ощущение, что многие действия можно просто выполнять с помощью SQL - напр., определение места макс. продаж, компаний, у которых только такие-то показатели и т.п.


Изначально это технология создавалась для аналитиков, финансовых, торговых - неважно, т.к. аналитикам требуется "мгновенная" скорость построения большого количества  нестандартных отчетов различной глубины и степени детализации.
Действительно на SQL можно сформировать любой срез что и в OLAP, 
однако те же промежуточные итоги добавлять на SQL для каждого элемента в заголовках строк или столбцов это полный изврат.
Пока юзер будет писать один 10-этажный sql с учетом промежуточных и конечных итогов (опыт юзера не важен, пусть хоть 30 лет он уже этим занимается) аналитик успеет сформировать сотню, другую отчетов потому что куб можно вертеть как угодно - на то он и online analytical processing

Это сообщение отредактировал(а) FINANSIST - 30.11.2009, 10:12


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
motorway
Дата 1.12.2009, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Значит, хорошо бы посмотреть какое-нибудь несложное демо в Экселе, где все это можно попробовать. Там было какое-то видео у Майкрософта с примером про Adventure Works, но, может, что-то еще есть из примеров с OLAP?
PM MAIL   Вверх
FINANSIST
Дата 1.12.2009, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(motorway @  1.12.2009,  00:35 Найти цитируемый пост)
Значит, хорошо бы посмотреть какое-нибудь несложное демо в Экселе, где все это можно попробовать.

Вот нарыл на microsoft неплохой пример для тренировок начинающих (в формате xlt+всплывающая справка) 
Вполне достаточно, что бы освоить простейшие манипуляции с измерениями (пока нет разговора о кубах, вычисляемых полях и прочих возможностей)


Это сообщение отредактировал(а) FINANSIST - 1.12.2009, 10:14

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  06220387.zip 17,31 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
motorway
Дата 1.12.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Спасибо. Правда, не очень понял, что именно с этой таблицей можно сделать. Мне бы хотелось посмотреть в действии сам OLAP, в т.ч. эти пресловутые кубы
PM MAIL   Вверх
FINANSIST
Дата 2.12.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Отчет во вложении сформирован за 10 минут.
В заголовках столбцов:
С помощъю сводной таблицы даты сгруппированы в месяцы, кварталы и годы - автоматически добавлены соответствующие измерения
Добавленные Месяцы свернуты в кварталы - можно свернуть в любой квартал 2-м кликом по заголовку квартала
Добавленны промежуточные итоги по годам, кварталам и месяцам
В заголовки строк вынесено измерение "Страна" и детализирована по Продавцам.
Продавцов Воронова,Иванова, Крылова в Украине объединяем в условную группу (к примеру рынок города Киев) с подведением итогов по ней.
В качестве Фактов добавляем Сумму Заказа в рублях, Количество взятых позиций за период, соответствующий текущему заголовку столбца. Так же несложно добавить долю заказов в разрезе продавцов и стран.
Еще добавил расчет нарастающим итогом по продавцам в стране, прирост заказов в % относительно прошлого квартала и сумму скидок в 5% от заказов.
 Это лишь один  вариант из сотни, которых можно сделать на основе данных в этом примере.
10 минут для такого отчета в принципе многовато, т.к. я не торопился
А теперь вопрос - сколько понадобится времени для формирования перекрестной таблицы такого вида на SQL?

Цитата(motorway @  1.12.2009,  16:33 Найти цитируемый пост)
в т.ч. эти пресловутые кубы 

Кубы нет смысла обсуждать без понимания "физики" работы сводных таблиц


Присоединённый файл ( Кол-во скачиваний: 25 )
Присоединённый файл  062203871.zip 54,74 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
motorway
Дата 7.12.2009, 02:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



В целом, сводные таблицы понятны. Может, покажете пример использования куба для этого случая? Когда обычно целесообразно использовать кубы - когда 1 таблица исходная (как в примере) или несколько?
PM MAIL   Вверх
FINANSIST
Дата 7.12.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(motorway @  7.12.2009,  02:37 Найти цитируемый пост)
В целом, сводные таблицы понятны. Может, покажете пример использования куба для этого случая? Когда обычно целесообразно использовать кубы - когда 1 таблица исходная (как в примере) или несколько? 

У кубов есть и достоинства и недостатки,
Достоинство - это возможность работы с большим количеством записей+возможная автономность куба.
Кубы, как правило,строятся на основе sql запроса который тянет данные либо из денормализованного хранилища, либо из нормализованной БД. В моем случае при объеме куба в 1-2 миллиона записей я не парюсь с созданием хранилища- беру данные запросом из БД.
Куб можно хранить либо виртуально (при открытии и/или обновлении сводных таблиц), либо физически
(*.cube)
Иерархия куба определяется при создании запроса *.oqy но в дальнейшем, по моим наблюдениям, храниться вместе с данными в кубе, т.е. в последующем использовании *.cube без  *.oqy вполне работоспособен.
Из недостатков кубов могу перечислить невозможность построения вычисляемых полей в PivotTable а так же его "Жесткая иерархия" - этот термин сам придумал, т.к. в литературе нигде не встречал сравение функционалов по этим параметрам.
По термину "Жесткая иерархия" - приведу пример:
формируем куб в котором измерение "завод" жестко подчиняем измерению "группа продукции", группе в свою очередь подчиняем "Код продукции", а коду подчиняем "Наименование продукции". Есть еще измерение "контрагент" которое никому не подчиняется.
В таблице хотим построить срез и раскрыть контрагентов по наименованию продукции-при жесткой иерархии получится следующее: раскроем контрагентов по заводу - далее по группе ..... и т.д. до номенклатуры, только так и никак иначе. 
Соответственно при создании иерархий надо думать головой, где формировать жесткую а где оставить гибкую. В данном примере атрибуту "код продукции" однозначно соответствует атрибут "наименование продукции" соответственно здесь можно создать жесткую иерархию, поскольку сложно представить использование поля "Номенклатура" без кода или наоборот. 

motorway, На основе данных листа "практика" (я туда добавил измерение "Наименование заказа" - жестко подчинено коду) сформировал куб ( во вложении) 


Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  ______________________MS_Access.zip 55,84 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
motorway
Дата 7.12.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Спасибо, но я пока не понял, как использовать этот куб в Экселе 2007. Там формат должен быть .cub, или .cube?
PM MAIL   Вверх
FINANSIST
Дата 8.12.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(motorway @  7.12.2009,  18:03 Найти цитируемый пост)
Спасибо, но я пока не понял, как использовать этот куб в Экселе 2007. Там формат должен быть .cub, или .cube? 

Хм, пишет "разрушительный сбой", с форматом все нормально, выложу еще раз - попробуй


Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  20091208cub.zip 54,03 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.