Sql server 如何在数据仓库中处理未来的伊斯兰节日

Sql server 如何在数据仓库中处理未来的伊斯兰节日,sql-server,database-design,data-warehouse,Sql Server,Database Design,Data Warehouse,我正在为我的数据仓库构建一个日期维度表。据我所知,日期维度表是特殊的——它们在EDW的生命周期中只加载一次。因为它们只加载一次,所以它们通常有一个很大的日期范围,其中包括将来的日期 我的公司是一家跨国公司。由于这个原因,特别是,我需要在这个表中为伊斯兰节日建立一个节日日历。因为开斋节至少需要在假期开始前进行实际的月球观测(这可能会因为云层覆盖而延迟),我如何将所有未来的伊斯兰节日日期加载到此表中?(我不确定其他伊斯兰节日是否也需要探月。)最好的做法是加载所有暂定的未来假日日期,并在每个假日临近时

我正在为我的数据仓库构建一个日期维度表。据我所知,日期维度表是特殊的——它们在EDW的生命周期中只加载一次。因为它们只加载一次,所以它们通常有一个很大的日期范围,其中包括将来的日期


我的公司是一家跨国公司。由于这个原因,特别是,我需要在这个表中为伊斯兰节日建立一个节日日历。因为开斋节至少需要在假期开始前进行实际的月球观测(这可能会因为云层覆盖而延迟),我如何将所有未来的伊斯兰节日日期加载到此表中?(我不确定其他伊斯兰节日是否也需要探月。)最好的做法是加载所有暂定的未来假日日期,并在每个假日临近时更正这些日期(因为探月要求)?

这没有专门针对伊斯兰节日的规定,但可以用作创建日历表的常规资源,以便在加载时使用。为什么要在日期维度中设置假期?为假期创建一个单独的表。使用join在假日和日期表的顶部创建一个视图。是的,我会将这些未来的假日加载到日历表中,并可能命名它们,以便您知道它们目前是近似值。这些类型的假期是最难处理的,因为你不能准确地陈述假期的开始或结束。关键是你想使用日历表来存储假日,而不是日期维度。实际上,我已经计划使用单独的假日日历表来存储假日。因为EDW的用户不会参数化country,所以我计划将holiday表反规范化为date维度表。这样,我就没有雪花模型了。(我将在加载日期维度表的存储过程中使用假日表。)我的理解是,月球观测可以发生在任何地方,这意味着假日开始的日期将根据您所在的时区而有所不同。i、 例如,在西半球看到的景象将是节日的信号,但对东半球来说,这是第二天。我的建议是不要试图将7世纪仪式性的月亮出现嵌入计算机算法中。