Отчет COGNOS: СЧИТАТЬ, ЕСЛИ

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


У меня есть поле ID, которое существует в двух форматах:

  1. A#####
  2. B#####

Я хотел бы создать два столбца (один для A и один для B) и подсчитывать экземпляры по месяцам. Что-то вроде COUNTIF ID STARTS WITH A для первого столбца, что приводит к чему-то вроде ниже. Сейчас я могу только создать таблицу с общим количеством.

+-------+------+------+
| Month | ID A | ID B |
+-------+------+------+
| Jan   | 100  | 10   |
+-------+------+------+
| Feb   | 130  | 13   |
+-------+------+------+
| Mar   | 90   | 12   |
+-------+------+------+

person urdearboy    schedule 06.09.2019    source источник


Ответы (3)


Определите ID A как...

CASE
  WHEN ID LIKE 'A%' THEN 1
  ELSE 0
END

...и установите для свойства Агрегация по умолчанию значение Всего. Сделайте то же самое для ID B.

person dougp    schedule 06.09.2019
comment
В выражении элемента запроса для элемента запроса с именем ID A. - person dougp; 06.09.2019

Извините, если я неправильно понял требование, но вы, возможно, сможете преобразовать список в кросс-таблицу, используя раздел на панели инструментов, значением вашей меры будет количество (ID).

person Daniel Wagemann    schedule 06.09.2019
comment
Это тоже хороший ответ. Все зависит от ваших требований к формату вывода, удобства использования последующих данных и дополнительных функций отчета. - person dougp; 06.09.2019

Попробуй это

  • Запрос 1 для подсчета A , фильтрация по подстроке (ID, 1,1) = 'A'
  • Запрос 2 для подсчета B , фильтрация по подстроке (ID, 1,1) = 'B'
  • Объединить запрос 1 и запрос 2 по годам/месяцам
  • Список по месяцам с подсчетом A и подсчетом B
person VAI Jason    schedule 06.09.2019
comment
Это решение кажется немного сложным. Но если вы пойдете по этому пути, вы можете использовать идентификатор, начинающийся с «A», и позволить Cognos беспокоиться о реальном SQL, отправляемом на сервер базы данных. - person dougp; 06.09.2019