powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / в mdx склеить значения 3-4 полей-атрибутов
17 сообщений из 42, страница 2 из 2
в mdx склеить значения 3-4 полей-атрибутов
    #39439037
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С. сама идея от Chris Webb здесь (он это решал при помощи Allan Mitchell)
может получится не только горизонтатльно - но и вертикально сложить через UNION (т.к. DMX как наследник урезаного SQL его тоже поддерживает), но это уже на любителя поизвращаться если кому охота эксперементировать с туманными перспективами.
кстати - DMV вроде как основан на DMX
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39439667
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkivда нет, openquery/openrowset (т.е. sql) сразу в тот-же день после вопроса через пару часов предложил, так что по ходу явно не прокатит из-за особенностей их локально-внутренних интерфейсов.


пока это вопрос затих (точнее образовались новые более срочные)
СПС всем - узнал много нового -

@vikkiv прокомментируй плз
openquery/openrowset (т.е. sql)
может я пропустил

доступ к бд есть полный
т.е это идея в том чтобы просто сделать запрос к исходной БД ( вместо mdx ) ?
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39439784
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
до SQL напрямую тебе насколько понимаю из MDX не получится достучаться, из-за этого ограничения:Гулин Федорвсе д.б в mdx - ибо его можно передать (скормить) гуи-клиенту1) но в окне MDX та-же выполняется и DMX который понимает openquery/openrowset (для первого нужен соответствующий DS, для второго - проверить настройки сервере/разрешить провайдера)
это на уровне SSAS
2) такая-же функциональность как указал StarikNavy есть и на уровне SQL (хотя тоже нужна дополнительная конфигурация от безопасности и ad-hoc distributed query, {linked server, openquery или openrowset}) - тогда можно манипулировать полями (колоннами) в SQL, но тебе это не подходит из-за ограничения

можно сделать напрямую на DMX (в MDX окне) или объединить первое и второе (из DMX вызвать SQL который выполнит MDX запрос и отформатирует результат) - но это наверное уже изврат какой-то (два раза вызывать openquery/openrowset, один раз как DMX и второй как SQL)

поэтому в свете ограничения - первичная задача проверить экспериментальным путём : работает-ли твой GUI с DMX.
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39439786
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федорт.е это идея в том чтобы просто сделать запрос к исходной БД ( вместо mdx ) ?не совсем, используется функциональность SQL (для манипуляции с полями) - а сами данные берутся из SSAS
но до SQL не обязательно стучаться, проверь как DMX напрямую сработает, тогда DMX вытащит нужные поля из MDX
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440315
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федорв SQL это было просто col_calc as col1 + ';' + col2 + ';' + col3
В mdx это похоже невозможно (или как-то оч. хитро )
Если эти три фиговины можно отобразить с помощью MDX отдельными кололками, то можно и "склеить" и отобразить одной.
Как - я показал выше и ссылки накидал. Если на словах, то, еще раз:
- если MEASURE - просто берем его значение
- если это элементы измерений, то обращаемся к CURRENT_MEMBER соотв. иерархий, и потом или прямые свойства или функция PROPERTIES(...)
Важно! (для MSSQL тоже!) Полученные значения должны быть приведены (конвертированы) к совместимым типам данных, например с помощью функции CSTR(...)
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440322
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а причем тут ad-hock запросы к исходным данным совсем не понял - зачем из пушки по воробьям?
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440411
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не ошибаюсь - обычно чтобы разрешить openquery/openrowset на стороне SQL требутеся конфигурация типа
Код: sql
1.
2.
exec sp_configure'Ad Hoc Distributed Queries',1;
reconfigure

да, путь конечно муторный - но при такой задаче нужны альтернативы, хотя ещё раз - первый пример DMX из MDX даёт нужный результат без openquery/openrowset (на стороне SSAS), т.е. доп конфигурация не нужна. может ты путаешь с
Код: sql
1.
sp_configure'optimize for ad hoc workloads',1

? (я SQL сервер перед каждым SSAS процессингом в этот режим перевожу кроме XMLA конфигурации)
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440422
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я туплю навреное, но, пересмотрев еще раз, так и не нашел намека на то, что автору топика нужен доступ к исходным (тем более не агрегированным и уж тем более из "сырой" базы MSSQL) данным.
На сколько я понял, ему просто нужно итерируя по одной запрошенной в MDX оси (ON ROWS к примеру), выводить "склеинными" свойства текущих элементов измерений и меры.
КАК? - много раз показал/объяснил выше.
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440430
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от куда делается однозначный вывод о доступе к исходным данным как цели последовательности операций? создаётся только подключение чтобы использовать более удобный инструментарий другого языка/диалекта (хотя при желании и можно получать из исходных данных - т.к. соединение в своём спектре имеет и такую функциональность)
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440439
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вывод из постингов выше.

Вопрос еще раз - а зачем нужно так замороченно, если можно просто взять два значения и склеить (при необходимости, конвертнув в строку)?
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39440569
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri Abele..Вопрос еще раз - а зачем нужно так замороченно, если можно просто взять два значения и склеить (при необходимости, конвертнув в строку)?Yuri Abele,
это одна из наиболее вероятных интерпретаций из вводной, т.е. особенностей GUI берущего:
(а) первую колонну из dataset
(б) на первую позицию
(в) при том что MDX возвращает в (a) - первую позицию вертикальной оси (set элементов атрибута)
(г) интерфейс работает с MDX и не работает с SQL

задача: вывести в условиях (а) и (б) несуществующий показатель в пределах ограничений (в) и (г)
что означает сужение альтернатив решений до:
0) (из-) менять интерфейс / или разбираться с его документацией-настройками (может и работает на самом-то деле)
1) {расчётную} меру (склеенную из стрингов) туда не получится поставить, значит можно только атрибут (если делать средствами MDX) - которого в нынешней структуре куба/измерений нет (т.е. надо делать/менять структуру)
или
2) не меняя структуру - использовать дополнительные возможности смежного/другого диалекта (взаимозаменяемость DMX и MDX) имеющую необходимую для решения проблемы функциональность.


как-бы никто и не спорит что можно склеить нужную меру, затруднение в том что такой вариант не вписывается в ограничения - следовательно не решает вопрос.



это о методологии основной проблемы,Гулин Федорпричем если 2 включены и там и там
Exception of type 'System.OutOfMemoryException' was thrown.
декарт похожевторая - часто обсуждаемая на форуме (out of memory или сходная/кореллирующая: ограничение в 4.3 миллиарда туплов в crossjoin) решается через nonempty/exists/auto-exists (если это не проблема на клиенте - Excel часто выдаёт данные лучше {быстрее и без переполнения буфера} чем SSMS) - для нужной группы мер (+использовав autoexists для атрибутов из одного и того-же измерения, особенно эффективно если связи между атрибутами настроены правильно)

причём NON_EMPTY_BEHAVIOR и NonEmptyCrossJoin - уже практически списанная функциональность (последние SSAS ядра это уже оптимизируют внутри автоматом)
для решения вторичной проблемы можно ещё рассмотреть последовательность в которой выполняются запросы MDX: from(subcube-subquery)/where(slicers)/with(sets-members)/axis/having&non empty
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39447719
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkivкак-бы никто и не спорит что можно склеить нужную меру, затруднение в том что такой вариант не вписывается в ограничения - следовательно не решает вопрос.
Так вот, как раз эти самые ограничения введены вами, а не автором. Автору же просто два значения (меры или свойства элементов измерений) склеить надо было.


Гулин Федорпричем если 2 включены и там и там
Exception of type 'System.OutOfMemoryException' was thrown.
Просто надо на ось не все элементы измерения пихать, а только те, для которых существует исходная мера.
Абстрактный пример:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
WITH
    MEBER Concatinated_Value AS
        Some_Dim.Some_Hierarhy.CURRENT_MEMBER.PROPERTIES('Some_Property')
        +
        CStr(MEASURES.Some_Physical_Measure)
SELECT
    Exists(
        Some_Dim.Some_Hierarhy.Some_Level.MEMBERS,
        MEASURES.Some_Physical_Measure
    ) ON ROWS,
    Concatinated_Value ON COLUMNS
FROM
    Some_Cube
WHERE
    (Some_Slice)
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39447742
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тогда я наверное неверно понял вот эти вводные: 20388517 Гулин Федор..ps там проблема в том что на дашбоарде в том гуи-клиенте можно показать толкьо 1 столбец-категорию (мер можно сколько угодно.)
(разработчики говорят что будет больше - но когда не известно).. 20388611 Гулин Федор..СПС за быстрый фидбек
еще раз - там именно Calculated меры
А мне надо склеить атрибуты разных димешененов в 1 поле
чтобы обойти проблему в GUI клиенте
(мер там можно показать сколкьо угодно - а вот столбец Categories один)..
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39447761
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... эээб т.е. ему надо на осях отображате "склеенные" элементы?
Если так, то проще всего на уровне DSV named calculations создавать, только ВАЖНО!!! - жестко задавать тип и размер значений.
Т.е. не

Код: sql
1.
MyTable.FirstColumn + MyTable.SecondColumn



а, к примеру:

Код: sql
1.
CAST(MyTable.FirstColumn + MyTable.SecondColumn AS NVARCHAR(200))



и проверять при изменениях, соответствует ли тип данных у соотв. аттрибута
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39447766
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri Abele... эээб т.е. ему надо на осях отображате "склеенные" элементы?
Если так, то проще всего на уровне DSV named calculations создавать...
Хотя и тут - если просто один из столбцов ResultSet-а выбирается в роли категории (как в SSRS например), то возвращаемся к CALCULATED MEASURE
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39447853
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri AbeleYuri Abele... эээб т.е. ему надо на осях отображате "склеенные" элементы?
Если так, то проще всего на уровне DSV named calculations создавать...
Хотя и тут - если просто один из столбцов ResultSet-а выбирается в роли категории (как в SSRS например), то возвращаемся к CALCULATED MEASURE

значит я плохо объяснял
на уровне одного димешнена - DSV помогате
вопрос был имнно в разных димешеннах

ps пока уже не актуально - другие более актуальные пробелмы есть.
...
Рейтинг: 0 / 0
в mdx склеить значения 3-4 полей-атрибутов
    #39448042
Фотография Yuri Abele
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гулин Федорвопрос был имнно в разных димешеннах
вопрос не в этом, а в том, должно ли это быть обязательно измерение на одной оси или достаточно и как-то вычесленного Calculated Member (на MEASURES или "прикрепленный" к другому измерению?
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / в mdx склеить значения 3-4 полей-атрибутов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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