проблема была в методе, возвращающем значения для 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, '')";
}