powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Установка свойства All Level для измерения (на VBS через DSO)
7 сообщений из 7, страница 1 из 1
Установка свойства All Level для измерения (на VBS через DSO)
    #32790026
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ!

Есть следующая проблема : пытаюсь программно создать измерения в БД OLAP.
В принципе все получается, НО новое измерение создается по умолчанию БЕЗ уровня (All) (свойство All Level = No). Как программно установить данное свойство??? У объекта Dimension нет такого свойства :-(((



Вот текст на VBS (почти как в BOL):


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    Dim dsoServer
    Dim dsoDB
    Dim dsoDim
    Dim dsoLevel

    Set dsoServer = CreateObject("dso.Server")

    
    dsoServer.Connect "LocalHost"
    
    Set dsoDB = dsoServer.MDStores("FoodMart 2000")
    
    Set dsoDim = dsoDB.Dimensions.AddNew("Dimension", sbclsRegular)
    
    Set dsoDim.DataSource = dsoDB.DataSources("FoodMart")

    Set dsoLevel = dsoDim.Levels.AddNew("Level")
    
    With dsoLevel
        .MemberKeyColumn = """Account"".""account_id"""
        .MemberNameColumn = """Account"".""account_description"""
    End With

    dsoDim.Update

...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32790580
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я ничего не путаю, то All левел нужно создавать руками, так же как и остальные, это просто Analysis Manager мудрил и сам их создавал.
(двойной дисклаймер).

Ирина

----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32790838
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо добавляю уровень All такой строчкой

Set dsoLevel = dsoDim.Levels.AddNew("(All)")

Во первых непонятно, что указывать в MemberKeyColumn и MemberNameColumn для данного уровня.
Во вторых создается отдельный уровень, который так и называется (All)

А мне нужно не это - надо установить свойство All Level в измерении (значение все равно остается "No") в "Yes" и задать All Caption

Текст такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim dsoServer
    Dim dsoDB
    Dim dsoDim
    Dim dsoLevel

    Set dsoServer = CreateObject("dso.Server")
    dsoServer.Connect "LocalHost"
    Set dsoDB = dsoServer.MDStores("FoodMart 2000")
    Set dsoDim = dsoDB.Dimensions.AddNew("Dimension", sbclsRegular)
    Set dsoDim.DataSource = dsoDB.DataSources("FoodMart")


    Set dsoLevel = dsoDim.Levels.AddNew("(All)")


    Set dsoLevel = dsoDim.Levels.AddNew("Level")
    With dsoLevel
        .MemberKeyColumn = """Account"".""account_id"""
        .MemberNameColumn = """Account"".""account_description"""
    End With

    dsoDim.Update
...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32790896
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexPAVХорошо добавляю уровень All такой строчкой

Set dsoLevel = dsoDim.Levels.AddNew("(All)")

Во первых непонятно, что указывать в MemberKeyColumn и MemberNameColumn для данного уровня.
Во вторых создается отдельный уровень, который так и называется (All)

А мне нужно не это - надо установить свойство All Level в измерении (значение все равно остается "No") в "Yes" и задать All Caption

Текст такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim dsoServer
    Dim dsoDB
    Dim dsoDim
    Dim dsoLevel

    Set dsoServer = CreateObject("dso.Server")
    dsoServer.Connect "LocalHost"
    Set dsoDB = dsoServer.MDStores("FoodMart 2000")
    Set dsoDim = dsoDB.Dimensions.AddNew("Dimension", sbclsRegular)
    Set dsoDim.DataSource = dsoDB.DataSources("FoodMart")


    Set dsoLevel = dsoDim.Levels.AddNew("(All)")


    Set dsoLevel = dsoDim.Levels.AddNew("Level")
    With dsoLevel
        .MemberKeyColumn = """Account"".""account_id"""
        .MemberNameColumn = """Account"".""account_description"""
    End With

    dsoDim.Update



У DSO.Level есть Property IsAllLevel. Его надо в true поставить.
...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32791025
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению свойства IsAllLevel у объекта DSO.Level просто нет :-(((
Во всяком случае я его не могу найти :-) И в MSDN об этом ничего не сказано.

Как мне казалось, что свойство All Level должно быть у измерения ...

Есть у объекта DSO.Level свойство LevelTypes, которое в принципе можно выставить в "levAll", но это тоже не помогает - так же остаются 2 уровня.

Плюс если назвать измерение (All), то процесс измерения проходит нормально, а browse сделать не могу - ошибка (зарезервированное слово (All))

Что то совсем все это нехорошо :-(
...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32791110
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите очепятался. IsAll
...
Рейтинг: 0 / 0
Установка свойства All Level для измерения (на VBS через DSO)
    #32794240
AlexPAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо backfire все получилось!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Установка свойства All Level для измерения (на VBS через DSO)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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