时间维度:加载日期
Time Dimension: loading date
我有一个简单的问题,对于那些商业智能架构师来说可能很容易,但我正在努力寻找正确的方法。
我有一个事实-table 有 2 个或更多潜在日期(比方说 opening-date
和 closing-date
)和一个名为 revenue
.[=25= 的度量]
我想知道将 Date-Time Dimension
连接到我的 fact table
的最佳做法。
我可以看到两种方式:
- 将事实 table 与 "loading date" 联系起来:
有了这个解决方案,每一天(因此,每一天)我都会有一个记录;因此我可以在一段时间内多次拥有相同的记录。
- 第二种方法是将时间维度连接到
Opening-Date
和Closing-Date
:
并且ETL应该设置日期检查,如果主密钥改变(主密钥应该是ID+OD+CD)
我现在的疑问是fact-table
的导航:在第一种情况下,我有所有的日期,我可以选择想要的loading-date
查看我需要的数据;相反,在第二种情况下,我必须在 Time-Dimension
和 fact-table
之间构建一个复杂的连接,在数据可视化工具中支付此连接。
最佳做法是什么?有没有最好的解决方案?
您似乎需要实施名为 "Role Playing Dimension" 的数据建模技术。
基本上,这就是您提到的选项 2。在我看来,这就是要走的路。
我有一个简单的问题,对于那些商业智能架构师来说可能很容易,但我正在努力寻找正确的方法。
我有一个事实-table 有 2 个或更多潜在日期(比方说 opening-date
和 closing-date
)和一个名为 revenue
.[=25= 的度量]
我想知道将 Date-Time Dimension
连接到我的 fact table
的最佳做法。
我可以看到两种方式:
- 将事实 table 与 "loading date" 联系起来:
有了这个解决方案,每一天(因此,每一天)我都会有一个记录;因此我可以在一段时间内多次拥有相同的记录。
- 第二种方法是将时间维度连接到
Opening-Date
和Closing-Date
:
并且ETL应该设置日期检查,如果主密钥改变(主密钥应该是ID+OD+CD)
我现在的疑问是fact-table
的导航:在第一种情况下,我有所有的日期,我可以选择想要的loading-date
查看我需要的数据;相反,在第二种情况下,我必须在 Time-Dimension
和 fact-table
之间构建一个复杂的连接,在数据可视化工具中支付此连接。
最佳做法是什么?有没有最好的解决方案?
您似乎需要实施名为 "Role Playing Dimension" 的数据建模技术。
基本上,这就是您提到的选项 2。在我看来,这就是要走的路。