| 
 | 
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ребята, всем привет! Помогите, пожалуйста, новичку! Задача: нужно развернуть иерархию в виде таблицы (по аналогии с табличным представлением в экселе при работе с олап-запросом), чтобы первый уровень был в первом столбце, второй во втором и так далее. По умолчанию mdx выводит иерархию в один столбец, строками. Select ( [Товары].[КТТ].[Level 03], [Товары].[КТТ].[Level 04] ) on 1 Выдает ошибку "В функции Crossjoin иерархия КТТ используется более одного раза" Я подозреваю, что должно быть какое-то простое решение, эксель ведь справляется) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2020, 18:20 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty, Запускаете Profiler и смотрите, какой запрос отправляет Excel ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2020, 19:14 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2020, 21:25 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Критик, К сожалению нет доступа ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2020, 22:01 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PassedBI Batty, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Пишет "Достигнут конец входных данных." ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.04.2020, 22:02 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ИИ поднялся на такой уровень что from уже можно не указывать.. сервер сам должен знать в какой куче все это лежит.. да, Batty? а вот посмотреть что Excel формирует для отправки на сервер можно и без профайлера.. достаточно быть знакомым с внутренней кухней Excel или установить расширение полезное, в общем и для таких целей, в частности. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 00:09 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ShIgor ИИ поднялся на такой уровень что from уже можно не указывать.. сервер сам должен знать в какой куче все это лежит.. да, Batty? Я привожу часть кода, конечно там есть from дальше, это к вопросу не относится. К чему ваш сарказм? ShIgor а вот посмотреть что Excel формирует для отправки на сервер можно и без профайлера.. достаточно быть знакомым с внутренней кухней Excel или установить расширение полезное, в общем и для таких целей, в частности. Так расскажите как, будьте добры! Если бы я знала, как это сделать, то не спрашивала бы на форуме ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 13:17 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty, если вы хотите получить это в CellSet резулбьтаье MDX запроса, то перемножьте аттрибутные иерархии, лежащие в основе уровней иерархии Код: sql 1. 2. 3. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 13:57 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty Я привожу часть кода, конечно там есть from дальше, это к вопросу не относится. К чему ваш сарказм? А откуда пытающиеся Вам помочь участники форума должны догадаться что еще Вы там напропускали в коде? В том виде в котором опубликован Ваш запрос, он обычно выдает ошибку: Код: sql 1. Это означает, что Вы пропустили ось 0. На нее можно вынести, напр., пустой сет, если вы хотите получить сет атрибутов измерения. Чтобы где-то попробовать MDX обычно, по возможности, моделируют ситуацию на каком-либо общеизвестном/легко доступном кубе (чаще всего Adventure Works). Чтобы MDX стал хоть что-то возвращать, можно его поправить, напр., так (в данном случае на оси 0 - определен пустой сет): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ну, а дальше, как советовали выше можно посмотреть как формирует MDX Excel, какие MDX-функции он использует. Как отображает резульаты запроса клиентское приложение - зависит от него. MDX здесь не причем. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 14:00 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Владимир Штепа Batty, если вы хотите получить это в CellSet резулбьтаье MDX запроса, то перемножьте аттрибутные иерархии, лежащие в основе уровней иерархии Код: sql 1. 2. 3. Владимир, написала так: select {} on 0, [Товары].[КТТ].[Level 03].members * [Товары].[КТТ].[Level 04].members on 1 from Cube Все равно выдает ошибку " В функции Crossjoin иерархия КТТ используется более одного раза." Может я что-то не так поняла? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 15:41 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  alexdr А откуда пытающиеся Вам помочь участники форума должны догадаться что еще Вы там напропускали в коде? В том виде в котором опубликован Ваш запрос, он обычно выдает ошибку: Query (3, 1) Axis numbers specified in a query must be sequentially specified, and cannot contain gaps. Я не с этой ошибкой обращалась. Запрос без повторения иерархии работает, так что давайте разберем только обозначенную ошибку, а не другие возможные (но не присутсвующие) alexdr SELECT ( {} ) ON 0, Hierarchize ( { [Account].[Accounts].[Account Level 01], [Account].[Accounts].[Account Level 02], [Account].[Accounts].[Account Level 03] } ) ON 1 FROM [Adventure Works] Ну, а дальше, как советовали выше можно посмотреть как формирует MDX Excel, какие MDX-функции он использует. Как отображает резульаты запроса клиентское приложение - зависит от него. MDX здесь не причем. Эта структура запроса у меня возвращает только последний уровень иерархии, оставаясь в рамках одного столбца. Вы советуете посмотреть как формирует MDX Excel - КАК ЭТО ПОСМОТРЕТЬ? Если бы я знала, меня бы здесь с вопросами не было. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 15:48 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty, для получения запроса на стороне Excel-клиента стандартно используется VBA свойство activecell.pivottable.mdx https://docs.microsoft.com/en-us/office/vba/api/excel.pivottable.mdx куда его выводить уже вопрос вкуса, можно присвоить значение ячейке на том-же листе, или в immediate window Debug.Print (ActiveCell.PivotTable.MDX) в простейшем случае чтобы получить иерархию в плоском поколоночном виде - достаточно вместо иерархии поставить атрибуты измерения которые составляют уровни этой иерархии (часто эти атрибуты скрыты в дереве измерения, или даже числятся там под другим именем) хотя методология разворота в плоский вид наверное так-же зависит от типа иерархии... data mining в базе есть? тогда можно развернуть в плоский вид через DMX запрос и natural prediction join если клиент не SSMS - то можно развернуть просто используя другой драйвер ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.04.2020, 16:39 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty Владимир Штепа Batty, если вы хотите получить это в CellSet резулбьтаье MDX запроса, то перемножьте аттрибутные иерархии, лежащие в основе уровней иерархии Код: sql 1. 2. 3. Владимир, написала так: select {} on 0, [Товары].[КТТ].[Level 03].members * [Товары].[КТТ].[Level 04].members on 1 from Cube Все равно выдает ошибку " В функции Crossjoin иерархия КТТ используется более одного раза." Может я что-то не так поняла? Правильно выдает ошибку, так как перемножение уровней иерархии это не перемножение аттрибутных иерархий, лежащие в основе уровней иерархии. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.04.2020, 11:08 | 
  
  
  
   | 
||
| 
 
MDX табличная иерархия 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Batty, есть add-in для экселя, там можно посмотреть mdx https://olappivottableextensions.github.io/ ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.04.2020, 13:58 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=49&tid=1857346]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    54ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    54ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 233ms | 
| total: | 385ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.