02.08.2019, 20:04 | #1 |
Участник
|
Financial dimension values concatened by mask
коллеги, помогите решить задачу группировки значений финансовых измерений в одном поле по заданной маске.
грубо говоря, есть некий набор атрибутов (recid in DimensionHierarchy), в которой существуют несколько выбранных атрибутов (DimensionHierarchyLevelView) а теперь я хочу сгруппировать наборы значений этих самых выбранных атрибутов из DimensionAttributeValueSetItemView так, чтобы если для атрибута из иерархии нет значения, то в итоговой строке он был бы представлен, например, пустой строкой или n/a. вот, что я имею в виду на картинке вот мой запрос, который планирую запихать в 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
__________________
Felix nihil admirari |
|
10.08.2019, 02:57 | #2 |
Участник
|
Короче, задачу в поставленном виде я решил, но немного отрихтовав структуру данных (то есть, не на стадии цирковых выкрутасов с SQL).
Делается это вот так http://alexvoy.blogspot.com/2019/08/...nsactions.html и применимо к любым транзакциям с финансовыми измерениями. Мозг лопается, поэтому буду рад любой критике и замечаниям!
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
10.08.2019, 15:09 | #3 |
Участник
|
Цитата:
решение тоже. хоть и хитровывернутое. можешь сказать, а каков был исходный вопрос пользователя? чего они хотели то? |
|
10.08.2019, 16:21 | #4 |
Участник
|
сольдо по выбранным значениям финансовых измерений
Можешь предложить пути упрощения? Это лишь начало банкета, дальше будет про накопительные итоги по каждому из них
__________________
Felix nihil admirari |
|
10.08.2019, 16:37 | #5 |
Участник
|
"выбранным" - фильтрация. я так и думал.
нет. сам бы написал, если бы знал. я порождал таких же монстров, которые не принесут радости ни пользователям, ни поддержке, ни программистам. Цитата:
особенно с учетом того, что число комбинаций значений со временем будет только расти. будь проклят тот архитектор, который одобрил ЭТУ финансовую аналитику, но не подумал как ЭТО будут использовать. Последний раз редактировалось mazzy; 10.08.2019 в 16:40. |
|
10.08.2019, 20:53 | #6 |
Участник
|
а что там особо монструозного? я разбил на кучу вьюх (а обычно я ещё их делаю на базе кверей) как раз для упрощения понимания.
Цитата:
что касается количества выбранных атрибутов в наборе, то тоже не особо будет влиять на производительность Цитата:
но я рад, что удалось решить задачу без кодирования
__________________
Felix nihil admirari |
|
12.08.2019, 13:10 | #7 |
Мрачный тип
|
Цитата:
Раз уж даже mazzy так об одной из "священных коров" отзывается
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
13.08.2019, 14:29 | #8 |
Участник
|
|
|
13.08.2019, 16:46 | #9 |
Участник
|
Давайте по сути, народ!
Что именно монструозного тут? Какие есть более изящные подходы?
__________________
Felix nihil admirari |
|
13.08.2019, 17:42 | #10 |
Участник
|
Не до конца понимаю подходит ли по смыслу или нет, но в DimensionAttributeValueCombination и DimensionValueSet в 365 есть невидимые поля которые разворачивают аналитики в строку, может быть можно как то использовать...
|
|
13.08.2019, 18:30 | #11 |
Участник
|
Цитата:
мне и самому интересно, как бы мы могли сделать привязку по набору выбранных атрибутов с колонками в этой таблице. желательно без кодирования. есть идеи?
__________________
Felix nihil admirari |
|
19.08.2019, 14:07 | #12 |
Участник
|
Сорри если неправильно понял проблему, но на счет запроса вроде бы все просто :
PHP код:
|
|
|
За это сообщение автора поблагодарили: raz (10), wojzeh (5). |
19.08.2019, 19:19 | #13 |
Участник
|
всё правильно понял и правильно решил! красавчик, вообще, джигит! спасибо!
__________________
Felix nihil admirari |
|
20.08.2019, 15:14 | #14 |
Участник
|
Пожалуйста!
|
|
Теги |
computed column, dimensions, regular expressions, sql, view |
|
|