|
|
|
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&msg=39943647&tid=1857346]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 396ms |

| 0 / 0 |

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