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

Не смог пока справиться с проблемкой или найти ответ на нее, так что очень надеюсь на вашу помощь.

Имеется кубик с кучей измерений. Предположим, есть измерения "отдел", "сотрудник", "период", "измерение1", "измерение2". И некоторая мера, предположим, "мера1". так как "мера1" не зависит от "измерение1", "измерение2", то в факт-таблицу значение "мера1" попадает несколько раз по каждой паре "сотрудник"-"период". То есть факт-таблица будет примерно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
отдел        сотрудник  период    измерение1  измерение2  мера1
-------------------------------------------------------------------
Менеджеры    Иванов     фев2004    а           х            5
Менеджеры    Иванов     фев2004    б           х            5
Менеджеры    Петров     фев2004    а           х            3
Менеджеры    Петров     фев2004    б           х            3
Менеджеры    Петров     фев2004    б           у            3

При этом если показывать этот кубик только с измерениями "отдел", "сотрудник" и "период", то "мера1" ессно суммируется по всем подходящим строкам...
Надо или как-то калькулейтед мембер делать или факты собирать по-другому и потом учитывать, что мера не зависит от некоторых измерений... Подскажите, как сделать?

Инструменты - MS AS, Excel.
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32779159
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу предложить два варианта:
1. меру1 усреднять. т.е. сделать 2 меры с агрегированием sum и count, потом поделить одно на другое в CM

2. сделать два (или несколько) кубов, в которых каждая мера зависит от ВСЕХ измерений, а потом объеденить их в один виртуальный.
в вирт. кубе для мер, которые зависят не от всех измерений создать СМ ValidMeasure(мера1)

(имхо - последний предпочтительней)
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32779175
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и факт-таблицу надо сделать для каждого куба (из второго варианта) свою
типа запроса с группировкой чтобы отбросить повторяющиеся знаения

по идее, если БД хотя бы в 3 НФ, то факт-таблица будет другая (и в ней не будет столбцов-мер, которые не зависят от столбйов-измерений), а те данные, что вы привели в вопросе - результат запроса по нескольким "физическим" таблицам.
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32779793
Вжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация типична, описана классиками и решается двумя вариантами:
1. 2 таблицы фактов с разной гранулярностью, далее 2 физических куба, из которых один виртуальный.
2. 1 таблица фактов, причем мера, у которой гранулярность выше распределяется по измерениям искусственно, на основе бизнес правил конкретной области.
Пример: шапка счета со стоимостью доставки, которая должна расределиться на стоимость каждого товара в теле счета.
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32779883
Юнис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Biryukovмогу предложить два варианта:
1. меру1 усреднять. т.е. сделать 2 меры с агрегированием sum и count, потом поделить одно на другое в CM

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

2. сделать два (или несколько) кубов, в которых каждая мера зависит от ВСЕХ измерений, а потом объеденить их в один виртуальный.
в вирт. кубе для мер, которые зависят не от всех измерений создать СМ ValidMeasure(мера1)

(имхо - последний предпочтительней)

Ага, попробую виртуальный куб, спасибо
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32779892
Юнис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вжик
2. 1 таблица фактов, причем мера, у которой гранулярность выше распределяется по измерениям искусственно, на основе бизнес правил конкретной области.
Пример: шапка счета со стоимостью доставки, которая должна расределиться на стоимость каждого товара в теле счета.

Прошу прощения за собственную безграмотность, а как это реализовать?
...
Рейтинг: 0 / 0
Как бороться с "лишними" данными?
    #32780061
Вжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные, с подобной структурой, имеющие схема "Снежинка" в OLTP с помощью ETL процесса переносятся в ХД в схему "Звезда". По пути переноса их и надо трансформировать. Как это будет - зависит от инструмента и иных параметров.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как бороться с "лишними" данными?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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