AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.08.2019, 20:04   #1  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Financial dimension values concatened by mask
коллеги, помогите решить задачу группировки значений финансовых измерений в одном поле по заданной маске.

грубо говоря, есть некий набор атрибутов (recid in DimensionHierarchy), в которой существуют несколько выбранных атрибутов (DimensionHierarchyLevelView)

а теперь я хочу сгруппировать наборы значений этих самых выбранных атрибутов из DimensionAttributeValueSetItemView так, чтобы если для атрибута из иерархии нет значения, то в итоговой строке он был бы представлен, например, пустой строкой или n/a.

вот, что я имею в виду на картинке
Нажмите на изображение для увеличения
Название: sql_concat.png
Просмотров: 153
Размер:	171.3 Кб
ID:	12361

вот мой запрос, который планирую запихать в computed column на своей вьюхе (работает норм)

X++:
select
	t1.DIMENSIONATTRIBUTEVALUESET
,STUFF((SELECT '-' + t16.NAME 
		FROM DIMENSIONATTRIBUTE t16
            JOIN DIMENSIONHIERARCHYLEVELVIEW as t17
                    on t17.DIMENSIONATTRIBUTE = t16.RECID 
					where
					t17.HIERARCHYrecid = 68719485163
           ORDER BY t16.RECID
           FOR XML PATH('')), 1, 1, '')  as ConcatDimNames
	,STUFF((SELECT '-' + t6.NAME +
			STUFF((SELECT '-' + t3.DisplayValue
                    from DimensionAttributeValueSetItemView as t3
                    where
                    t1.DimensionAttributeValueSet = t3.DimensionAttributeValueSet
					and t7.DIMENSIONATTRIBUTE = t3.DIMENSIONATTRIBUTE
                    order by t3.DIMENSIONATTRIBUTE
                    for xml path('')), 1, 1, '') 
					
		FROM DIMENSIONATTRIBUTE t6
            JOIN DIMENSIONHIERARCHYLEVELVIEW as t7
                    on t7.DIMENSIONATTRIBUTE = t6.RECID 
					where
					t7.HIERARCHYrecid = 68719485163
           ORDER BY t6.RECID
           FOR XML PATH('')), 1, 1, '') as ConcatValues
 from DimensionAttributeValueSetItemView t1
   join DIMENSIONHIERARCHYLEVELVIEW t4
 on t4.DIMENSIONATTRIBUTE = t1.DIMENSIONATTRIBUTE
  where
		t4.HIERARCHYrecid = 68719485163
 group by t1.DIMENSIONATTRIBUTEVALUESET
чую, что можно как-то применить регулярные выражения или stuff, но знаний не хватает
__________________
Felix nihil admirari
Теги
computed column, dimensions, regular expressions, sql, view

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax_gfm_framework_team: Dimension defaulting in accounting distributions, Part 4 - Fixed dimensions and handling of empty dimension values Blog bot DAX Blogs 0 20.12.2013 23:11
ax_gfm_framework_team: Dimension defaulting in accounting distributions, Part 3 - Splitting and defaulting using Financial dimension default templates and Main account allocation rules Blog bot DAX Blogs 0 18.12.2013 09:11
sumitsaxfactor: Replacing Financial Dimension in Ledger Dimension Blog bot DAX Blogs 0 19.01.2012 13:11
daxline: Set financial dimension values through code in AX 2012 Blog bot DAX Blogs 0 18.11.2011 02:26
Khue Trinh: Setting up a link between a financial dimension and the site inventory dimension Blog bot DAX Blogs 0 27.09.2010 13:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:47.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.