Цитата:
Сообщение от
belugin
TasmanianDevil, я правильно понял, что одно и то же поле будет в таблице иметь разный смысл (и конуептцально тип) в зависимости от настроек конфигурации?
А как интересно будет выглядеть тогда запрос "выбрать все с данного слклада"
X++:
select x from t1 where
(dimType[1] == DimType::Location && dimValue[1] == _location)
||
(dimType[2] == DimType::Location && dimValue[2] == _location)
||
(dimType[2] == DimType::Location && dimValue[2] == _location)
Не снесет ли крышу оптимизатору в данном случае?
При решении в лоб и достижении некоего кол-ва уровней - снесет без вопросов.
Решения :
1) Увеличить кол-во запросов (N уровней -N запросов)
2) Общие для всех моделей разрезы аналитики использовать в едином для всех разрезе(порядок и уровень). Допустим общие у нас разрезы - это "склад" и "кладовщик", первым уровнем для всех моделей будет "склад", вторым - "кладовщик". Экзотику , специфичную для каждой конкретной модели опускать на нижние уровни.
У обоих вариантов есть недостатки - но их можно считать это платой за универсальность