powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Работа при большом количестве данных в таблице измерений
7 сообщений из 7, страница 1 из 1
Работа при большом количестве данных в таблице измерений
    #32179501
Roxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая вот ситуация:
Есть измерение Товар со следующими уровнями
1. Вид продукта - 2 члена ('Книги' и 'Канцтовары')
2. Поставщик - около 1.600 членов
3. Название товара - около 200.000 членов
4. Штрих код - окло 1.400.000 членов (каждый товар может быть продан по разным ценам соответственно для одного товара может быть несколько штрих кодов)

Если я хочу иметь отчет в детализации товаров до уровня штрих кода, то такой запрос занимает неприемлимо много времени, например:

Код: plaintext
1.
2.
3.
4.
select 
Non Empty {[Measures].[Amount]} on  0 ,
Non Empty Descendants([BarCode].children, 3 ) on  1 
from [Remainders2]
where ([Client].[test1],[TimeRemainderSsh].[YQMD].[ 2003 ].[Quarter  2 ].[June].[ 5 ])


Здесь BarCode и есть измерение 'Товар'.

Можно ли как-то убыстрить запрос? Например отрезать сразу пустые верхние уровни?
Я пытался сделать, например, следующее

Non Empty Generate (Non Empty Descendants([BarCode].children,0), Descendants([BarCode].children,1) ) on 1

однако в ф-ии Generate почему-то синтаксически неправильно писать Non Empty (NonEmptyCrossJoin то можно).

Помогите, пожалуйста, уменьшить время выполнения запроса.
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32179515
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем вид товара, поставщик, название товара и штрих код помещать в одно измерение?
Может проще поставщика и штрих код вынести в отдельные измерения? Или штрих - код сделть как свойство товара и построить понему виртуально измерение.
А использовать OLAP клиент типа PivotTable не пробовали?
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32179543
Roxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем вид товара, поставщик, название товара и штрих код помещать в одно измерение?
Может проще поставщика и штрих код вынести в отдельные измерения? Или штрих - код сделть как свойство товара и построить понему виртуально измерение.


На самом деле штрих-код - это и есть вышеописанное отдельное измерение 'Товар' с перечисленными уровнями (ВarCode). Если убрать уровень 'поставщик' или какой-то другой, то от этого количество членов этого уровня не уменьшится. Так и останится около 1.400.000 РАЗНЫХ! штрих-кодов. Кроме того, есть ограничение, что верхний уровень не должен иметь больше 64.000 записей.
В общем от уменьшения количества уровней конечное количество членов в измерении то не уменьшится.

А использовать OLAP клиент типа PivotTable не пробовали?
Нет. А это может помочь? Я просто и не пробовал это на вкус.
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32179807
GoodLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто не понял всё таки структуру этого измерения. Что на первом уровне, что на втором и т.д?
Количество членов в измерении может и не уменьшится (всё таки пока не понятно), но вот, если например измерение "Товары" и "Штрих код" сделать раздельно и зависимыми, то количество агрегатов уменьшится.
А зачем в OLAP кубе штрих коды?
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32180633
Aleksm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Штрих- код имеет иерархическую структуру,
поэтому его можно разложить на несколько уровней и сделать альтернативную иерархию
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32181481
Владимир Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совет 1. Для работы с "мега-измерениями" стоит создавать синтетические измерения под каждый типовой вид запроса.
Совет 2. Можно снести штрих код из измерения и смотреть через Drill Through.
...
Рейтинг: 0 / 0
Работа при большом количестве данных в таблице измерений
    #32183192
Roxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такую байду мне предложили на Гугле. И работает же быстрее...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Generate(NonEmptyCrossJoin([BarCode].Children,
         {[Measures].[Amount]}, 1 ),
Generate(NonEmptyCrossJoin([BarCode].Children,
         {[Measures].[Amount]}, 1 ),
Generate(NonEmptyCrossJoin([BarCode].Children,
         {[Measures].[Amount]}, 1 ),
          NonEmptyCrossJoin([BarCode].Children,
         {[Measures].[Amount]}, 1 )))) on  1 
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Работа при большом количестве данных в таблице измерений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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