|
|
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Привет Всем. SSAS 2012 можно ли в mdx склеить значения 3-4 полей-атрибутов (c Разных димешненов ) (Если бы на одном я сделал бы вычислимое поле на уровен датасорса и склеил там ) аналог в SQL Select fild1 + ';' + fild2 + ';' + fild2 as ps там проблема в том что на дашбоарде в том гуи-клиенте можно показать толкьо 1 столбец-категорию (мер можно сколько угодно.) (разработчики говорят что будет больше - но когда не известно) т.е mdx Я написал руками ОК но у него выходных 4 поля-атрибута вот мне как-то бы их склеить в одно поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 11:50 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, MDX Calculated Members - Query-Scoped Calculated Members: https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/mdx/mdx-calculated-members-query-scoped-calculated-members ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 11:55 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Yuri AbeleГулин Федор, MDX Calculated Members - Query-Scoped Calculated Members: https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/mdx/mdx-calculated-members-query-scoped-calculated-members СПС за быстрый фидбек еще раз - там именно Calculated меры А мне надо склеить атрибуты разных димешененов в 1 поле чтобы обойти проблему в GUI клиенте (мер там можно показать сколкьо угодно - а вот столбец Categories один) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:03 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
приведу mdx - мне бы склеить в одну Patient Full Name + ';' + Gender + ';' + Age + ';' + Dim Event Type.Event Type Desc (ключевой момент именно из разных дименешенов - с одной я бы сделал вычисляемый атрибут в датасорсе дименшена) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:07 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, 1. в CM можно и текстовые величины склеивать. 2. у каждого аттрибута есть ряд прямых (принадлежат ему) и связанных (ссылки на родительские аттрибуты) свойств. Для части свойств есть Shortcuts, например MyDimension.MyHierarhy.CURRENTMEMBER.Name. До остальных добираются через функцию PROPERTIES: https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/mdx/mdx-member-properties-intrinsic-member-properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 12:59 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Еще парочка мыслей: Eсли есть доступ к дизайну OLAP базы, то - можно атрибутам задавать отдельное значение для свойства VALUE - в DSV можно создавать Named Calculations - что-то вроде Computed Columns, только на уровне DSV https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/define-named-calculations-in-a-data-source-view-analysis-services и их уже, к примеру, использовать в VALUE свойстве аттрибутов - у функции <member>.PROPERTIES(...) есть опционяльный параметр TYPED - без него все значения возвращаются как STRING, с ним соответсвующего типа - так можно, к примеру, с числами оперировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:07 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Yuri AbeleЕще парочка мыслей: Eсли есть доступ к дизайну OLAP базы, то - можно атрибутам задавать отдельное значение для свойства VALUE - в DSV можно создавать Named Calculations - что-то вроде Computed Columns, только на уровне DSV https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/define-named-calculations-in-a-data-source-view-analysis-services и их уже, к примеру, использовать в VALUE свойстве аттрибутов - у функции <member>.PROPERTIES(...) есть опционяльный параметр TYPED - без него все значения возвращаются как STRING, с ним соответсвующего типа - так можно, к примеру, с числами оперировать в DSV можно создавать Named Calculations Я могу это создать - и в DSV и в таблице как вычислимое поле куб мой - доступ ПОЛНЫЙ -если бы с 1 димешнена был составное поле - так бы и сделал с 2-х димешненов все равно не понимаю как это мне поможет (а потом может и 3 будет - кто знает) у меня это НЕ меры а дименшены резалтсет корректный - в екселе все ОК - но мне надо как то склеить 4 поля в одно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:39 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
грубо говоря есть вот столбец1 столбец2 пациент1 событие2 пациент1 событие3 хочу в mdx получить вот : столбец пациент1 : событие2 пациент1 : событие3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:51 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
точнее есть 1-й mdx столбец1 столбец2 мера1 пациент1 событие2 мера1 пациент1 событие3 мера1 хочу из 1-го mdx получить 2 mdx возвращающий резалтсет : объед.столбец мера1 пациент1 : событие2 мера1 пациент1 : событие3 мера1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 13:58 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
в MDX нельзя на оси склеить, структуру менять надо, оси элементами атрибутов определяют контекст для ячеек - в которые передаются значения т.е. на пересечении координат осей (за искл. всех остальных которые default по умолчанию) хочешь на оси поставить значения? - не получится (можно только добавить дополнительные Properties, но систему координат не выкинешь) так что создавай новые мемберы (элементы атрибута) или в ручную или меняй структуру тогда один ключ на ось - а на него по 1:1 иерархии child как значение (пересечением с осью на которой выбранные элементы измерения расчётных мер, т.е. {событие,мера1} где мера.событие = ключ.parent..member_name) на ключ можешь имя соотв. пациента повесить можно с DMX поизвращаться (в том-же подключении/окне что и MDX), там и аналог SQL join можно завернуть (через SHAPE/APPEND) в крайнем случае передавай MDX результат в SQL через openquery/openrowset, и там манипулируй(чисти, склеивай стринги, join-ь результаты) как нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:27 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
vikkiv, И мне кажется что не получится - но вдруг воркараунд все д.б в mdx - ибо его можно передать (скормить) гуи-клиенту так что создавай новые мемберы (элементы атрибута) не понял как можно или ссылку или еще раз Dim Patient].[Patient Full Name].[Patient Full Name].MEMBERS * [Dim Event Type].[Event Type Desc].[Event Type Desc].MEMBERS вот их мне надо склеить - где и что мне создавать (в кубе , в mdx ) ? зы про dmx даже не в курсе - в любом случае клиент понимает только mdx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:43 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, проще уж тогда (временно) создать измерение, где будет нужный атрибут (склеенный) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:45 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
StarikNavyГулин Федор, проще уж тогда (временно) создать измерение, где будет нужный атрибут (склеенный) да думал над этим воркараундом составной дименшен ( поле1 + поле2) 50 событий *5000 пациентов и это пока (пациенты точно будут расти и сильно) + ETL менять а потом 3 столбец добавить в репорт и что тогда еще новый димешн (есть вариант что в гуи клиенте просто через. некоторое время добавят эту возможность ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 14:59 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Я повторюсь: =================== Гулин Федор, 1. в CM можно и текстовые величины склеивать. 2. у каждого аттрибута есть ряд прямых (принадлежат ему) и связанных (ссылки на родительские аттрибуты) свойств. Для части свойств есть Shortcuts, например MyDimension.MyHierarhy.CURRENTMEMBER.Name. До остальных добираются через функцию PROPERTIES: https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/mdx/mdx-member-properties-intrinsic-member-properties =================== Или тут всё написано или я недопонимаю Вашу задачу. По моему всё-таки первое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 07:32 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Т.е. что-то такое с тремя вариантами вытаскивания свойств аттрибутов (пишу не проверяя) WITH MEMBER Concatinated_Properties AS MyDimention1.SomeHierarhy.CurrentMember.Name + ' ' + OtherDimension.SomeHierarhy.CurrentMember.Properties('Name_Of_Parent_Attribute') + ' ' + ThirdDimension.SomeHierahy.CurrentMember.Value SELECT Concatinated_Properties ON COLUMNS, NON EMPTY MyDimention1.SomeHierarhy.SomeLevel.MEMBERS * OtherDimension.SomeHierarhy.SomeLevel.MEMBERS * ThirdDimension.SomeHierarhy.SomeLevel.MEMBERS ON ROWS FROM MyCube ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 07:39 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Отформатированно: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 07:40 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
@Yuri Abele За фидбек по любому СПС Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. поэкспериментировал мембер склеенный - получается причем если 2 включены и там и там Exception of type 'System.OutOfMemoryException' was thrown. декарт похоже результирующая мера у меня должна быть та же что в исходном mdx [Measures].[# of Events] я не вижу ее в примере просто вместо 2(3,4) столбцов атрибутов димешненов - я хотел получить один склеенный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 18:18 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
у меня есть - mdx возвращает столбец N1 N2 N3 мера [Measures].[# of Events] Иванов M 55 1223 Патрова F 13 2345 а получить хочу столбецСклеенный мера [Measures].[# of Events] 'Иванов M 55' 1223 'Патрова F 13' 2345 Я не понимаю как добавить меру [Measures].[# of Events] в приведенный пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2017, 18:25 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Я правильно понимаю, что ты строку с числом склеить пытаешся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 09:18 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Yuri AbeleЯ правильно понимаю, что ты строку с числом склеить пытаешся? да нет склеить пытаюсь в 1 столбец [Dim Event Type].[Event Type].[Event Type]. [Dim Patient].[Patient Full Name].[Patient Full Name] (+ возможно еще что из димешненов) чтобы мера осталалсь таже из за того что гуи клиент в категорис может приянть только 1 стоблец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 11:45 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
[Dim Patient].[Patient Full Name].CurrentMember.Name - STRING [Measures].[# of Events] - INTEGER Эти два типа данных не совместимы - нужно конвертировать второй в строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 14:25 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Что-то я свосем запутался ... В приведенном до этого MDX было [Measures].[# of Events] теперь что-то другое. Конкретизируй, если не трудно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 14:27 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. mdx рабочий резалт сет выглядят так столбец N1 ,N2, N3 , N4 ,мера [Measures].[# of Events] Иванов ,M ,55, травма , 1223 Патрова ,F, 13, болезнь , 2345 хотелось склеить 4 столбца в один [] + мера [ объед. столбец] [Иванов M 55 травма ] , 1223 [Патрова F 13 болезнь ] , 2345 ну т.е в SQL это было просто col_calc as col1 + ';' + col2 + ';' + col3 В mdx это похоже невозможно (или как-то оч. хитро ) зы я понимаю что это по сути изврат - подмена координат куба воркараунд с добавочным димешненом ясен - но не годится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 16:46 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, не поможет? https://support.microsoft.com/ru-ru/help/218592/how-to-perform-a-sql-server-distributed-query-with-olap-server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 11:44 |
|
||
|
в mdx склеить значения 3-4 полей-атрибутов
|
|||
|---|---|---|---|
|
#18+
StarikNavy , да нет, openquery/openrowset (т.е. sql) сразу в тот-же день после вопроса через пару часов предложил, так что по ходу явно не прокатит из-за особенностей их локально-внутренних интерфейсов. Гулин Федор , ещё раз предложу (natural prediction) join из DMX использовать, там вполне реально целые цепи разных результатов создавать, глянь как твой gui проглотит и отобразит такой запрос (соответственно Data Mining модель должна существовать в базе, создай какую-то минимальную для образца): Код: sql 1. 2. 3. 4. 5. 6. abcAccessories - CY 20122147.08106Bikes - CY 20125839695.32523269Clothing - CY 2012642.7922Accessories - CY 2013668241.5334409Bikes - CY 201315359502.369706Clothing - CY 2013323806.458686так-же можно через shape/append/relate join-ить результаты разных MDX запросов, напр.: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. [Date].[Calendar Year].[Calendar Year].[MEMBER_CAPTION][Customer].[Country].&[Australia][Customer].[Country].&[Canada]x.[Date].[Calendar Year].[Calendar Year].[MEMBER_CAPTION]x.[Product].[Category].&[1]x.[Product].[Category].&[3]CY 20122128407.4551307604.5237CY 20125839695.3252642.79CY 20134339443.381085632.65CY 201315359502.36323806.45 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2017, 06:25 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39436962&tid=1858264]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 287ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...