Продолжим разбирать цикл жизни витрины данных и пришла пора разобраться, как отлаживать/тестировать витрину.
Этот этап занимает не меньше, а то и больше времени, чем разработка, т.к. ценность витрины - не в коде, а в результирующих данных.
Задачу на разработку или доработку витрины, в общем случае можно завершать следующими действиями:
Для проверки доработанной витрины:
* Проверяем ее на дубли подсчетом по уникальному составному ключу до группировки.
* Сравниваем старые поля новой версии с текущей с помощью EXCEPT DISTINCT.
* Новые поля проверяем так же, как при создании новой витрины.
Для проверки вновь создаваемой витрины:
* Проверяем ее на дубли.
* Находим лишние строки, фильтруя конечную витрину по «инвертированным» условиям ТЗ.
* Составляем на основе требований ТЗ примеры исходных данных и ожидаемых результатов для них — и убеждаемся, что запрос верно обрабатывает все варианты.
Читайте подробнее в моей статейке.
Этот этап занимает не меньше, а то и больше времени, чем разработка, т.к. ценность витрины - не в коде, а в результирующих данных.
Задачу на разработку или доработку витрины, в общем случае можно завершать следующими действиями:
Для проверки доработанной витрины:
* Проверяем ее на дубли подсчетом по уникальному составному ключу до группировки.
* Сравниваем старые поля новой версии с текущей с помощью EXCEPT DISTINCT.
* Новые поля проверяем так же, как при создании новой витрины.
Для проверки вновь создаваемой витрины:
* Проверяем ее на дубли.
* Находим лишние строки, фильтруя конечную витрину по «инвертированным» условиям ТЗ.
* Составляем на основе требований ТЗ примеры исходных данных и ожидаемых результатов для них — и убеждаемся, что запрос верно обрабатывает все варианты.
Читайте подробнее в моей статейке.