kettle创建时间维度

一:流程

kettle创建时间维度_第1张图片

二:实现步骤

1.小时

1.1生成小时

kettle创建时间维度_第2张图片

1.2增加小时序列

kettle创建时间维度_第3张图片

1.3javaScript代码生成小时和AM/PM

kettle创建时间维度_第4张图片

//生成12小时
var hours12 = hours24.getInteger() % 12 ;
//生成AM/pm
var am_pm = hours24.getInteger() > 12 ? "PM" : "AM";

2.分钟

2.1生成分钟

kettle创建时间维度_第5张图片

2.2增加分钟序列

kettle创建时间维度_第6张图片

3.秒

3.1生成秒

kettle创建时间维度_第7张图片

3.2增加秒序列

kettle创建时间维度_第8张图片

4.笛卡尔积(时 * 分 * 秒)

kettle创建时间维度_第9张图片

5.javaScript代码生成时间属性

kettle创建时间维度_第10张图片

//时间属性
 var time = (hours24.getInteger()<10 ? "0":"") + hours24.getInteger()+":" +
                     (minutes.getInteger()<10 ? "0":"") +minutes.getInteger() + ":" +
                     (seconds.getInteger()<10 ? "0":"") +seconds.getInteger();

//时间代理键
var time_key = (hours24.getInteger()<10 ? "0":"") + hours24_row.getInteger() +
                          (minutes.getInteger()<10 ? "0":"") + minutes.getInteger() +
                          (seconds.getInteger()<10 ? "0":"") + seconds.getInteger();

6.表输出

kettle创建时间维度_第11张图片

7.目标表结果

图12

你可能感兴趣的:(kettle)