111
<Insert Picture Here> Oracle Essbase Сахаров Андрей вед. консультант Oracle CIS

 · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

<Insert Picture Here>

Oracle EssbaseСахаров Андрейвед. консультант Oracle CIS

Page 2:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Oracle OLAP

Oracle Data Mining

Oracle Partitioning

Oracle Warehouse Builder

ХРАНИЛИЩА И ВИТРИНЫ ДАННЫХ

ИНСТРУМЕНТЫ БИЗНЕС-АНАЛИЗА и ОТЧЁТНОСТИ

Oracle Data Integrator

ORACLE ORACLE ESSBASEESSBASE

ORACLE DATABASE

Oracle Exadata Storage Server

АППАРАТНО-ПРОГРАММНАЯ ПЛАТФОРМА РЕАЛИЗАЦИИ ОЧЕНЬ БОЛЬШИХ БД

Oracle BI Suite EE Oracle RTD

Аналитическая платформа Oracle

Oracle BI Suite EE

VV

Page 3:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Essbase

• Универсальный OLAP-сервер для хранения, обработки и представления информации

• Может использоваться • дополнительно к хранилищу• независимо от хранилища

• Загрузка данных из хранилища данных и / или непосредственно из бизнес приложений

• Реализован на основных 32 и 64 битных аппаратных платформах

Page 4:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Развитые возможности для динамического анализа данных• Детализация, • Вращение, • Выборка, • Сравнение, • Ранжирование, • Сортировка, • Фильтрация, • Группировка, • Вычисления, • Аннотация, • Изменение (“write back”), • ……..

Page 5:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Развитые вычислительные возможности

• Широкая функциональность: • От простого агрегирования до сложных многомерных

распределений• Результаты могут храниться или вычисляться «на лету»

• Поддержка иерархических взаимосвязей• Любые виды несбалансированных иерархий• Любое количество альтернативных иерархий

• Более 350 встроенных функций• Простой синтаксис, расширяемость

Page 6:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Компоненты Essbase

• Essbase:• Essbase database • Essbase Server• Administration Services• Smart View• MaxL, ESSCMD, MDX• C API, VB API, and Java API

• Дополнительные компоненты:• Integration Services• Essbase Studio

Page 7:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

АрхитектураУровень баз данныхПромежуточный уровеньКлиентский уровень

Административные сервисы

Интеграционныесервисы

MaxL, MDXC API, VB API, Java API

Административная консоль

Интеграционная консоль

TCP/IP

HTTP

TCP/IP

Essbase

RDBMSODBC

Обслуживающиесервисы

HTTP

Smart View for Office

Block Storage

AggregateStorage

TCP/IP

XOLAP eXtending OLAP on RDBMS

Page 8:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Block Storage Database• Исходный механизм хранения в Essbase• Для приложений, связанных с итеративным планированием,

распределениями, сложным анализом (анализ продаж, анализ прибыльности)• Если необходимо много процедурных вычислений и запись изменений на

любой уровень агрегации• Управление порядком вычисления измерений• Вычисление всей или части БД• Выполнение сложных вычислений

Данные на нижем уровне

Вычисленная БД

Вычислительные процедуры

Page 9:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Агрегированные данные

ОтчётДанные на нижем уровне

Aggregate Storage Database• Реализован в 2005 г.• Для крупномасштабных, разреженных данных с большим числом

(десятки) больших (сотни тысяч) размерностей • Высокая гибкость для отчетов и анализа• Автоматическая оптимизация хранения, сжатие• Стандартный набор правил агрегации

Page 10:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

eXtending OLAP on Relational Database - XOLAP

• Кубы динамически подгружаемые из RDBMS• Конструирование приложений (многомерная

модель на основе таблиц/колонок БД) в Essbase Studio

• Отчётность и анализ через OLAP инструментарий:• Smart View for Microsoft Office• BI+: Web Analysis / Financial Reports / Answers• Oracle Essbase Visual Explorer

RDBMSSQL

Page 11:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Компоненты Среды Реализации

• Объекты базы данных• Outline (.OTL)• Rules files (.RUL)• Calculation scripts (.CSC)

• Аналитические интерфейсы• Smart View• Spreadsheet Add-in

• Integration Services• Essbase Studio

Page 12:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Administration Services Console

• Интерфейс для администрирования базы данных и системы

Навигационная панель Окно

объектов

Окно сообщений

Page 13:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Outlines• Редактирование древовидных структур для иерархий

измерений• Редактирование правил консолидации и математических

отношений между элементами измерений

Page 14:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Rules Files• Отображений источников данных в целевые базы данных

Oracle Essbase• Загрузка данных и иерархий измерений

Поля отображаемые в Измерения

Игнорируемые поля

Page 15:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Calculation Scripts

• Вычисляют всю или часть базы данных• Управляют порядком вычисления Измерений• Совершают сложные вычисления

данные “Level 0”

Результирующая база данных

“Calculation script”

Page 16:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Smart View

• Устанавливаемый через Web тонкий клиент, который встраивается в Microsoft Office приложение

• Позволяет редактировать (Excel) и просматривать данные, создавать произвольные отчёты

Excel, Word и PowerPoint с Smart

ViewБазы Данных

Essbase

Provider Services

Java API

Infrastructure

HTTP(S) TCP/IP

Page 17:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Block Storage DatabaseBlock Storage Database

Page 18:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Проектирование Приложений и Баз Данных

• Приложения• Содержат Block Storage базы данных и программные

скрипты• Размещается на сервере, на котором Essbase Server

установлен

• Базы данных• Репозиторий многомерных аналитических данных• Содержат объекты баз данных и определения

секретности

Essbase Server ApplicationApplication

Page 19:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Создание Block Storage Applications

1

2 3

Page 20:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Создание Block Storage Databases

2

1

3

Page 21:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Рекомендации

Одна База Данных на Приложение рекомендуется.• Серверные ресурсы лучше балансируются. • Если приложение становится недоступным, все базы

приложения недоступны.• Исключения:

• Приложения для задач планирования• “Currency” базы данных

Page 22:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Типы Измерений «Dimension»

Нет

Счета

Время

Страны

Валюта

Атрибуты

Page 23:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Создание Измерений и Значений измерений

• «Add child» добавляет значение на один уровень ниже выбранного значения.

• «Add sibling» добавляет значение на том же уровне, что и выбранное значение.

• Если выбранное значение (элемент) является Измерением, «Add sibling» добавляет новое измерение.

Add Child Add Sibling

Page 24:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Вычисление на основе правил определённых в «Outline»Два способа:• Иерархическая структура

• Операции Консолидации• Разделяемые «Shared» значения

• Формулы вычисления значений

Page 25:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Операторы консолидации определяют способ консолидации значений к родительскому элементу:

• Addition (+)• Subtraction (-)• Multiplication (*)• Division (/)• Percent (%)• Exclude from consolidation (~)• Never consolidate (^)

Операторы Консолидации

Act Vs Bud = Current Year – Budget

Current Year (+)

Budget (-)

Act Vs Bud

Page 26:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Формулы вычисления значений

• Определяют вычисления в схеме «outline»:

Page 27:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Порядок консолидации значений• Порядок консолидации определяется порядком значений

в схеме «outline».• Вычисления производятся в порядке сверху-вниз.

Parent

Member 4

Member 2

Member 1

Member 3

Member 7

Member 5

Member 6

(+)

(+)

(-)

(*)

(%)

(/)

(~)

10

20

25

40

50

60

70

30

5

200

400

25

40

50

60

6.67

6.67 Parent = ((((M1 + M2) – M3) * M4) % M5) / M6

Page 28:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Интеллектуальные «Intelligent» вычисления

Только блоки данных отмеченные как Изменённые пересчитываются.

Page 29:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

• Поддерживаются для:• Файловых источников• SQL источников

Загрузка информации в БД - «Rules Files»

Page 30:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Раздел Шаги

Подготовка 1. Открыть источник данных. 2. Установить свойства источника.3. Ассоциировать «rule» с схемой «outline» БД.4. Если необходимо, форматировать файл.

Действия 5. Определить метод загрузки значений.6. Определить свойства полей

Завершение 7. Проверить корректность описаний.8. Сохранить «rule».9. Выполнить «rule».

Загрузка измерений

Page 31:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Выбрать метод построения

• «Generation»• «Level»• «Parent-child»

1

2

3

4

Page 32:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Определить методы загрузки измерения

• Передвигать значения• Модифицировать свойства значений• Сортировка значений• Способ обновления

Page 33:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Загрузка данных

Загрузка из SQL БДОдновременное построение ИзмеренийИзменение данных

ШкалированиеИзменение знакаПропуск полей

Изменение имён (значений)Добавление префикса или суффиксаДобавление отсутствующих измеренийИзмение порядка полей

Page 34:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Определение свойств полей

• Для каждого поля определяется – метод загрузки и имя поля.

1

3

2

Page 35:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Доопределение отсутствующих измерений

• Если необходимо, доопреляется заголовок для отсутствующего измерения

2

3

Отсутствует измерение Сценарий

1

Page 36:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Установка опций загрузки

• Перезаписывать, вычитать из, суммировать с существующими значениями

• Изменить знак

Page 37:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Статистика БД

Page 38:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Свойства Измерений

• Конфигурация Плотное-Разряженное («Dense-sparse»)• Количество значений в Измерении• Количество фактических значений

Page 39:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Статистика по блокам

Page 40:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Вычисления в БД

Page 41:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Вычисления в Block Storage Essbase

• Значения в БД:• Исходные данные• Вычисляемые данные

• Вычисления:• «Outline» вычисления• Вычисления на основе скриптов

ОтчётВычисленная БДИсходные данные

Вычисления

Page 42:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Вычисления основанные на «Outline»

• Используются для простых вычислений• Основывается на определённых в схеме «outline»

отношениях или формулах• Вычисляется вся БД

Вычисленная БД

«Outline»

Задание на вычисление по

умолчанию

CALC ALL

Входные данные

Page 43:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Порядок вычислений

• CALC ALL вычисляет схему в следующем порядке:

Оптимальный порядок:

От Наибольшего к Наименьшему

Оптимальный порядок:

От Наименьшего к Наибольшему

1. Плотные «Dense» измерения (в порядке в схеме)

1. Разряженные измерения (в порядке в схеме)

1. Двух проходные «Two-pass» вычисления

1. Измерения типа «Account»

2. Измерения типа «Time»

Page 44:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Вычисления основанные на Скриптах

• Вычисляется вся или часть БД• Управление порядком вычисления измерений• Выполнение сложных вычислений

Вычисленная БД

Пользовательские скрипты

Входные данные

Page 45:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Редактор Сриптов

Функции и команды

Измерения и значения

Page 46:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Пример вычислительного скрипта/* Очистить прогнозные данные */FIX ("Генерация","Потребление")CLEARDATA "Сценарий 1";ENDFIX;

/* Копировать факты в сценарий*/FIX ("Тип",@LEVMBRS ("Период", 0))DATACOPY "Факт" TO "Сценарий 1";ENDFIX

FIX ("Тип","Сценарий 1")CALC DIM ("Период");ENDFIX

/* Построить прогноз по дням*/FIX ("Генерация","Потребление",@LEVMBRS ("Период", 1))DATACOPY "Факт" TO "Сценарий 1";"Сценарий 1"(@TREND(@ANCESTORS(&FIRSTP,-1):@ANCESTORS(&CURP,-1),,,,,@ANCESTORS(&NEXTP,-

1):@ANCESTORS(&ENDP,-1),LR,7););ENDFIX

/* Построить прогноз по часам*/FIX ("Сценарий 1") "Генерация"=("Тип"/@PARENT ("Период" ,"Тип"))*@PARENT ("Период" ,"Генерация") ;"Потребление"=("Тип"/@PARENT ("Период" ,"Тип"))*@PARENT ("Период" ,"Потребление") ;ENDFIX

/* Агрегация*/FIX ("Факт","Сценарий 1","Генерация","Потребление")CALC DIM ("Период","Регион");ENDFIX

Page 47:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Корректное вычисление процентов

• Динамические вычисления• Перевычисления

• «Two-pass» вычисления• «Back calculation»

До перевычислений

После перевычислений или динамических

вычислений

Page 48:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Предотвращение Консолидации Процентов

Page 49:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Для устранения проблем при использовании процесса CALC DIM

• Отключите «intelligent calculation»• Сгруппируйте формулы «back calculation» в скобки

/* Housekeeping */SET UPDATECALC OFF;/* The Main Rollup */CALC DIM (Accounts, "Year Tot", Customer, Product);/* The Back Calculation */("List Price"="Gross Sales"/Units;"Discount %"=Discounts / "Gross Sales“)

Page 50:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Управление

вычислениями

Page 51:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Фокусировка

Страницы до начала вычислений

«Budget Retail» блоки в памяти для вычислений

FIX(Budget, @ICHILDREN(Retail))"Net Sales" = "Gross Sales"–Discounts;ENDFIX

Страницы после вычислений

Page 52:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Оператор IF

Все блоки в памяти для проверки условий и вычислений

IF(@ISMBR(Budget) AND @ISICHILD(Retail))"Net Sales" = "Gross Sales"–Discounts;ENDIF

Страницы до начала вычислений

Страницы после вычислений

Page 53:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Синтаксис

IF в «outline» формуле аналогичный IF в вычислительном скрипте

Units(IF(@ISMBR(Budget))

Units = "Prior Year" * 1.1;"List Price" = "Prior Year" * 1.25;"Discount %" = "Prior Year" * .90;

ENDIF)

Page 54:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ссылки на значения

Page 55:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ссылки на значение

Units / Units->"Channel Total"

1

2

3

1. Block 1 Units / Block 3 Units

2. Block 2 Units / Block 3 Units

3. Block 3 Units / Block 3 Units

Unit Mix по Cust вычисления

1. Current Year->O-IBM->Family Total2. Current Year->OEM->Family Total3. Current Year->Channel Total->Family Total

Блоки данных

Page 56:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ссылки на множество значений

Функции работы с множеством значений:• Генерируют множество значений для вычислений• Обычно используются как аргумент в FIX утверждениях и

других функциях

FIX(@ICHILDREN(OEM)) "Unit Mix by Chan" = Units / Units->OEM;ENDFIXFIX(@ICHILDREN(Retail)) "Unit Mix by Chan" = Units / Units->Retail;ENDFIXFIX(@ICHILDREN(Distributor)) "Unit Mix Chan" = Units / Units->Distributor;ENDFIX

Page 57:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Относительные ссылки• Ссылаются на значения соотнесённые к текущему элементу:

• Родитель• Дочерние на заданном уровне

"Unit Mix by Chan" = Units / @ANCESTVAL(Customer,3,Units);

«Generation» 3

Выбирать «Units» для элементов Измерения «Customer» находящимися на 3-м уровне «Generation»

Page 58:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Переменные

• Temporary Variables

• Substitution Variables

VAR RetDisc = 1.005FIX(@CHILDREN(Retail)) Discounts = Discounts * RetDisc;ENDFIX

FIX(@CurYear) "Cur Mo Vs Prior" = @VAR(&CurrMonth, &PriorMonth);ENDFIX

Page 59:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

• Хранят промежуточные значения• Уменьшают сложность скриптов• Улучшают производительность

Temporary Variables

VAR

Page 60:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Создание Substitution Variables

1

3

6

4 5

Page 61:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Aggregate Storage DatabaseAggregate Storage Database

Page 62:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Aggregate Storage

Оптимизирована для:• Быстрой агрегации кубов• Большого количества измерений и значений• Крайне разряженных данных

Page 63:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ключевые характеристики

• Данные загружаются на «level» 0.• БД доступна только на чтение ( в 11.1.2 возможна

запись).• Значения основанные на формулах - MDX запросы.• Все формулы и агрегации вычисляются в момент

запроса.• Данные хранятся в Табличных Пространствах.• Измерения

• Нет ограничений на число Измерений• Максимальное количество комбинаций значений: 2^52

• Одна БД на приложение

Page 64:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Формулы вычисления Значений

"Sales" / "Net Profit";

[sales] / [net profit]

Синтаксис Формул

MDX синтаксис

Page 65:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Приложения и базы данных

Различия:• нет «Calculation scripts»• нет вторичных БД• нет БД Валют

Aggregate Storage Block Storage

Page 66:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Rules Files

• Поддерживаются для:• Файловых источников• SQL источников

Page 67:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Иерархии

• Поддерживаются:• Хранимые иерархии• Динамические иерархии• Множество иерархий для одного измерения

Page 68:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Хранимые (Stored) Иерархии

• Преимущества:• Потенциально позволяют хранить

агрегированные данные• Улучшают время выполнения

запросов

• Но:• Ограничены использованием только

унарных операций• Ограниченное использование «Label

Only»• Поддержка только одного экземпляра

значения измерения

Dimension

Level_1_2

Level_0_3

Level_2_1

Level_1_1

Level_0_1

Level_0_2

Label Only

Label Only

Stored

+

~

Label Only

+

+

+

~

Level_0_4 +

Label Only

Page 69:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Динамические «Dynamic» Иерархии

• Преимущества:• Любой оператор консолидации• Формулы для значений

измерения• «Label Only» на любом уровне• Неограниченное использование

«shared members»

Но:Значения вычисляются только по

запросу (никогда не преагрегируются)

Потенциально ухудшают время выполнения запроса

Years

Curr Year

Prev Year

Variance

Dynamic

~

~

+

Variance % ~

[20: [Curr Year]-[Prev Year]]

[20: ([Curr Year]-[Prev Year])/[Prev Year]*100]

Label Only

Page 70:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Множественные Иерархии

Возможность сочетать хранимые и динамические иерарахии для измерения.

Time

QTD

QTD(Jan)

MTD

Jan

Label Only

Multiple Hierarchies Enabled

+

+

+

Dynamic

QTD(Feb) ~

Label Only

Feb +

~

[0: [Jan]]

[0: [Jan] + [Feb]]

Stored

Page 71:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Редактор формул

Аналогичен «block storage» редактору:

• Списки выбора• Автоматическое

заполнение• Цветовое кодирование

Page 72:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ссылки на значения

1. Americas Sales / Geography Sales

2. Europe Sales / Geography Sales

3. Asia Pacific Sales / Geography Sales

4. No Region Sales / Geography Sales

5. Geography Sales / Geography Sales

[Net Sales] / ([Net Sales], [Geography])

Page 73:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Динамические ссылки

1. IBM Sales / Major Accounts Sales

2. Major Accounts Sales / Customer Sales

3. Acme Distribution Sales / Wholesale Accounts Sales

4. Wholesale Accounts Sales / Customer Sales

5. Customer Sales / Customer Sales

[Net Sales] / ([Net Sales], Ancestor ([Customer].CurrentMember, 1))

Page 74:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Проверка условий – IIF()

• Включает два возможных результата• Истина - действие• Ложь - действие

• Используется Missing ключевое слово для возврата #MISSING

• Не поддерживается - Else

IIF ([Gross Sales] > 900000 AND IsLevel ([Sales People].CurrentMember, 0), [Gross Sales]*.035, Missing

)

Page 75:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Database Partitioning

Page 76:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Типы Partition

• Replicated partitions• Transparent partitions• Linked partitions

Page 77:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Replicated Partitions

• Традиционный подход• Копия данных• Множество источников• Ручная репликация• Только «Block storage»

Источники данных

Целевые данные

Page 78:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Transparent Partitions

• «Окно» между БД• Бесшовная передача• Текущие данные• Требуется синхронизация

«Outline»

Источники данных

Целевые данные

Page 79:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Linked Partitions

• Точка перехода• Связывает объекты• Различные схемы• Нет репликации • Нет синхронизации схем

Источники данных

Целевые данные

Page 80:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Варианты комбинаций

• Корректные:

• Недопустимые:

Transparent

Data Source

Replicated

TransparentTransparent Replicated

Data Source Transparentили Replicated

Transparent

Linked

Linked

Target

Page 81:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Создание Partitions

1

2

3

4

Page 82:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Объявление «Partition» областей

• Секция БД для разделения• Редактор значений• Количество значений в области отображается для

«replicated» и «transparent» областей• «Label only» и «shared» значения не учитываются

Page 83:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Отображение значений измерений

• Выбор значений• Редактор имён значений

Page 84:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Масштабируемость

«Oracle Essbase Aggregate Storage Option Benchmark on Oracle Sun Enterprise M5000 Server» April 2010

Oracle Essbase ServerOracle Essbase Administration Server

Oracle Sun SPARC Enterprise M5000 Server• 4 X UltraSPARC64 VII , 2.53GHz (Quad Core)• Solaris 10 10/09 (Update 8)• 64 GB

Essbase Storage Oracle Sun Storage F5100 – Flash Array• Total 1 TB of disk storage – 40 Flash Modules• Data Storage Scheme Striped – RAID 0

• 20,000 активных одновременных пользователей

Page 85:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Структура данных в БД

Page 86:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Результаты

Среднее время выполнения запроса (с частичной агрегацией)Среднее время выполнения запроса (без агрегации):тип 1тип 2тип 3

менее 1 сек

3.64 сек61.13 сек12.82 сек

Время загрузки и построения Измерения «Customer»(более 13 000 000 строк)

41 минута

Время загрузки исходных данных: 400 000 000 строк

269 минут

Время на частичную агрегацию данных 115 минут

Page 87:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

ПРИМЕРПРИМЕРРитейловая компания

Время 477Магазины 5Поставщики 579Товары 80 474Количество, Себестоимость, Цена 8 830 000

Page 88:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ритейловая компания Block Storage Database

Calculation Script

"Выручка факт"= "Количество"*"Цена";

"Издержки факт"= "Количество"*"Себестоимость";

FIX ("Выручка факт", "Издержки факт")

CALC DIM ("Время","Магазины","Товары","Поставщики");

ENDFIX

БД 900 мб

Индекс 16 мб

Page 89:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ритейловая компания Agregate Storage Database

БД 470 мб

IIF (

IsLevel ( [Время], 0 ) and

IsLevel ( [Магазины], 0 ) and

IsLevel ( [Поставщики], 0 ) and

IsLevel ( [Товары], 0 ),

[Издержки факт]/[Количество] , 0)

Page 90:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Act Bud FcstЦелевая «Aggregate

Storage»

Исходная «Block» Агрегированный Act берётся из Целевой

БД

Пользователи пишут назад Bud и Fcst

Ритейловая компания

Transparent partition

Bud, Fcst

Act Bud Fcst

Ссылка на Act

@XREF(DwStock, "Выручка факт");

Agregate Storage DatabaseBlock Dtorage Database

Исходная «Aggregate Storage»

ActTransparent

partition

Act

Page 91:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Ритейловая компания Agregate Storage Database Block Dtorage Database

Page 92:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

сравнение реализаций• Oracle RDBMS (Partition Option)• Oracle Essbase 11 (Aggregate Storage Option)

ПРИМЕРПРИМЕР

Таблица фактов:• 5 000 000 строк

•вес•ТКМ•стоимость•скидка

17 измерений• справочник грузов - 5000 строк• станции отправления 4000 строк• станции назначения 4000 строк

проблема: неприемлемое время обработки запроса

Грузоперевозки

Page 93:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

реализация в Essbase

Page 94:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

реализация в Oracle RDBMS 10.2

18 таблиц18 таблиц

70+70+ индексов индексов

Page 95:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Oracle Essbase 11 (ASO модель хранения)производительность

~ 50 сек. (БД RDBMS)

выборка и динамическая агрегация по группе грузов за 24 месяца

~ 5 сек. (БД OLAP)

Page 96:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Oracle Essbase 11 (ASO модель хранения)+ более эффективное хранение

1 372 мбOracle Server 10.2

592 мб 75 мб

Файловый архив

188 мб

Oracle Essbase 11.1

Page 97:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

• Oracle Essbase 11 (Block Storage Option)

ПРИМЕР ПРИМЕР Расчёт производных финансовых показателей (формулы)

проблема: неприемлемое время расчёта в Excel

сложность модификации при расчётах в БД

Page 98:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Essbase Administration Services

Page 99:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Формула расчёта показателя

Page 100:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Отчёт в Smart View для Excel

Page 101:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

• Oracle Essbase 11 (Block Storage Option)

ПРИМЕРПРИМЕРПрогноз потребления электроэнергии

В демо прогноз строится по историческим данным на основе мат. методов и не обеспечивает достаточной точности, т.к. необходим перерасчёт по модели учитывающей:

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

смену, ввод новых мощностей)- ... ... ...

проблема: повышение точности прогноза

Page 102:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Essbase Administration Services

Page 103:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Фрагмент программы расчёта прогноза

FIX ("Генерация","Потребление",@LEVMBRS ("Период", 1))

DATACOPY "Факт" TO "Сценарий 1";

"Сценарий 1"(@TREND(@ANCESTORS(&FIRSTP,-1):@ANCESTORS(&CURP,-1),,,,,@ANCESTORS(&NEXTP,-1):@ANCESTORS(&ENDP,-1),LR,7););

Page 104:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Отчёты в Essbase Visual Explorer

Page 105:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

По АналитикеInternational Rectifier• Планирование и бюджетирование

• Тренды и прогнозы продаж• Планирование производства• Маркетинговый анализ• Доходность по клиентам и продуктам• Бюджетирование• Финансовый анализ и отчётность

По ПользователямПо Пользователям

Примеры крупных реализаций

NTT DoCoMo• 30,000 пользователей, в 37 Бизнес

единицах и 172 офисах• Продажи телефонов • Платежи• Имущество, контракты, покупки, логистика• Кадры• Финансы

По СопровождениюПо СопровождениюChrysler• Автоматизация процессов на основе

UNIX скриптов, AutoSys заданий, и Tivoli TME 10 мониторинга

• 45 БД на 4 серверах• Ночное обновление и вычисление• Резервное копирование и восстановление

По ДаннымПо ДаннымOntario Ministry of Transportation• Свыше 100GB и 39 измерений

обеспечивающих 14 летнюю историю• 230,000 аварий• 250,000 секций дорог• 450,000 автомобилей 22 атрибута• 185,000 персоналий 18 атрибутов

Page 106:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются
Page 107:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

• Excel, PowerPoint, Word, Outlook

• Запросы, отчёты, запись в БД

Визуализация данных интеграция с Microsoft Office

Независимые

секции

Page 108:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Визуализация данных• BI EE Answer

Page 109:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Визуализация данных• BI EE Publisher

Page 110:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

Визуализация данных• Visual Explorer

Page 111:  · • Значения основанные на формулах - MDX запросы. • Все формулы и агрегации вычисляются

«Oracle Essbase Aggregate Storage Option Benchmark on Oracle Sun Enterprise M5000 Server» April 2010

Query 2: MDX Query 1:

SELECT {[<Param 1>].children, [<Param 1>]} on axis(0), {[psp_04].children} on rows, TopCount ([customer].Levels(4).members,5,[Measures].[OrderLineDiscount]) ON AXIS(2),{[Shipment_term].levels(1).members} on axis(3) from <appname>.<dbname> where ([QtyShipped],[<Param 2>],[<Param 3>])

Query 3: MDX Query 2:

SELECT {[<param 1].children, [param 1]} on axis(0), {[psp_04].children} on rows, {[psp_07].children} on axis(2),TopCount ([customer].Levels(3).members,10,[Measures].[OrderLineDiscount]) ON AXIS(3),{[Shipment_term].levels(1).members} on axis(4) from mill13m.mill13m where ([QtyShipped],[<param 3>],[< param 4>])