2017-10-17 223 views
0

我有一个表result_slalom,其中数据通过Pentaho的ETL作业填充。 当ETL第一次运行时,它会创建版本-1。我应该如何控制使用Pentaho的计算版本的重复?

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

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

所以逻辑是: 检查表存在

Ø

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) 

回答

0

dimension lookup/update是一个步骤,它正是如此。

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

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

忘记在这个方向重新发明车轮。尽管我通常喜欢发明轮子,但重新开发逻辑会导致您无数次的测试和错误。

相关问题