powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX. Обращение по порядковому номеру в иерархии
3 сообщений из 3, страница 1 из 1
MDX. Обращение по порядковому номеру в иерархии
    #40023224
IlyamI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Имеется измерение с иерархией атрибутов, всего два уровня.

На первом уровне может быть переменное количество значений, на нижнем - тоже.
Например: id, subpart, part
id уникально идентифицирует subpart
id - ключ измерения.
Сортировка атрибута subpart осуществляется по наименованию.

Есть пары веток первого уровня этой иерархии (partX-partY), которые взаимосвязаны и количество и порядок элементов второго уровня у них одинаковый, элементы могут различаться наименованием (суффиксом).

При последовательном перечислении subpart ([Измерение].[Subpart].children) необходимо обратиться к соответствующей ветке иерархии по порядковому индексу: [Измерение].[Part].[{current subpart index}]

Изначально было реализовано по следующему принципу (упрощено):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with
   member strName as
   [Измерение].[subpart].currentmember.name

   member v as
   (
      strtomember([Измерение].[Иерархия].[partY].['+strName+']),
      [measures].[value]
   )


Проблемы возникают, когда наименования subpart различаются.
Порядок следования на уровне part может меняться.
Изменить состав атрибутов измерения невозможно.

Дело в том, что management studio для таких ячеек выводит NULL, а в Excel выводится "#ЗНАЧ!".

Не понимаю, почему Excel так себя ведет. Поэтому пытаюсь реализовать обращение по порядковому номеру.
...
Рейтинг: 0 / 0
MDX. Обращение по порядковому номеру в иерархии
    #40023235
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IlyamI,

Cousin ?

наверное ещё можно Ordinal / CurrentOrdinal прикруть (и вставлять через Item)
если на кактус с Rank лезть - то очень затратно/медленно получится на тяжелых измерениях.

Кстати - в логику вычисления (меры ?) ведь проверку можно вставить тоже без проблем, и выводить пустое значение вместо null чтобы интерфейс доволен был
...
Рейтинг: 0 / 0
MDX. Обращение по порядковому номеру в иерархии
    #40023516
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п.с.
В некоторых случаях (когда именно эта функциональность критична)
правильней такие переходы навигации по суррогатному ключу (атрибута) делать
(на которые текстовые наименования привязаны)
тогда от таких несовпадений получится избавится.
естественно всю систему пересобирать придётся.

а ещё можно и позицию найти через count (т.е. посчитать сколько элементов в наборе null:currentmember)
и на основании этого делать Item() {-1} из соответствующего набора в нужном месте другого уровня иерархии
по необходимости разбавив LinkMember (для перехода между корневым атрибутом и его клоном в иерархии)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MDX. Обращение по порядковому номеру в иерархии
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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