使用Pentaho应该如何控制计算版本的重复?

How should I control the duplication of calculation version using Pentaho?

我有一个 table result_slalom,其中数据是通过 Pentaho 的 ETL 作业填充的。 当 ETL 首次运行时,它会创建版本 1。

现在,如果在新计算后数据发生变化,它将变为版本 2。

我只需要在计算版本 -2 中进行更改,table result_slalom 中的版本不应超过 2 个。 (版本 1 和版本 2)

所以逻辑是: 检查 table

中是否存在数据

o

When data exists and existing version is 1, then set the version of new data=2
--> Insert new dataset
o   When data exists and existing version is 2, then set the version of new data=2
--> Update existing dataset
o   When no data exists, then set version = 1
--> Insert new dataset

如何为这个逻辑制作我的 Pentaho 公式?

目前是:

if([VersionInDB]=1;[Calculationversion];[VersionInDB]+1)

dimension lookup/update 正是执行此操作的步骤。

此外,它还有有效期:在创建版本 2 时,版本 1 的结束日期为现在,版本 2 的开始日期为现在。使用 where date between start-date and end-date 可以轻松检索历史信息。另外,您有一个按钮可以为您编写 create/alter tablecreate index

另一个巧妙的解决方案是在表格上放置一个触发器。

忘记朝那个方向重新发明轮子。虽然我平时喜欢发明轮子,但有一种情况,重新开发逻辑会让你陷入无数的测试和错误中。