powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Задачка для OLAP
10 сообщений из 10, страница 1 из 1
Задачка для OLAP
    #32838485
noodle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, какие олапы могут решить следующую задачку
Имеется табличка деталей чека chek
ID_CHEK, ID_TOVAR, SUMMA,...
Нужно определить показатель, который для товара даёт сумму по всем чекам, в который входит этот товар.
Для простейшего случая задачка решается следующем SQL-ем
(Microsoft SQL Server)
create table cheksum (id_chek integer, cheksum real);
insert into cheksum
select id_chek, sum(summa)
from chek
group by id_chek;
select id_tovar,sum(b.cheksum)
from chek a
join cheksum b on (a.id_chek=b.id_chek)
group by id_tovar ;
drop table cheksum;

А могут ли решить такую задачку олапы?
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32838550
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На MS AS в MDX можно отфильтровать множество чеков, в которые входит товар, а потом просуммировать все суммы по этому множеству.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32838650
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Va1entin:

На MS AS в MDX можно отфильтровать множество чеков, в которые входит товар, а потом просуммировать все суммы по этому множеству.

Вы имеете в виду, что в кубе будет одно из измерений содержать все чеки (то есть большое число мемберов)?

2 noodle:

В Когносе я бы решил задачу так:
Сделал бы виртуальную вьюшку на основе этой таблицы, добавив в нее вычисляемое поле, по формуле - Total (SUMMA) for ID_CHEK. На основе этой виртуальной вьюшки сделал бы куб, включив в него измерение товаров и вычисляемое поле как показатель.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32838745
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JuriiВы имеете в виду, что в кубе будет одно из измерений содержать все чеки (то есть большое число мемберов)?А как по-другому? Относительно того, что в измерении будет слишком много членов, Вы правы. Значит, если стоит такая задача, надо предпросчитывать данные для таблицы фактов для товаров, скажем, по дням, (тогда и меры будут другие, например сумма сумм - простите за сумбур, но поле так называется - за день) или работать на срезах данных. В противном случае придётся сражаться с очень большим измерением, но это уже отдельный вопрос.
Здесь база стоит на noodleMicrosoft SQL Server, значит есть смысл применить MS AS или не морочиться и написать запрос в SQL.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32838794
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Va1entin noodleMicrosoft SQL Server, значит есть смысл применить MS AS или не морочиться и написать запрос в SQL.
А зачем применять MS AS, если задача уже решена в MS SQL ? :-)
Разве что встал вопрос о производительности...
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32839305
noodle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Biryukov Va1entin noodleMicrosoft SQL Server, значит есть смысл применить MS AS или не морочиться и написать запрос в SQL.
А зачем применять MS AS, если задача уже решена в MS SQL ? :-)
Разве что встал вопрос о производительности...

OLAP нужен для того, чтобы потом этот показатель смотреть по другим измерениям и в разной разбивке.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32839663
DeafLeopard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем вообще создавать измерение с чеками? Это ж факты!
А вот их параметры (дата, время, товар и т.п.) можно в измерения и загнать.
Можно конечно предположить, что для анализа корзины понадобятся, но это совсем другая задача...
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32839689
OLAPMASTER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
noodleКоллеги, какие олапы могут решить следующую задачку
Имеется табличка деталей чека chek
ID_CHEK, ID_TOVAR, SUMMA,...
Нужно определить показатель, который для товара даёт сумму по всем чекам, в который входит этот товар.
Для простейшего случая задачка решается следующем SQL-ем
(Microsoft SQL Server)
create table cheksum (id_chek integer, cheksum real);
insert into cheksum
select id_chek, sum(summa)
from chek
group by id_chek;
select id_tovar,sum(b.cheksum)
from chek a
join cheksum b on (a.id_chek=b.id_chek)
group by id_tovar ;
drop table cheksum;

А могут ли решить такую задачку олапы?

Вот выборка

select id_tovar,sum(summa)
from chek a left join chek b on (a.id_chek=b.id_chek)
group by id_tovar

(group by id_tovar что бы записей было поменьше)

Это будет тадблица фактов id_tovar будет ключ dim товара, а summa показаель по сумме вот и вся задача. Только надо еще будет подцепить табличку где id_tover и его имя.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32839695
OLAPMASTER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот выборка (правильная незаметил что это одна и таже таблица)

select id_tovar,sum(summa)
from chek group by id_tovar

(group by id_tovar что бы записей было поменьше)

Это будет тадблица фактов id_tovar будет ключ dim товара, а summa показаель по сумме вот и вся задача. Только надо еще будет подцепить табличку где id_tover и его имя.
...
Рейтинг: 0 / 0
Задачка для OLAP
    #32843197
noodle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLAPMASTERВот выборка (правильная незаметил что это одна и таже таблица)

select id_tovar,sum(summa)
from chek group by id_tovar

(group by id_tovar что бы записей было поменьше)

Это будет тадблица фактов id_tovar будет ключ dim товара, а summa показаель по сумме вот и вся задача. Только надо еще будет подцепить табличку где id_tover и его имя.

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


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