powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как сделать иерархию?
9 сообщений из 9, страница 1 из 1
Как сделать иерархию?
    #33075359
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Использую MS AS.
В кратце задача следующая:
есть измерение:
Код: plaintext
1.
2.
3.
--ABC
--DEF
--MN
...

Нужно сделать такую иерархию.
Код: plaintext
1.
2.
3.
4.
5.
6.
--ABC
----ABC
--DEF
----DEF
--Прочие
----MN
...
Вводить дополнительный признак (ABC/DEF/Прочие) в измерение очень не хотелось бы. Мне точно известно, что иерархия будет такой.
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33075402
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не извращались бы вы, а сделали как сами назвали, хоть вам это и лень, все другое - ересь.
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33075578
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы и не извращался.
проблема в том, что измерение генерируется автоматически с использованием SQL Server Accelerator for BI (SSABI). Не хотелось бы наворачивать дополнительные таблицы для уровней (levels) данных. Если можно сделать проще (с т.з. проекта, разумеется) и главное более быстрое решение по-другому, то лучше так и сделать. Если нет, то придется конечно генерировать отдельный уровень.
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33075844
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну то в чём проблема? добавьте уровень в своё измерение с member key/name
Код: plaintext
1.
2.
3.
4.
CASE
  WHEN Left("dbo"."myTable"."myColumn", 3 ) IN("ABC","DEF")
  THEN "dbo"."myTable"."myColumn"
  ELSE 'Прочие'
END
(синтаксис MS SQL)
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33076494
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Добавил уровень, вписал в него предложенный вариант в поле Member Name Column. Получил такую иерархию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
--ABC
----ABC
--DEF
----DEF
--Прочие
----MN
--Прочие
----MSTR
--Прочие
----Test1
--Прочие
----Test2
...
После этого попробовал добавить то же выражение в Member Key Column. На вкладке Data измерение сразу перестроилось (без процессинга и сохранения) так, как я и хотел. Измерение сохранилось. Все нормально. Но теперь не работает процессинг измерения.
Ошибка возникает после шага чтения данных из SQL.
Успешно выполняется запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT DISTINCT
  CASE WHEN Left("Dim_d14_h14_l1401"."l1401_Code", 3 ) IN ('ABC','DEF')
    THEN "Dim_d14_h14_l1401"."l1401_Code" ELSE 'Others' END,
  CASE WHEN Left("Dim_d14_h14_l1401"."l1401_Code", 3 ) IN ('ABC','DEF')
    THEN "Dim_d14_h14_l1401"."l1401_Code" ELSE 'Others' END,
  "Dim_d14_h14_l1401"."l1401_Name"
FROM "Dim_d14_h14_l1401"
А затем возникает ошибка:
Data source provider error: Errors occurred while reading one or more columns; Time:20.05.2005 10:57:36 .
Ну и как следствие, не процессится куб.
В чем ошибка, вроде бы понятно - не получается идентифицировать столбцы данных для уровня в рекордсете, но задать алиас столбцу через AS MemberKeyColumnName и AS MemberNameColumnName также не удается. Возникает ошибка синтаксиса.
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33076565
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно, после плясок с бубном ошибка исчезла, но что повлекло за собой ее исправление, я не уловил.
Сделано все то же самое.

В общем, спасибо :)
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33076721
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем два одинаковых выражения для CASE?
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33077999
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно на MemberKey, другое на Member Name согласно вот этому
Dmitry Biryukov добавьте уровень в своё измерение с member key/name
...
Рейтинг: 0 / 0
Как сделать иерархию?
    #33078015
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а.....
теперь всё предельно ясно :-)
ну хорошо что всё заработало :-)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как сделать иерархию?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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