Проверка заявления OBIEE на несуществующее

У меня следующая ситуация:

column 1  column 2  column 3
A           1         1
A           1         2
B           3         4
B           3         5

Мне нужно раскрасить буквы, когда значение в столбце 2 никогда не встречается в столбце 3. Но мне нужно раскрасить все буквы. Кто-нибудь знает, как написать заявление об этом?

Итак, я объясню свой пример: мне не нужно красить букву А, потому что есть совпадение между столбцами 2 и 3 и первой строкой. Мне нужно раскрасить свои B, потому что между столбцами 2 и 3 никогда не бывает совпадений.

Я уже пробовал это:

count(distinct(case when "Column 2" != "Column 3" then 1 else 0 end))

но это дает результат для каждой строки, и мне нужен результат для всего пакета.

Спасибо!


person M. Beerden    schedule 09.01.2017    source источник


Ответы (1)


Вы можете подойти к этому следующим образом:

  • Создайте логический столбец в своем анализе, который выполняет оператор case, который возвращает 1 или 0 в зависимости от того, совпадают ли значения столбца 2 и столбца 3 (почти так же, как в случае, когда вы указали в своем ответе, но без учета количества).

  • Оберните этот оператор case с помощью MAX, сгруппированного по вашему столбцу1. Это даст вам согласованный 1 или 0 для всех ваших различных значений столбца 1. Вы можете использовать это значение для условного форматирования. Ключевым моментом здесь является использование агрегированной функции с group by.

У вас есть здесь некоторая документация Oracle о том, как использовать логический Группа SQL по.

Надеюсь, это поможет! Удачи!

person arivas    schedule 10.01.2017