2015-10-02 2 views
0

Я использую два источника в Cognos.Есть ли способ объединить/перезаписать данные при использовании двух источников в Cognos Report Studio?

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

Раньше был только один источник, то есть источник1. Затем люди из группы DW начали перенос/зеркалирование данных из Source1 в Source2, в конце концов некоторые данные были добавлены в Source2, которые недоступны в Source 2. То же самое происходит с Source1, некоторые данные доступны в Source1, которые еще не перенесены в Source2, но пользователи/пользователи уже запрашивают отчет с использованием Cognos. они не могут дождаться отчета, поэтому они предложили это. Если данные доступны из обоих источников, перезапишите данные из старого источника (SOURCE 1) данными из (SOURCE 2)

Есть ли способ переписать данные из другого источника? Если данные доступны из обоих источников, перезапишите данные из старого источника (SOURCE 1) с данными из (SOURCE 2)

Названия столбцов, которые я использовал, не являются фактическими столбцами.

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 

Должен ли я создать два объекта запроса в проводнике запросов? Source1 и Source2. Затем должен ли я оставить внешний источник Source 2 на Source1?

enter image description here

Должен ли я использовать мощность? Я не совсем уверен в этом. Я мог бы попробовать, но я имею дело с 160 строк. Или я должен попробовать Союз? Мне нужна помощь, пожалуйста. Спасибо.

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

Если у вас есть идея лучше, я был бы более чем счастлив попробовать!

ответ

1

Я бы использовал полное внешнее соединение, от 0..1 до 0..1, предполагая, что оба подзапроса свернуты до одного и того же зерна. Это даст вам доступ ко всем значениям, и вы можете выбрать в пользовательских элементах данных с простым заявлением СЛУЧАЯ:

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 

Вы можете использовать этот шаблон для обеспечения какой-либо логики вам нравится. Главное - охватить все сценарии и указать, какую ценность использовать в каждой ситуации.

+0

Я только что видел ваш ответ. Спасибо, Джонсоний. Итак, если у меня есть 100 столбцов, я должен использовать эту функцию для всех 100 столбцов? Фактически столбцы, которые я использовал выше, являются лишь примером. Я фактически работаю над 100 колонками. Позвольте мне попробовать ваш ответ, и я проверю галочку, если она работает. – BongReyes

+0

К сожалению, нет другого способа, о котором я могу думать. Вам нужно будет изменить пользовательские выражения для всех 100 столбцов. – Johnsonium

+0

ЭТО РАБОТЫ !! Superb! Спасибо, Джонсоний. Надеюсь, когда-нибудь я смогу быть таким же хорошим, как ты. – BongReyes

Смежные вопросы