Макрос запроса Cognos Report Studio 10.2.2 для даты - PullRequest
0 голосов
/ 27 февраля 2019

Используя Cognos 10.2.2 Report Studio, я создал сводный отчет, в котором показывается количество запущенных клиентов # и количество клиентов в день.Затем я получил второй запрос, чтобы отчет по умолчанию показывал последние 7 дней.

Я создал макрос приглашения, чтобы при открытии отчета он отображал последние 7 дней по умолчанию, но предлагал выбор приглашения, если пользователь хочет запустить для определенного диапазона дат.

Я использовал этот макрос приглашения, который, кажется, работает:

[Date Enrollment] between #prompt ('Start Date', 'date', '[Start Date Current Week]')# and #prompt ('End Date', 'date', '[End Date Current Week]')#  

Однако пользователь хочет, чтобы промежуточная сумма # Клиенты показывала промежуточную сумму от начальной даты регистрации до последней регистрации даты, а непоследние 7 дней.

С этим макросом промежуточная сумма просто отображается для дат, отображаемых на графике.Она хочет, чтобы общее число клиентов в день по умолчанию составляло последние 7 дней (именно поэтому я создал макрос), но имеет возможность изменить начальную и конечную даты.

Я приложил изображение отчета.Желтые столбики предназначены для # клиентов, зарегистрированных на конкретную дату.В настоящее время синяя полоса отображает промежуточные итоги только за те дни, которые отображены на графике.Требуется, чтобы в итоговой сумме по умолчанию отображались ВСЕ даты регистрации (данные в настоящее время относятся к маю 2018 г.) с # регистрацией клиентов, отображая общую регистрацию по дням.

введите описание изображения здесь

1 Ответ

0 голосов
/ 27 февраля 2019

Вы столкнулись с этой проблемой, потому что вы фильтруете запрос, подающий диаграмму, чтобы исключить все записи, кроме дней, указанных в приглашении.Чтобы итоговые суммы работали по всем значениям, тогда все значения должны присутствовать при выполнении расчета.Фильтр предотвращает это.

Есть решение.Вы должны использовать вложенный запрос.Это эквивалентно использованию подзапроса или CTE в SQL.Вот шаги:

  1. Возьмите существующий запрос и удалите фильтр, который вы описали выше
  2. Перейдите в список запросов
  3. Перетащите на новый запрос
  4. Перетащите исходный запрос вправо от нового запроса, если все сделано правильно, вы увидите стрелку между исходным запросом и новым запросом
  5. Откройте новый запрос
  6. Перетащитенад полями из исходного (исходного) запроса, о котором вы хотите сообщить
  7. Добавьте фильтр, который вы использовали ранее
  8. Перейдите на страницу отчета
  9. Выберите диаграмму
  10. Измените свойство Query, чтобы оно указывало на новый запрос

В качестве объяснения подумайте о выводе исходного запроса.Без фильтра теперь выводятся данные о клиентах и ​​общее количество операций в день за каждый день в базе данных.Как только оба этих числа рассчитаны на уровне дня, мы можем отфильтровать их до дней, когда пользователь заботится о запросе более высокого уровня.

...