Вы не указали, используете ли вы стороннее приложение ETL или используете свое собственное.
Если вы используете стороннее приложение, скорее всего, будет доступен виджет или функция, помогающая сгенерировать измерение даты. Например, используя инструментарий интеграции данных Pentaho, см. Эту прекрасную статью в блоге O'Reilly Databases: http://www.oreillynet.com/databases/blog/2007/09/kettle_tip_using_java_locales.html
Если вы катитесь самостоятельно, это довольно простое упражнение - генерировать каждую дату между двумя указанными датами. Хранимая процедура будет более производительной, но написание функции на языке, на котором вы реализуете ETL, будет более понятным. Полезные ссылки, размещенные @hafichuk, являются хорошим примером того, как выполнить генерацию в хранимых процедурах. Поскольку вы разрабатываете схему, вам придется написать собственную процедуру, которая соответствует вашему определению измерения даты, или, по крайней мере, изменить ее.
Наконец, убедитесь, что предоставили себе гибкость с выбранным решением - даже если дата будет сгенерирована только один раз для каждого производственного экземпляра "мира", во многих случаях будет много случаев, когда генерируется то же измерение даты. код должен быть использован. (тестовые прогоны, демонстрационные / промежуточные развертывания, в комплектах интеграционных тестов ...) Таким образом, он должен быть достаточно быстрым и / или достаточно гибким, чтобы не являться узким местом. Генерация измерения даты на языке ETL и выполнение этого в начале каждого интеграционного теста для всего диапазона применимых дат быстро устареет.