在 Cognos Report Studio 中使用两个源时,有没有办法合并/覆盖数据?

Is there a way to combine / overwrite data when using two sources in Cognos Report Studio?

我在 Cognos 中使用两个源。

Source #1 - Old source
Source #2 - Current/New Source

之前只有一个来源,那就是source1。然后 DW 团队的人开始 migrating/mirroring 从 Source1 到 Source2 的数据,最终在 Source2 中添加了一些在 Source 2 中不可用的数据。与 Source1 相同,一些数据在 Source1 中可用但尚未迁移到Source2 但 people/users 已经在请求使用 Cognos 的报告。他们迫不及待地想收到报告,所以他们建议这样做。如果两个来源的数据都可用,则用 (SOURCE 2)

的数据覆盖旧来源 (SOURCE 1) 的数据

有没有办法覆盖其他来源的数据?如果两个来源的数据都可用,则用 (SOURCE 2)

的数据覆盖旧来源 (SOURCE 1) 的数据

我使用的列名不是实际的列。

If   
    SOURCE 1
    Policy_Number  Policy_Holder_Name    
    1234           GroceryStore
    5678           ToyShop
    5555           BeautyShop
    4444           Booksale
    8899           Cards
    7777           Electronics
    
and SOURCE 2
    Policy_Number  Policy_Holder_Name    
    1234           GroceryStore
    5678           ToyShop
    5555           BeautyShop
    4444           Booksale
    8899           Cards
    2468           FreshMeat
    1357           Hardware
    
    Results should look like this.
    
    Policy_Number  Policy_Holder_Name    
    1234           GroceryStore
    5678           ToyShop
    5555           BeautyShop
    4444           Booksale
    8899           Cards
    7777           Electronics
    2468           FreshMeat
    1357           Hardware

我应该在查询资源管理器中创建两个查询主题吗?来源 1 和来源 2。那我应该在 Source1 上离开 outer join Source 2 吗?

我应该使用基数吗?我不太确定这一举措。我可以尝试一下,但是我在这里处理 160 行。还是我应该试试 Union?我需要帮助。谢谢。

       Source 1 = Source 2
1..1 Inner Join = 0..1 Left outer Join

如果您有更好的主意,我将非常乐意尝试!

我会使用完全外部联接,0..1 到 0..1,假设两个子查询汇总到相同的粒度。这将使您能够访问所有值,并且您可以使用简单的 CASE 语句在自定义数据项中进行选择:

CASE 
WHEN [Source1].[Policy_Number] is not missing and [Source2].[Policy_Number] is not missing THEN [Source2].[Policy_Number]
WHEN [Source1].[Policy_Number] is not missing and [Source2].[Policy_Number] is missing THEN [Source1].[Policy_Number] 
WHEN [Source1].[Policy_Number] is missing and [Source2].[Policy_Number] is not missing THEN [Source2].[Policy_Number]
END

您可以使用此模式来强制执行您喜欢的任何逻辑。关键是要涵盖所有场景,并指明在每种情况下使用什么值。