我在制作这个小场景的逻辑时遇到了麻烦。基本上我有一个数据集,它存储在一年中的几周,每周从数据集中删除前几周的数据。我需要做的是复制前几周的数据,然后将其从数据集中删除,然后在删除之后再将其添加回来。因此,例如,如果今天是第33周,我需要保存这个,然后下周将其添加回来。然后下周我需要花费第34周并保存它以在第35周添加。一张图片说明了千言万语所以在这里。
正如您所看到的,在添加前几周数据之前,我需要数据集中的最小周数。我发现的真正问题是数据集可以每周重新运行一次以上,因此我需要将临时数据集保留到下周,同时提取最小周数据集。
这是我在这之后的更多逻辑......希望它有意义并且在事先感谢。
答案 0 :(得分:1)
听起来你应该将数据存储到每周QVD文件中,作为Extract进程的一部分,然后加载生成的文件。
逻辑将如下所示......
首次运行(第33周数据第34周):
下周运行(第33周和第34周的第35周):
下周重复运行(第33周第35周和第34周再次数据):
明智的文件命名可以解决问题,但如果您确实需要检查数据以检查周数,则需要首先加载所有现有QVD,查询最小周数并从那里取出。
答案 1 :(得分:1)
QVD是前进的方向!虽然可能不是另一个(非常好的)答案状态。
--Load of data from system
Test:
Load *
, today() as RunDate
From SourceData
--Load of data from QVD
Test:
Load *
From Test.QVD
--Store current load into QVD
Store Test into Test.QVD
这样,您只有一个QVD数据不断扩展。
一些警告
我还添加了RunDate字段,以便您在查看时更容易拆开,因为这会为您提供与在单独的QVD中存储相同的拆分。