2016-06-23 20 views
0

目前,我有一個報告,它看起來像這樣:結合兩列在業務共享的列值的對象

C1 C2 Var1  Var2 
a b  A  <empty> 
a b <empty> B 
a b <empty> C 
c d  A  <empty> 
e f <empty> B 

在我的數據集,也有共享的C1和C2相同值的記錄,但不同在第三欄中,C3。 Var1和Var2是使用C3的變量。各變量的定義如下:

Var1 = [C3] Where ([C3] InList ("A")) 
Var2 = [C3] Where ([C3] InList ("B";"C")) 

我想其中列C1和C2的值相同的行合併,並在同一行合併VAR1和VAR2如果其中一個是空的。我希望報告按以下方式顯示:

C1 C2 Var1  Var2 
a b  A   B 
a b  A   C 
c d  A  <empty> 
e f <empty> B 

這實際上是相同的SQL下面的查詢:

Select T1.C1, T1.C2, T2.C3, T3.C3 from tableone T1 
Left Join tabletwo T2 on 
T1.C1 = T2.C1 and T1.C2 = T2.C2 and T2.C3 = 'A' 
Left Join tabletwo T3 on 
T1.C1 = T3.C1 and T1.C2 = T3.C2 and T3.C3 in ('B','C'); 

在上面的SQL,tableone對每個唯一一行(C1,C2)對。在表2中,可以有多個具有不同C3值的行共享C1和C2。

在Business Objects中是否有一種方法可以合併其中一行具有空Var1或Var2並且另一行具有相同列中的值的行?

回答

0

我使用了「維度詳細信息」變量在共享C1的記錄的同一行上顯示不同的C3值。

首先,我使用了兩個查詢,每個查詢都抓取具有不同限制的C3。查詢還抓住了共享的C1列。我用下面的查詢過濾器:

For query 1: C3 InList('A') 
For query 2: C3 InList('B';'C') 

我從兩個查詢合併共享C1列,然後,我創建了兩個新的變量,情況1和情況2。 Case1和Case2是涉及合併C1的詳細尺寸。

Case1=[Query1].[C3] 
Case2=[Query2].[C3] 

現在案例1和案例2等於我想要的C3的兩組不同的值。由於這些變量都是附加到共享C1的詳細信息,因此我可以創建一個表格,其中兩個變量都指向它們共享的C1。