powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Parent Child Dim in Local Cube
15 сообщений из 15, страница 1 из 1
Parent Child Dim in Local Cube
    #32568489
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток 2All.
У кого нибудь subj получался?
Если делать простые (non par-ch dim) то все проходит на УРА. Кубы и в файлы пишутся и в памяти создаются. Как только начинаю определять par-ch dim, при процессинге вылетает err:
Processing error [Unknown dimension member] (Изм) (Уровень 02)
(02 не обязательно - зависит от источника, разные таблици подкладываются)
Уже пробовал с разных источников - тот же результат.

Может кто чего подскажет...
Заранее пасиба.
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32568499
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sabj получался:) Каким способом Вы создаете куб? Create Cube/Insert Into properties или Create Global Cube? Куб РОЛАП или МОЛАП? Вы пробовали на этих же данных создать куб на сервере?

Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32568514
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за отклик.
На сервере куб создается.
А остальное выглядит примерно так.
Для начала самая простенькая задачка. Например есть группы товаров связанные с напр. деятельности.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
tbl_GGR
gr_id int
gr_name varchar( 50 )
gr_coop int

tbl_Coop
c_id int
c_name varchar( 50 )
c_pid int
tbl_Coop - древовидная
Надо посчитать кол-во груп по направлению
Хочется всё влет посему делаем GR.oqy файл.
Царапаем
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
QueryType=OLEDB
Version= 1 
CommandType=Cube
Connection=Provider=MSOLAP. 2 ;Initial Catalog=[GR];  
CREATECUBE=CREATE CUBE GR(
	DIMENSION [Бизнесы] DIMENSION_STRUCTURE PARENT_CHILD,
		LEVEL [Направление] ROOT_MEMBER_IF ROOT_IF_PARENT_IS_BLANK_OR_SELF_OR_MISSING ,
	MEASURE [Кол] Function Count TYPE DBTYPE_I8);
INSERTINTO=INSERT INTO GR(Measures.[Кол], [Бизнесы].Key, [Бизнесы].Name, [Бизнесы].Parent)
SELECT GGR.GR_ID, CP.C_ID, CP.C_NAME, CP.C_PID
FROM tbl_GGR GGR, tbl_Coop CP
WHERE GGR.gr_COOP = CP.C_ID;
Source_DSN="...БЛА..БЛА..БЛА...";
CommandText=GR 
Потом пытаюсь в ЕХЕЛЕ открыть и получаю вышеописанное...

Собссссно шо не так.
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32569029
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня получилось воспроизвести проблему на фудмарте и даже кажется, что уже когда-то возилась с подобной проблемой, но кажется она была на РОЛАП. Я завтра на работе подебагю немножко, потом напишу.

Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32570479
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох Ирина. Надеюсь решение удастся воспроизвести.
А то эта фраза "...удалось воспроизвести проблему...", начитался в MSDN.
Заранее спасибо
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32570691
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В нашем деле воспроизвести проблему - 50% успеха:)

Проблема была в том, что MEMBERS_WITH_DATA_IF проперти была не указанна, а по-определению(by default, правильно?) ее значение LEAF_MEMBERS_ONLY. Если же в таблице фактов есть данные ассоциированные с не листьями, то процессинг упадет.
Вот даже в BOL об этом говорит:
Код: plaintext
1.
If the parent-child dimension has data in fact tables associated with nonleaf members and the Members with Data property is set to Leaf members only, a processing error will occur.

Поэтому что бы исправить проблему нужно руками прописать эту проперти, например вот так:

Код: plaintext
MSOLAP. 2 ;Initial Catalog=[GR]; CREATECUBE=CREATE CUBE GR(	DIMENSION [Business] DIMENSION_STRUCTURE PARENT_CHILD MEMBERS_WITH_DATA_IF NON_LEAF_MEMBERS_VISIBLE,	LEVEL [All Regions] TYPE ALL,	 LEVEL [] OPTIONS(UNIQUE_KEY)   , MEASURE [Count] Function Count TYPE DBTYPE_I8); INSERTINTO=INSERT INTO GR([Business].Key,[Business].Name, [Business].Parent,Measures.[Count]) SELECT [employee].[employee_id], [employee].[full_name],[employee].[supervisor_id],[salary_2].[salary_paid]  FROM salary_2, employee WHERE salary_2.employee_id =employee.employee_id;Source_DSN="DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\Program Files\Microsoft Analysis Services\Samples\foodmart 2000.mdb";



Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32571048
Alex Fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИРИНА!! Огромное спасибо !! Заработало !!
Все, бегу за букварем и линзой(х25), шоб буковки научится внимательней рассматривать.
А прикольно получается....
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32571573
Petr Chulkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ирина:
подскажите пожалуйста:

1. почему при создании Wizard-ом измерений parent-child всегде выдаётся сообщение о том, что невозможно подсчитать количество записей в таблице фактов... но если я в соотв. свойстве (member count) указываю любую цифру больше ноля то всё работает... ( SP3 установлен.... )

2. можно ли в измерении parent-child добавить ещё один уровень, куда данные должны попадать из join связи... ( т.е. хотелось бы дерево номенклатурных групп разворачивать до конкретных номенклатур....)

3. можно ли (если да, то как) решить такую проблему.. есть куб отгрузки, есть таблица (надо будет - будет куб) по квотам на отгрузку, где есть начальная - конечная дата и объём квот... хотелось бы вывести всё это в одном кубе... т.е. сколько отгружено и какая квота установлена... проблема в том, что отгрузка задана одной датой, а квота - двумя... можно ли такое объединить в один куб...

Заранее благодарен, Petr[@]Chulkov.NET
Chulkov.Net - Trustworthy Knowledge
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32868982
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позволю себе вмешаться, бо MSDN совсем не рулит ;-(((

итак, есть в BNF форме CREATE CUBE
<parent-child level def> ::= [<all level def> <comma>] LEVEL <Template> //only if dimension is parent-child

Хотелось бы понять про этот <Template> вообще надо прописывать ?
, иначе у меня ругань, что "Column expression associated with level '_TemplateLevel' is not found"
Дело выглядит примерно так (Создаю локальный куб и заливаю в него данные из "большого куба"):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
strCreateCube = strCreateCube & "DIMENSION [Customers] DIMENSION_STRUCTURE PARENT_CHILD," '
strCreateCube = strCreateCube & "   LEVEL [All Customers] TYPE ALL , "
strCreateCube = strCreateCube & "   LEVEL [Customer] OPTIONS (UNIQUE_KEY) ROOT_MEMBER_IF ROOT_IF_PARENT_IS_SELF, "
strCreateCube = strCreateCube & "MEASURE [Cases] FUNCTION SUM,"

strInsertInto = strInsertInto & "INSERTINTO=INSERT INTO [Sales]("
strInsertInto = strInsertInto & "   [Customers].[Customer].KEY,"
strInsertInto = strInsertInto & "   [Customers].[Customer].NAME,"
strInsertInto = strInsertInto & "   [Customers].[Customer].PARENT,"
strInsertInto = strInsertInto & "   Measures.[Cases],"
strInsertInto = strInsertInto & "   OPTIONS ATTEMPT_ANALYSIS "
strInsertInto = strInsertInto & " SELECT"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer!KEY],"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer],"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer!Parent1],"
strInsertInto = strInsertInto & "   [Sales].[measures:Cases],"
strInsertInto = strInsertInto & " From [Sales] "
Такое впечатление, что проблема в INSERT INTO, потому что я не знаю, какой имя уровня сгенерировано. А ведь в "большом кубе" есть имена уровней. Но в локальном никак не получается..
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32869037
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
torinТакое впечатление, что проблема в INSERT INTO, потому что я не знаю, какой имя уровня сгенерировано. А ведь в "большом кубе" есть имена уровней. Но в локальном никак не получается..

Вы правы, в Insert Into для Parent/child нужно указать только имя измерения, а не уровня, т.е нужно заменить :

strInsertInto = strInsertInto & " [Customers].KEY,"
strInsertInto = strInsertInto & " [Customers].NAME,"
strInsertInto = strInsertInto & " [Customers].PARENT,"

Я бы так же посоветовала имя уровня [Customer] временно заменить на пустой шаблон [], а потом почитать о шаблонах в BOL-статья: LevelNamingTemplate (Level Interface) Она про серверные кубы, но в локальных те же правила.

torinА ведь в "большом кубе" есть имена уровней. Но в локальном никак не получается..
В "большом кубе" у вас много уровней уже после создания(process) куба, а во время его создания в Analysis Manager, то же 2. После того как вы создадите локальный куб, у вас сгенерится много уровней.


Petr Chulkov 2Ирина:
подскажите пожалуйста..
извините пожалуйста, я сразу не заметила вопрос, а сейчас наверно уже поздно:((

Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32869468
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ирина, спасибо, но я так пробовал. В принципе, мне известно шаблоны, потому как я сам делал это "большой" куб. Указание шаблона, например
Код: plaintext
1.
2.
3.
strCreateCube = strCreateCube & "DIMENSION [Customers] DIMENSION_STRUCTURE PARENT_CHILD," '
strCreateCube = strCreateCube & "   LEVEL [All Customers] TYPE ALL , "
strCreateCube = strCreateCube & "   LEVEL [Customer and Group;Customer;*] ROOT_MEMBER_IF ROOT_IF_PARENT_IS_SELF, "
Возвращает Parsing error. В одинарные и двойные кавычки не дает вроде результата..

В предложенном Вами варианте:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
strCreateCube = "CREATECUBE=Create CUBE [Sales]("
strCreateCube = strCreateCube & "DIMENSION [Customers] DIMENSION_STRUCTURE PARENT_CHILD," '
strCreateCube = strCreateCube & "   LEVEL [All Customers] TYPE ALL , "
strCreateCube = strCreateCube & "   LEVEL [] ROOT_MEMBER_IF ROOT_IF_PARENT_IS_SELF, "

strInsertInto = strInsertInto & "INSERTINTO=INSERT INTO [Sales]("
strInsertInto = strInsertInto & "   [Customers].KEY,"
strInsertInto = strInsertInto & "   [Customers].NAME,"
strInsertInto = strInsertInto & "   [Customers].PARENT,"

strInsertInto = strInsertInto & " SELECT"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer!KEY],"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer],"
strInsertInto = strInsertInto & "   [Sales].[Customers:Customer!Parent1],"

"Error processing the dimention 'Column name 'Customer' is not valid. Only level or measure names can be specified. :-(
Правда, когда в SELECT меняю на
Код: plaintext
1.
2.
3.
4.
strInsertInto = strInsertInto & " SELECT"
strInsertInto = strInsertInto & "   [Sales].[Customers!KEY],"
strInsertInto = strInsertInto & "   [Sales].[Customers],"
strInsertInto = strInsertInto & "   [Sales].[Customers!Parent1],"
Проходит чуть дальше и сообщает, что 'Processing error [Parent-child dimention table has a loop]. Странно, у меня проперти Parent1 - со значением ParentID из таблицы..


На всякий случай - у меня в "большом кубе" данные только на листьях, но если нет парента, то лист толжен быть рутом.

И, кстати, можно Вас попросить пролить свет на опцию OPTIONS (UNIQUE_KEY). Дело в том, что когда я ее леплю на нижний левел, скажем иерархии времени (так у меня в "большом"), локальный куб не содается с непонятным сообщением - типо в области агрегатов можно указывать только меры... Как только убрал все упоминания это опции, работает ;-(

Огромное спасибо !
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32869912
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Практически получилось !
Вообщем, неправильно указан тип ROOT_MEMBER_IF, надо было ROOT_IF_PARENT_IS_MISSING
Далее, шаблон прошел только такой LEVEL [Customer*], точка с запятой не проходят ;-(
Получилось, конечно, не очень красиво,

All
Customer02

Есть еще идеи ?
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32874868
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ирина, извините, но все же паттерн Customer* немного не неудобно получается.
All
Customer02
Customer03
и т.д.

Может есть еще шаманство какое для LEVEL [] ?
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32875907
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте Вы напишите какие имена вам бы хотелось видеть, а я гляну как это сделать.
...
Рейтинг: 0 / 0
Parent Child Dim in Local Cube
    #32879065
Torin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОЙ, проглядел. Надеюсь, "шара" еще не улетела ? ;-)
У меня уже в "большом" кубе сделано так
Customer or Group;Customer;Local customer;Customer*
Ниже 3-го не бывает

Вот, вообщем то и все ;-)
Спасибо !
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Parent Child Dim in Local Cube
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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