Список непроданных товаров для каждого клиента

Я работаю над отчетом Cognos, чтобы отобразить список с клиентами и товарами, которые никогда не были куплены этими клиентами, но я не могу отменить связь, чтобы найти "исключенные" товары.

Мои соответствующие таблицы и отношения:

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

У меня есть клиенты A, B и C и продукты X, Y и Z.

А купил X и Y.
Б купил З.
С никогда ничего не покупал.

Желаемый результат будет:

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

Любые нестандартные идеи о том, как построить запрос для такого отчета?

Спасибо!

1 ответ

Решение

Ваша текущая модель не будет соответствовать вашим потребностям. Попробуйте создать собственную "модель данных" для этого запроса в своем отчете. Перейдите на вкладку "Исследователь запросов" в Report Studio и добавьте 3 запроса: Клиент, Товар, Продажи.

  1. Соедините Customer и Item по любому полю, нажмите "Преобразовать в выражение" и установите что-то вроде 1=1 - эмулировать перекрестное соединение.
  2. Слева присоедините Sales к результату (1) по item_id и customer_id (у вас есть что-то вроде этого, верно?)
  3. Фильтр по "Sales. Is null" - нет продаж для пары Товар и клиент

Результат - ваш набор данных.

Другие вопросы по тегам