mysql - 使用 PDI 保存更改历史记录

标签 mysql pentaho etl

我希望获得与我的事实相关的每个字段的历史值(value)。 我有四个字段,分别是 idstatustechnical grouptechnicien。历史记录保存在另一个表中,包含 iditemtypedate_modold_valuenew_value

结果格式如下:

'id'####'valid from'####'valid-to'####'status'####'technical group'####'technicien'
x#######date1###########date2#########X###########Y####################Z
x#######date2###########date3#########X###########Y1###################Z
x#######date3###########date4#########X###########Y1###################Z1

我如何使用 Pentaho 数据集成来做到这一点。

谢谢

最佳答案

PDI 有一个步骤, Dimension lookup/update ,处理变化的尺寸值。它具有自动处理历史维护的功能,在数据仓库中提供星形结构。

采用 dw 设计时效果最佳 a la Kimball ,每个维度(例如技术人员)都有一个代理键(例如递增整数)用作事实表中的 FK。

业务 key (例如识别旧系统中技术人员的代码)将位于维度中,当您需要查询事实时,帮助识别与该技术人员相关的所有事实。

当您的技术发生变化时(例如她的地址),维度查找步骤将生成新的 ID、新的版本号并相应地安排日期范围。

关于mysql - 使用 PDI 保存更改历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696996/

相关文章:

来自 R 的 MySQL odbc 超时

php - 如何将数据添加到数据库? PHP MySQL

mysql - Django Mysql 数据库返回无效的日期时间值

mysql - Pentaho Kettle 脚本选项

mysql - 如何从 MYSQL 存储过程中检索 OUT 参数以在 Pentaho 数据集成(Kettle)中流式传输?

mysql - 列中未知类型 '245

sql-server - Visual Studio 中缺少 SSIS 工具箱

mysql - SQL - 使用 DISTINCT 查找附近的地点? ( map API)

dynamic - Pentaho-水壶 : Need to create ETL Jobs dynamically based on user input

sql-server - 如何使用 SSIS 从 Excel 文件获取信息