Показать сообщение отдельно
Старый 01.11.2019, 19:57   #4  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
проблема была в методе, возвращающем значения для computed column.

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

для истории привожу исправленный метод:

X++:
private static server str finDimValues()   // X++
    {
        return @"STUFF((SELECT '-' +
                        ISNULL(
                            STUFF((SELECT '-' + t3.DisplayValue
                                    from DimensionAttributeValueSetItemView as t3
                                    JOIN DimensionHierarchyLevel as t17
                                    on t17.DIMENSIONATTRIBUTE = t3.DIMENSIONATTRIBUTE
                                    join CDPSysProcessDetailBankAccTransAggrExpTable t25
                                        on
                                            t17.DIMENSIONHIERARCHY = t25.DIMENSIONHIERARCHY
                                    where
                                    t1.DimensionAttributeValueSet = t3.DimensionAttributeValueSet
                                    and t7.DIMENSIONATTRIBUTE = t3.DIMENSIONATTRIBUTE
                                    order by t17.LEVEL_
                                    FOR XML path('')
                                   ), 1, 1, '')
                            , '')
      
                    FROM DIMENSIONATTRIBUTE t6
                        JOIN DimensionHierarchyLevel as t7
                                on t7.DIMENSIONATTRIBUTE = t6.RECID
                                join CDPSysProcessDetailBankAccTransAggrExpTable t15
                                    on
                                        t7.DIMENSIONHIERARCHY = t15.DIMENSIONHIERARCHY
                                order by t7.LEVEL_
                    FOR XML PATH('')), 1, 1, '')";
 
     
}
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: fed (4), sukhanchik (4), vmoskalenko (4).