2017-05-25 42 views
0

我正在使用Cognos Report來顯示客戶和物品的列表,這些客戶從未購買過此類物品,但我無法將該關聯反向查找「排除」物品。列出每個客戶的未售物品

我的相關表和關係是:

Customers 1..1 <--> 0..1 Sales 1..1 <--> 1..1 Items 

我有客戶A,B和C的產品X,Y和Z

買走X和Y
乙買Z.
C從來沒有買過任何東西。

所需的輸出將是:

___________________ 
| Customer | Item | 
|----------|------| 
| A  | Z | 
| B  | X | 
| B  | Y | 
| C  | X | 
| C  | Y | 
| C  | Z | 
|__________|______| 

任何不符合現成關於如何建立這樣的報告查詢想法?

謝謝!

回答

1

您當前的模型不適合您的需求。嘗試在報告中爲此查詢創建自定義「數據模型」。 轉到查詢瀏覽器選項卡在Report Studio並加3個查詢:客戶,產品,銷售

  1. 任何領域加入的客戶和項目,按「轉換爲表達」,並設置像1 = 1 - 模擬交叉連接。
  2. LEFT JOIN銷售造成的(1)ITEM_ID和CUSTOMER_ID(你有這樣的事情,對不對?)
  3. 通過過濾器「銷售是空的。」 - 無銷售對項目和客戶

結果是您的數據集。

+0

這是一個工作概念,感謝您的回覆。不幸的是,性能的下降與我們預期的使用數十萬數量級的客戶和產品的性能大幅下降。你知道數據模型的改變是否會更有效? – Helvio

+1

我不這麼認爲。底層查詢將是相同的。 但是,您可以嘗試使用不同於銷售。銷售數據通常大於客戶或項目 –

+0

如果您的設置中允許,也可以嘗試自定義SQL。 –