【问题标题】:Sql Server Why call it a Time Dimension?Sql Server 为什么称它为时间维度?
【发布时间】:2020-12-16 02:07:00
【问题描述】:

我有一个令人担忧的问题,为什么在 sql server 中准备多维数据集时,他们有时间维度。 从我按时的学习中,我一直了解到 数学中的时间是一个函数。 t 平方是速度 t 立方是速度。 好的 时间维度听起来像是科幻电影中的东西。 那他们为什么这么称呼它呢?

任何想法。

【问题讨论】:

  • 这与物理、函数甚至 SQL Server 无关。甚至是 SQL。星型模式包含 许多 维度的度量 - 产品、客户等。几乎所有星型模式共有的维度是时间(或者更确切地说,日期)
  • 这是一个包含时间的维度,因此是一个时间维度。多维数据集中的维度与物理维度不同。在数据中,时间是时间的特定值,它不是一个概念。数据、数学和理论物理大不相同。
  • 检查我添加的标签,尤其是dimensionsmultidimensional-arrayarray 可以有多个维度。这与物理学无关

标签: multidimensional-array data-warehouse dimensions star-schema


【解决方案1】:

日期和时间维度的用途非常不同。您必须记住,维度的目的是描述发生的事件(事实)。虽然日期维度可用于回答诸如假日事件或每季度事件之类的问题,但时间维度通常将粒度分解到秒(但可以更低),以赋予除时钟滴答之外的额外含义。

例如,您的企业可能会将营业时间指定为上午 9 点至下午 5 点。您可以将标志属性“营业时间”与每秒相关联,以便您轻松识别在营业时间之后发生的事实。如果您有多个重叠的工作班次,您可以为每个班次创建一个列,以指示该时间是否对应于该班次。

时间维度关系应该告诉您的不仅仅是事件发生的时间,而是通过向“时间”添加额外的分析层来告诉您。

例如,将事件与多个时间维度(例如本地与 UTC)相关联还可以进行跨时区的有趣分析(凌晨 1 点到 2 点之间发生了多少纵火事件)或(在 1 点飞行的意大利面条怪物袭击后发生了多少纵火事件:23am UTC)。

仅供参考:我明确建议不要将时间和日期合并到单个 DateTime 维度中。时钟秒数是有限的(每天 86400);日子是无限的。第二个粒度的 DateTime 维度会很快变得难以控制。但是,某些分析需要这种粒度,特别是在查看依赖于日出/日落或其他因日期和时间而异的属性的事件时。

【讨论】:

    【解决方案2】:

    维度建模 (DM) 是 Ralph Kimball 开发的业务维度生命周期方法的一部分。

    在 DM 中有事实表和维度表。

    事实表由业务流程的度量、度量或事实组成。

    维度表是事实表的一组伴随表之一。它们包含描述性属性,通常为事实发生(如何、何地、何时)提供上下文。

    因此,如果您有一个包含时间的表维度,您可以将其称为time dimension。然而,大多数情况下,它被称为日期维度。

    【讨论】:

    • 似乎名字真的很糟糕。维度是特定种类的可测量范围。但通常你用时间来衡量事物,而不是衡量时间本身。就像我们不说数字维度一样。你知道什么意思。
    • 您有权拥有自己的意见,但 DM 于 1996 年推出,并已成为标准。我建议你加入 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 2016-12-22
    • 1970-01-01
    相关资源
    最近更新 更多