gpt4 book ai didi

data-warehouse - 当夏令时导致重复数据行时该怎么办?

转载 作者:行者123 更新时间:2023-12-04 06:43:52 32 4
gpt4 key购买 nike

我有一个能源消耗事实表如下:

f_meter_data: 

utc_calendar_id
local_calendar_id
meter_id
reading
timestamp

日历表是按照 Kimball 建议构建的,正是 Data Warehouse Toolkit 中的建议是我拥有两个日历 ID 以便用户可以查询本地时间和 UTC 时间的原因。

这一切都很好,但是当夏令时开始时问题就会出现。

由于粒度为半小时,当时钟变化时会出现重复的事实记录。

当时钟向另一个方向变化时,数据就会出现间隙。

我该如何处理这种情况?

我应该平均重复值并存储它吗?

对于数据中的差距,我应该使用差距之前的点和差距之后的点的平均值吗?

最佳答案

我有一种感觉,这个问题最终可能会因为“主要基于意见”而被关闭,但我的特别意见是,系统应该设置为处理并非每天都有 24 小时的事实。可能有 23、24 或 25。(或者,如果您使用的是 Lord Howe Island、23.5、24 或 24.5)。

根据您的加类时间(每个时区会有所不同),您可能会遇到以下情况:

00 01a 01b 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

或者您可以考虑将小时与本地 UTC 偏移量结合起来,例如:
00-04:00 01-04:00 01-05:00 02-05:00 03-05:00  etc... 

或者如果你在做半小时的水桶:
00:00-04:00  00:30-04:00  01:00-04:00  01:30-04:00  01:00-05:00  01:30-05:00 ...

进行任何平均以对齐 24 小时可能不合适。如果你这样做了,那么总数就会关闭。

您还应该考虑人们将如何使用这些数据。他们会试图找出一天中特定时间的趋势吗?如果是这样,那么它们将如何补偿由 DST 转换引起的尖峰或低谷?这可能就像在输出报告上加上星号和脚注一样简单。或者它可能比这更复杂,这取决于使用情况。

另外,你说你的工作间隔是 30 分钟。请注意,有些时区偏移 45 分钟( NepalChatham Islandsa small region in Australia )。因此,如果您想覆盖整个世界,那么您将需要 15 分钟的间隔时间段。

而且,正如Whichert 在评论中指出的那样,如果您使用的是UTC,则没有夏令时。只有当您按本地时间分组时,您才会有这种担忧。

您也可以在 the DST tag wiki 中找到这些图表有用。

关于data-warehouse - 当夏令时导致重复数据行时该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24190520/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com