Столкнулась с тем, что когда справочная информация подключена в отдельных таблицах и на основе них созданы кубы справочники. То Фильтрация по названию из справочника не работает. Вернее фильтрация работает по id, но в дэше фильтра то нужно для выбора показать не id, а название из справочника.
Давайте подробнее:
- Так как если общие данные получили из куба на основе широкой таблицы и вывели их в дэше. При этом в таблице у нас только id справочника. Названия подставляются по id с помощью конструкции members из другого куба – куба справочника.
- Настраиваем фильтр по этой справочной информации. Создаем управляющий дэш с фильтром по полю и вот тут конфликт. Мы не можем показывать фильтр по id. Нам нужно названия, а не id.
-
Но таблица, которая построена описание выше, ничего получается не знает о названии. Хоть и показывает его вместо id. У нее в данных есть только id этого справочника, а название подставляется при отображении в дэше.
members: {
default: {
sort: [
‘title’,
],
with: ‘test_ivan.skz_dwh_ref_fo’,
columns: [
‘f_id:id,’,
‘fo_title:title’,
],
distinct: true,
},
}, -
Что мы получаем, то что фильтр не может отфильтровать по названию. Он может отфильтровать только по id. Но мы не можем в дэше фильтра показывать для выбора значения id. В конфиге дэша фильтра никак не подставить вместо значений поля id значения из поля названия, но фильтровать по id.
-
Тогда попробовала применить тот же принцип, который реализован с помощью members. Но что же делать. Создавать еще один куб – копию справочника для подстановки в дэше названия вместо id? Нет. Решила с помощью members подключить к кубу тот же куб. Т. Е. куб соединить с самим собой. И вуаля. Работает.
В результате, очень красиво получилось. Кубы и дэши между собой общаются по id, но в интерфейсе, как нам и нужно, показывают названия.