powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / OLAP to Excel
3 сообщений из 3, страница 1 из 1
OLAP to Excel
    #32056710
Подскажите, пожалуйста, каким образом можно заставить Excel показывать не весь куб, а только определенную часть данных?

Я пока опробовал два метода, и ни один из них мне не помог:

1. В Excel-е для создаваемого объекта PivotCaches указываю
.CommandType = xlCmdDefault
.CommandText = strCmd
, где strCmd = запрос типа
Код: plaintext
1.
2.
3.
4.
5.
select 
  NON EMPTY [Measures].members on COLUMNS,
  NON EMPTY [Объект].members on ROWS
from
  SomeCube
where ([Дата].[ 2002 ])

Все нормально отрабатывает, за исключением того, что размерность [Объект], которая в оригинальном кубе многоуровневая, приходит в Excel в разобранном виде - т.е. в виде отдельных не связанных размерностей типа [Объект].[Регион], [Объект].[Район], [Объект].[Пункт] и т.д.

2. Я создаю локальный куб и пытаюсь закачать в него часть данных из серверного куба,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
INSERT INTO [Мониторинг] ( 
 [Объект].[Регион], 
 [Объект].[Район], 
 [Объект].[Пункт], 
 [Объект].[Юрлицо],
 [Measures].[Значение]
) Options ATTEMPT_ANALYSIS
select 
  NON EMPTY [Measures].members on COLUMNS,
  NON EMPTY [Объект].members on ROWS
from
  SomeCube
where ([Дата].[ 2002 ])


но при этом происходит ошибка
"Error while processing a partition: 'Processing error [The returned SQL rowset contains a measure data type that is not valid]'."

Причем при создании локального куба для [Measures].[Значение] я указываю тип DBTYPE_NUMERIC, на серверном кубе эта размерность тоже имеет тип Numeric.
Но при выполнении запроса к кубу в результирующем курсоре это поле имеет тип adVariant

Подскажите, где лыжи смазать?, или это можно сделать другим способом?
...
Рейтинг: 0 / 0
OLAP to Excel
    #32256333
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, актуальна ли еще для Вас данная проблема...

Также пытался решить данную задачу.
У меня вообще, результаты, мягко говоря, странные...
Я шел по пути, который в Вашем сообщении описан под №1.
Помимо досадного разбиения уровней многоуровневого измерения на отдельные независимые измерения, получил просто некорректно рассчитанный агрегат (!).

Например, для следующего запроса:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
  { [Measures].[Количество] }
  ON COLUMNS,
  { [Товары].[Категория].&[DVD-плейеры],
  [Товары].[Категория].&[DVD-плейеры].CHILDREN,
  [Товары].[Категория].&[Акустические системы],
  [Товары].[Категория].&[Аналоговые видеокамеры] }
  ON ROWS
FROM [Продажи]

результирующий набор должен иметь вид:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[Товары].[Категория]    [Товары].[Товар]    Количество

DVD-плейеры             DV5720P              54 
                        DV5822P              54 
                        DVD Q40              48 
                        DVD-XV10             57 
                        DVF-3530S            60 
                        XV-D721BKEE          39 
                        XV-E100SLEE          51 
                        XV-M555              54 
DVD-плейеры Итог                             417 

Акустические системы                         132 

Аналоговые видеокамеры                       552 

Но, если инициализировать PivotCache указанным MDX-выражением, получаю в Excel следующий результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[Товары].[Категория]    [Товары].[Товар]    Количество

DVD-плейеры             DV5720P              54 
                        DV5822P              54 
                        DVD Q40              48 
                        DVD-XV10             57 
                        DVF-3530S            60 
                        XV-D721BKEE          39 
                        XV-E100SLEE          51 
                        XV-M555              54 
                        (пусто)              417 
DVD-плейеры Итог                             834 

Акустические системы    (пусто)              132 
Акустические системы Итог                    132 

Аналоговые видеокамеры  (пусто)              552 
Аналоговые видеокамеры Итог                  552 


Если элементы (пусто) для категорий "Акустические системы" и "Аналоговые видеокамеры" выглядят довольно логичными, то как объяснить наличие элемента (пусто) в категории "DVD-плейеры"? (В таблице фактов таких записей нет и, соответственно, при просмотре другими способами этого элемента нет).
Но, что самое удивительное, под разрезом DVD-плейеры | (пусто) имеем значение показателя, соответствующее DVD-плейеры | Итог -- таким образом, итог по категории "DVD-плейеры" задваивается (!!!)

У меня Excel 2002 SP2. SQL Server 2000 SP3. Для доступа использую Provider MSOLAP.2

Может, кто сталкивался? После первого постинга уже почти год прошел... :))
...
Рейтинг: 0 / 0
OLAP to Excel
    #32256357
Фотография KV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пустой элемент соответствует элементу [Товары].[Категория].&[DVD-плейеры].
Если его исключить MDX, задваивания не происходит.

Но это ведь абсурд. MDX-запрос ведь корректный (в контексте иерархического измерения)...

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


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