3

我的数据仓库表只包含一个dateSQL 列,但我希望能够使用通常的年/季度/月/日级别向下钻取。

我可以使用 Pentaho Kettle 手动创建新列,然后在 Pentaho Schema Workbench 中逐个创建关卡。

但这是一项非常常见的任务(我想创建与销售相关的多维数据集的每个人都必须这样做),所以我确信 Pentaho 开发了一些东西可以在几秒钟内完成。推荐的方法是什么?

4

1 回答 1

2

我不知道这样做的内置方法。

这是我几年前学到的一个很好的技巧:有一个名为 Time 的表,每天/每小时一行,具体取决于您的分辨率偏好。

对于日期,每个这样的行将包含:

Date (date) - 2010-09-28
Day (int) - 28
Month (int) - 9
Year (int) - 2010

您可以根据需要添加任意数量的字段:季度、一周中的一天、一年中的一天、一年中的一周等。

此表已预先填充日期。当您的查询需要类似多维数据集的聚合时,您可以将 Time 表与数据仓库表连接起来,以创建您喜欢的任何聚合。

这种方法的一个很好的优点是,通过在查询中使用外连接,您还可以将空日期添加到报告中,而不仅仅是聚合包含值的日期。如果您深入到非常稀疏的维度,这是一个重要的功能。

于 2010-09-02T09:13:21.230 回答