Некоторые подводные камни, которые могут возникнуть при использовании Distinct в QlikView:
- Неожиданное удаление дубликатов. 1 Префикс Distinct не применяется сразу после его использования в скрипте, а «сохраняется» и применяется при использовании результата — в конце скрипта или при чтении таблицы с помощью команды LOAD RESIDENT. 1 Это может привести к тому, что дублируются не только строки в таблице, загруженной с префиксом Distinct, но и в другой таблице, которая должна содержать дубликаты строк. 1
Чтобы избежать этого, можно загрузить данные в отдельную (временную) таблицу с помощью Distinct, а затем использовать LOAD RESIDENT, чтобы получить дублированные данные из этой таблицы для объединения с другими таблицами. 1
- Потеря дубликатов при объединении с другими таблицами. 2 Если использовать Distinct в комбинации с командами JOIN или CONCATENATE, дубликаты удаляются не только из входной таблицы, но и из результирующей целевой таблицы. 2 Чтобы избежать этого, перед объединением данных с другими таблицами рекомендуется загрузить их во временную таблицу. 2