- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是数据仓库的新手,我希望有一个关于构建星型模式的简单问题:
如果我有一个事实表,其中事实记录自然与单个维度具有一对多关系,那么如何建模星型模式来支持这一点?例如:
情况是,我希望单个销售点条目与多个不同的促销事件相关联。这些促销事件不能是它们自己的维度,因为有很多很多促销事件。
我该怎么做?
最佳答案
对于真正具有“多值”维度的情况,桥接表通常是 Kimball 推荐的解决方案。
您的“促销”维度只是每次促销的记录及其属性(开始日期、结束日期、优惠券代码、POS 促销代码、广告名称等)。此处未对促销与产品的关系进行建模,因为它将反射(reflect)在事实表中。
促销/折扣维度看起来像(每个独特的计划促销 1 行)
Promotion Dim ID
Promo Code
Coupon Code
Promo Start DTTM
Promo End DTTM
... etc ...
您的销售情况如下所示:
Tran Date
Tran Line #
Customer Dim ID
Product Dim ID
Promotion Group Dim ID
Net Sale Price
Average Cost
Discount Amount
您的“促销组”桥接表将是一组组合:
Promotion Group Dim ID
Promotion Dim ID
如果发生的销售包含 3 个促销事件,您只需创建与每个促销事件相关的组 ID,然后将该组 ID 放入事实表中。这与医疗报告系统处理多种诊断的方式非常相似。
请注意,通过使用 Bridge 表,您可以轻松地重复计算销售额,因此我建议由了解该模型的人员来开发使用此方法的报告。
关于data-warehouse - 星型模式 [事实 1 :n dimension]. ..如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2785158/
我正在尝试寻找除“日期维度”示例之外的半加性事实的实时示例。 即可以总结除时间以外的所有维度的措施。 我正在寻找半加性事实示例,其中无法跨时间以外的维度汇总度量。 提前致谢。 -灰 最佳答案 账户余额
我正在尝试为我的一个项目(销售订单)设计数据仓库的维度建模。我是这个概念的新手。 到目前为止,我可以理解产品、客户和日期可以存储在维度表中,而订单信息将存储在事实表中。 Date_dimension
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在使用 Kimball 的方法为数据仓库项目进行我的第一个维度建模任务。当我准备模型并考虑物理对象时,我想知道推荐的数据库对象命名方案是什么。我们将使用Oracle,目前我们没有任何标准。任何帮助
我想知道为什么以及何时需要数据仓库,我的意思是数据仓库的主要目标是从多维 View 提供报告,但在某些情况下,有一种方法可以使用 DBMS 构建报告,它可以生成报告从多维来看,关于数据库的大小,大小可
我知道在数据仓库维度中使用代理键是有充分理由的。 尽管如此,我还是不明白如何将它们链接到我的事实表的外键。 在事实表中,我只有在 ETL 期间提取的自然键。原始数据库表中不存在代理键。 对此有何建议?
是否有任何情况下我可以有文本字段,例如事实表中的描述? 我目前有一个 session 事件事实表(粒度:每次 session 行),其中包含多个维度,例如日期、客户、地点等。我需要将 session
我用 2 个事实表和 16 个维度表和 4 个公共(public)维度表制作了一个事实星座模式。需要对维度表之一进行规范化,因为来自数据源的数据可以具有可变数量的行。我还能称它为在维度表中有分支的事实
我想了解如何在实时 DWH 环境中利用代理键。我知道他们增加了不依赖于源生成的数据来存储每个维度键的好处,并且实际上还避免了从维度的自然键中构建的复合键,例如,(prod id + cust id +
我有一个能源消耗事实表如下: f_meter_data: utc_calendar_id local_calendar_id meter_id reading timestamp 日历表是按照 Kim
我有一个带有 8 个外键(引用 8 个维度)的事实表,但即使所有八个键的组合也不能唯一标识一行。我是否需要从原始数据中添加另一个属性(即“project-id”属性,它对任何东西都没有用),以便我可以
借助 MongoDB、CouchDB 和相关技术,我们可以加快查询速度,这是否仍然有效? “交易数据的副本,经过专门重组以供查询和分析。” (R. Kimball 数据仓库工具包,1996 我的意思是
在数据仓库中,我们有慢慢改变尺寸的概念。我只是想知道为什么不存在“缓慢/快速更改FACT”的行话,因为可以使用相同的Type1,Type 2度量来跟踪FACT表中的更改。 最佳答案 根据DW神,FAC
我正在尝试设计我的第一个数据集市,其中包含来自 Excel 表的星型架构,其中包含有关帮助台服务调用的信息,该表包含 33 个字段,其中包括不同的信息,我无法识别事实表,因为我想做稍后根据不同的 KP
我被要求对星图进行建模。 我有 3 个维度: 日期(日、月、年、周、季度、...) 位置(500 个不同的值) 产品(80k 种不同的产品) 主要问题是一天结束时每个地方存储了多少元素(产品)。 经过
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在建立一个数据仓库。每个事实都有它的timestamp。我需要按天,月,季度但按小时创建报告。查看示例,我看到日期倾向于保存在维表中。 (来源:etl-tools.info) 但是我认为,时间没有
我是数据仓库的新手。首先,我要比将数据仓库工具包的副本精确到邮箱(蜗牛邮件:P)要精确得多。但是我已经在网上找到了所有这些东西。 但是,当您似乎在DW中拥有多个事实时,该怎么办呢?就我而言(保险),我
需要对维度建模或星型模式有所了解。 通常,我们在设计数据仓库时都会有事实表和维度表。 但是,在事实表中嵌入维度确实有意义。特别是对于没有其他属性并且很少更改其值的简单维度。 在事实表中有维度会使查询运
添加新维度(一个全新的表,而不是现有维度表的新行)的标准做法是什么?难道您不必重做整个事实表,添加一个新字段,然后根据新维度表中的代理键填充它吗?有没有更简单的方法来做到这一点? 最佳答案 只要新维度
我是一名优秀的程序员,十分优秀!