0
LLIaMaH
29.03.19
✎
07:16
|
Решил поиграться с объединением в СКД, есть у меня "Отчет обо всем в фирме для директора" где многостраничный запрос состоящий из кучи "объединить все", доработка запроса - боль, т.к конструтор его не распознает, ввиду встроенных правок текста запроса, решил попробовать через СКД Набор данных объединить, накидал простенький запрос, который из двух источников "набор данных Запрос" по одному измерению получает ресурсы, но я не получил ожидаемого поведения, я ожидал, что если не включать в настройках поля из одного набора, то из итогового макета данный набор будет исключен, но это не так, набор данных остается, неиспользуемые поля, в макете СКД, СКД конечно исключила, но измерение осталось и фактически на скорость исполнение походу не повлияет, запрос к источнику все равно идет. Можно как-то сделать чтобы источник пропал, приходит идея обойти все поля наборов и выкинуть набор, если среди его полей остались только измерения, но я ожидал что СКД сама такое сможет, оговорюсь что опыт СКД у меня так себе и я могу чего-то не знать.
|
|
2
toypaul
гуру
29.03.19
✎
08:23
|
нельзя сделать чтобы источник пропал, но можно постараться чтобы во второй набор передавалось ЛОЖЬ в где. то есть
тут текст запроса
ГДЕ {(&ПараметрОтбораВторогоНабора)} тут остальные условие
если в ПараметрОтбораВторогоНабора передать ЛОЖЬ, то (возможно) SQL (если это он) сделает оптимизацию.
как управлять передачей этого параметра со стороны пользователя - другой вопрос
второй набор можно исключить при использовании связей, но если нужно объединение, то такой вариант обычно не подходит
|
|
3
LLIaMaH
29.03.19
✎
08:31
|
Ну я исходил из того что если часть полей маркировать как измерение, то в случае если остальное не выбрано, то можно исключить набор целиком, т.к. нафига нам одни измерения.
|
|