Министерство образования Республики Беларусь
Учреждение образования
«Гомельский  государственный университет
имени Франциска Скорины»
Математический факультет
Кафедра математических проблем управления
Разработка эффективных подсказок

Гомель 2014

Цели:
В конце этого модуля вы сможете:
 - управлять отображением содержимого отчета, используя подсказки;
 - определять условное форматирование, используя подсказки;
 - создавать отчет,  с содержимым, определяемым выбором подсказки;
 - создавать отсортированный отчет, на основе выбора подсказки;
 - создавать фильтрованный отчет на основе выбора подсказки.

Примечания инструктору:
Если вы хотите обучать этому модулю, студенты должны быть знакомы с:
 - различными типами источников данных (измеряемыми, относительными, измеряемо-относительными);
 - созданием списочных и перекрестных отчетов в Report Studio
 - созданием фильтров в Report Studio;
 - созданием подсказок в Report Studio;
 - созданием отчетов, формируемых условием;
 - созданием расчетных данных;
 - с моделью запросов в Cognos 8;

Предлагаемые ссылки на разделы:
 - Обзор Cognos 8 BI;
 - Введение в отчеты;
 - Отчеты, использующие подсказки;
 - Отчеты, использующие фильтры;
 - Настройка отчетов с помощью условного форматирования;
 - Улучшение макета отчета;
 - Расширение отчетов использованием вычислений;
 - Создание моделей запросов.

Создавайте интерактивные отчеты, используя подсказки
 - Используйте подсказки, чтобы предоставить пользователям такие возможности, как тип макета контейнера для отображения данных, чтобы показать, как данные отфильтрованы, какие данные отображаются в зависимости от условия.

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

	Чтобы создать подсказку, добавьте параметр к запросу, используемому для создания отчета.
	Добавьте параметры на форму, чтобы спросить у пользователя, как он хочет посмотреть отчет.
	Значения параметра выбирает пользователь, чтобы определить, как посмотреть отчет.

Примечания инструктору
	Параметр – заполнитель, который содержит значение, определяющее, как показать отчет. Например:  Product name =?Product name?. Этот парамертр позволяет пользователю выбрать product name который нужно показать в отчете. Product name нужно будет выбрать, как возвращаемое значение.
	Когда вы запускаете отчет, содержащий параметр Cognos 8 автоматически создает страницу, предлагающей пользователю выбрать значение параметра.

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

                                           Измерение          Значение параметра   Значения расчетных данных

Используйте эти расчетные данные, для условного форматирования данных отчета, зависящего от параметра Low gross profit, определяемого во время запуска

	Устанавливая условное форматирование, с использованием подсказок, вы можете создавать отчеты, которые не нужно менять при изменении эталонных данных компании.
	Если вы не хотите, чтобы расчетные данные были видны в отчете, вы можете:
 - добавить расчетные данные в отчет, чтобы проверить условное форматирование отчета, затем убрать их из отчета или;
 - добавить расчетные данные в Query Explorer, но не в сам отчет.

Пример 1: Создание подсказки, которая позволяет пользователю выбирать значения условного форматирования.

Цель:
Руководство запросило у вас отчет, по определению общей выручки и валовой прибыли в каждой стране по каждому типу продукции. Оно хочет иметь возможность настраивать отчет, выбирая максимальное и минимальное значения валовой прибыли. Вы создадите отчет, формирующий общую выручку, значения которой будут выделены цветом, если они меньше или больше заданной. Это форматирование на выборе пользователем максимального и минимального значений выручки.
Сервер: localhost
Пользователь/пароль: brettonf/Education1!
Среда: Report Studio
Архив: GO Data Warehouse (query)
Тип отчета: List
Каталог: Sales and Marketing (query)
Пространство: Sales (query)

Задание 1. Создание отчета с информацией о продажах продукта.
1.	На панели Insertable objects, вкладки Source добавьте следующие данные в отчет:
Employee by organization -> Country  Product -> Product line, Product type  Sales fact -> Revenue, Gross profit
2.	В отчете, удерживая Ctrl выберите колонки Country и Product line, затем на панели инструментов нажмите Group/Ungroup 
Задание 2. Добавление расчетных данных с выражением, использующим значение параметра
Вы добавите подсказки со значениями максимального и минимального значения общей выручки и вычисление общей выручки. Возможные значения общей выручки: 1. Меньше минимального значения. 2. Больше минимального, но меньше максимального. 3. Больше максимального.
1.	На панели Insertable Objects, выберите закладку Toolbox   и перетяните Query Calculation в отчет.
2.	В диалоговом окне Create Calculation напишите LowMedHigh, нажмите OK.
3.	В панели Expression Definition создайте следующее выражение:
1.	if([Gross profit]<?Low gross profit?)then (1) else if ([Gross  profit]<?High gross profit?) then (2) else (3)
2.	Подсказка: Выберите [Gross profit] из закладки Data Items 
3.	Это вычисление определяет, группе каких значений соответствует общая выручки: 1, 2 или 3.
4.	В диалоговом окне Data Item Expression нажмите Validate  в качестве максимального значения общей выручки напишите 100, минимального – 50.
5.	Нажмите OK, и еще раз OK, чтобы закрыть диалоговое окно.
6.	На панели инструментов выберите Run Report 
7.	В поле High gross profit напишите 3000000, в поле Low gross profit 600000, нажмите OK.
8.	Колонка LowMedHigh показывает значения для каждой строки, по вычислениям, определенных подсказкой. Типы продуктов, общей выручки меньше $600000 имеют значение 1, между $600000 и $3000000 – значение 2, больше $3000000 – 3.
9.	Закройте окно просмотра отчета.
Задание 3. Создание переменной по результатам вычислений.
Вы создадите строковую переменную, которой будет определяться формат колонки с общей выручкой. Вы будете использовать запрос LowMedHigh, чтобы определить значение этой переменной.
1.	В списке кликните по телу колонки Gross profit, в панели Properties дважды кликните Style Variable, в списке Variable выберите New string Variable.
2.	В окне Name напишите LowMedHigh, нажмите Add . Вам нужно применить условное форматирование к двум типам значений общей выручки (1 и 3), для которых вы сможете определить условное форматирование.
3.	В окне Add напишите 1, далее нажмите OK.
4.	Нажмите Add, в окне Add напишите 3, нажмите OK.
5.	Нажмите OK, чтобы закрыть диалоговое окно.
6.	В диалоговом окне Report Expression из панели Available Components перетяните данные LowMedHigh в панель Expression Definition.
7.	Нажмите Validate и после того, как выражение было проверено и не было ошибок, нажмите дважды OK, чтобы закрыть диалоговые окна.
Задание 4. Применение условного форматирования, определенного переменной LowMedHigh и запуск отчета.
1.	С выделенной колонкой Gross profit, наведите мышь на Condition Explorer  потом кликните 1. Вам нужно, чтобы значения выручки, ниже нижнего порога имели красный фон.
2.	На панели инструментов выберите Background Color , выберите Red, потом нажмите OK.
3.	С выделенной колонкой Gross profit, наведите мышь на Condition Explorer  потом кликните 3.
4.	На панели инструментов выберите Background Color, выберите Green, потом нажмите OK.
5.	Дважды кликните Explorer Bar, чтобы выключить условное форматирование.
6.	На панели инструментов выберите Run Report.
7.	В окне High gross profit напишите 3000000, в окне Low gross profit – 600000, нажмите OK. Результат будет такой:

В колонке Gross profit значения, меньшие 600000 подсвечены красным, большие 3000000 – зеленым.
8.	Закройте окно просмотра отчета.
Задание 5. Удаление колонки вычисления, запуск отчета.
Вам не нужно видеть колонку LowMedHigh в отчете
1.	В списке кликните по колонке LowMedHigh, на панели инструментов кликните Cut  Чтобы позволить строковой переменной использовать значения LowMedHigh, необходимо сделать LowMedHigh свойством объекта отчета.
2.	Кликните по колонке в списке в панели Properties кликните Select Ancestor , затем кликните List
3.	В панели Properties дважды кликните ячейку Properties, выберите «чекбокс» LowMedHigh, нажмите OK.
4.	Запустите отчет.
5.	В окне High gross profit напишите 3000000, в окне Low gross profit – 600000, нажмите OK. Результат будет такой:

Условное форматирование применилось к колонке Gross profit, даже когда колонки LowMedHigh уже нет в отчете.
6.	Закройте Cognos Viewer. Выйдите из Report Studio, чтобы приступить к следующему примеру.
Результаты:
Вы создали отчет по валовому доходу и общей выручке для каждой страны по каждому виду продукта. Вы добавили подсказку, чтобы позволить пользователю, настраивать отчет, выбирая минимальное и максимальное значение общей выручки, для выделения данных.

Позвольте пользователю выбирать, как отсортировать данные
Вы можете создавать подсказки, чтобы позволить пользователю выбрать, какие данные должны быть отсортированы.

Вычисляемые данные используются для сортировки данных отчета.

Статичная подсказка выбора для сортировки по параметру, созданному в вычисляемых данных.
	
Если вы хотите позволять выбирать, как сортировать данные, убедитесь, что ни одна колонка не отсортирована. Если пользователь может выбирать только один пункт данных для сортировки, создайте один пункт вычисляемых данных. Для выбора нескольких пунктов, создайте вычисляемые данные для каждого.

Примечания инструктору:
	Используйте передаваемый параметр, когда пользователь выбирает значение. Отображаемые значения появляются в подсказке во время выполнения и помогают пользователю выбрать подходящее значение.

	Вы можете создавать подсказки, которые позволяют пользователю выбирать, как сортировать числовые данные: по возрастанию или по убыванию.

Использ.	Отображается	
-1	По возрастанию	
1	По убыванию	
Создайте подсказку со статичным выбором

Сортировать колонку Revenue по возрастанию
	Добавьте ключ сортировки
	для вычисляемых данных

 - Чтобы создать подсказку, которая позволяет пользователю выбирать способ сортировки, добавьте подсказку с двумя возможными значениями 1 и -1.
 - Добавьте вычисляемое поле, которое умножает числовое значение на 1 или -1 в зависимости от выбора пользователя.
 - Сортируйте данные по возрастанию.

Пример 1: Создание подсказки, которая позволяет пользователю выбирать значения условного форматирования.

Цель:
Менеджер хочет видеть информацию об отдельных продажах. Менеджер хочет легко находить продажи по порядковому номеру, дате или по представителю, который ее произвел. Вы создадите списочный отчет с подсказкой, чтобы менеджер мог выбрать колонку по которой сортировать данные отчета.
Сервер: localhost
Пользователь/пароль: brettonf/Education1!
Среда: Report Studio
Архив: GO Data Warehouse (query)
Тип отчета: List
Каталог: Sales and Marketing (query)
Пространство: Sales (query)

Задание 1. Создайте списочный отчет с подсказкой на главной странице.
1.	Из панели Insertable Objects, закладки Source, добавьте следующие пункты в отчет:
Time dimension -> Day of the week   
Sales order -> Order number  
Employee by region -> Employee name   
Sales fact -> Revenue
2.	В отчете кликните колонку Employee name, в Properties измените Name и Label на Sales rep. Вы добавите подсказку на главную страницу отчета, чтобы пользователь мог выбрать как сортировать отчет.
3.	Кликните вкладку Toolbox, и перетяните Block влево от отчета, чтобы добавить блок над отчетом.
4.	Из Toolbox перетяните Value Prompt на блок, который вы только что добавили.
5.	В Prompt Wizard в окне Create a new parameter напишите sort by, потом кликните Finish.
Задание 2. Добавьте возможность выбора в подсказку.
	Вы добавите выбор, как сортировать отчет по номеру заказа, по дате заказа или имени сотрудника. Вы добавите в выбор пункты ‘on’, ‘od’, ‘en’. Позже вы используете эти три значения для создания вычисляемого значения, по которому будет сортироваться отчет.
1.	В рабочей области кликните по Value Prompt, затем в панели Properties дважды кликните по ячейке Static Choices.
2.	В диалоговом окне Static Choices нажмите Add, в окне Use напишите on, потом в окне Display напишите Order number.
3.	Нажмите OK, чтобы закрыть диалоговое окно.
4.	Повторите шаги 2 и 3 дважды, в для значений Add используйте od и sr, для Use – Order day и Sales rep соответственно.
5.	Нажмите OK, чтобы закрыть диалоговое окно Static Choices. И вы хотите сделать эту подсказку опциональной.
6.	Пока объект Value Prompt все еще выделен, в панели Properties кликните Required ячейку и выберите No. Вам нужно, чтобы подсказка сохраняла однажды выбранное пользователем значение.
7.	Пока объект Value Prompt все еще выделен в панели Properties кликните Auto-Submit ячейку, в списке выберите Yes. А теперь добавим вычисляемое значение в запрос, чтобы получать отсортированные данные в зависимости от значения подсказки.
Задание 3. Добавьте вычисляемое значение в запрос.
1.	Наведите курсор на Query Explorer, кликните Query1.
2.	В панели Insertable Objects, выберите закладку Toolbox, перетяните объект Data Item на панель Data Items.
3.	В панели Expression Definition напишите следующее выражение:
if(?sort by?='on') then ([Order number]) else if (?sort by?='od') then  ([Day of the week]) else if (?sort by?='sr') then ([Sales rep]) else (null)
Подсказка: выберите ?sort by? из закладки параметров, выберите Order number, Day of week, Sales rep из закладки Data Items.
Проверьте выражение (кнопка Validate), нажмите OK, чтобы закрыть диалоговое окно. 
Задание 4. Назовите и отсортируйте вычисляемое значение, добавьте его в список свойств, протестируйте подсказку.
1.	Пока Data Item еще выделен, в панели Properties, в ячейке Name напишите Sort Key, нажмите Enter.
2.	Пока Sort Key все еще выделен, перейдите в Properties, выберите ячейку Pre-Sort, в списке выберите Sort ascending.
3.	Наведите курсор на Page Explorer, нажмите Page1.
4.	Кликните по любому пункту в отчете, в Properties панели нажмите Select Ancestor, выберите List.
5.	В панели Properties, дважды кликните по клетке Properties, выберите Sort Key, нажмите OK.
6.	Запустите отчет, в подсказке сортировки напишите on, нажмите OK. Данные колонки Order Method отсортированы по возрастанию.
7.	В подсказке вверху отчета нажмите Order Day. Данные колонки Day будут отсортированы по возрастанию.
8.	В подсказке вверху отчета нажмите Sales rep. Данные колонки Sales rep будут отсортированы по возрастанию.
Подсказка работает, как и должна. Вы улучшите отчет, добавив выбор значения подсказки по умолчанию, чтобы пользователь не видел страницу с подсказкой при первом запуске.
9.	Закройте окно просмотра отчета.
Задание 5. Отформатируйте отчет, добавьте параметр по умолчанию. Вы создадите выбор подсказки по умолчанию, и колонка данных о дне продаже отчета при первом запуске будет отсортирована по возрастанию.
1.	В рабочей области кликните объект Value Prompt, в панели Properties дважды кликните ячейку Default Selection.
2.	В диалоговом окне нажмите Add, напишите od, нажмите OK дважды.
1.	Вы улучшите интерфейс, так, что будет только основная подскзка.
2.	В панели Properties нажмите Hide Adornments, выберите Yes.
3.	Вы добавите текст перед подсказкой, чтобы это было понятно пользователю.
4.	Из вкладки Toolbox панели Insertable Objects, перетяните Text Item, чтобы он был слева от подсказки.
5.	В диалоговом окне Text напишите Please choose a column to sort by, нажмите несколько раз пробел, кликните OK.
6.	Запустите отчет. Результат будет таким.

Отчет появится без первой страницы с подсказкой. По умолчанию, колонка Day of week отсортирована по возрастанию.
8.	Закройте окно просмотра отчетов. Выйдите из Report Studio, откройте следующий пример.
Результаты:
Вы создали отчет, где пользователь может выбирать как сортировать данные.

Примечания инструктору:
В нашем примере мы сортировали колонки Day of week и Order number. Это случайный выбор, вы не должны полагаться на него.

Пример 3. Создание подсказки, позволяющей пользователю выбирать порядок сортировки.
Цель:
Менеджер запросил у вас отчет, который показывает выручку по продажам для каждого розничного продавца. Он хочет иметь возможность видеть в списке продавцов, как с наибольшей, так и наименьшей прибылью.
Вы создадите отчет, который будет содержать подсказку, позволяющей сортировать прибыль, как по возрастанию, так и по убыванию.
Сервер: localhost
Пользователь/пароль: brettonf/Education1!
Среда: Report Studio
Архив: GO Data Warehouse (query)
Тип отчета: List
Каталог: Sales and Marketing (query)
Пространство: Sales (query)

Задание 1. Создайте списочный отчет с подсказкой на главной странице.
1.	Из панели Insertable Objects вкладки Source добавьте следующие пункты в отчет:
Retailer->Retailer name
Sales fact->Revenue
Вы добавите подсказку к заголовку колонки Revenue. Вы сначала добавите блок в ячейку, а потом – значение подсказки на блок.
2.	На панели инструментов кликните Unlock (currently locked) 
3.	На панели Insertable Objects выберите вкладку Toolbox, перетяните Block на заголовок колонки Revenue, справа от текста.
4.	Из панели Insertable Objects перетяните объект Value Prompt на блок, который вы только что добавили.
5.	В диалоговом окне Create a new parameter напишите sort, нажмите Finish.
Задание 2. Создайте пункты для выбора в подсказке.
Вы создадите выбор, чтобы пользователь мог выбрать, как сортировать данные в отчете: по возрастанию или по убыванию.
1.	На рабочей области кликните по объекту Value Prompt, перейдите в Properties, дважды кликните по ячейке Static Choices.
2.	В диалоговом окне нажмите Add.
3.	В окне Use напишите 1, в окне Display напишите Ascending, нажмите OK.
4.	В диалоговом окне Static Choices нажмите Add.
5.	В окне Use напишите -1, в окне Display напишите Descending, нажмите OK дважды.
6.	В панели Properties измените значение свойства Properties – Value Prompt с Required в No, измените свойство Auto-Submit в Yes, измените свойство Hide Adornments в Yes.
При запуске отчета, вы хотите, чтобы колонка Revenue была отсортирована по возрастанию, поэтому вы создадите выбор по умолчанию.
7.	В панели Properties дважды нажмите Default Selections, в диалоговом окне Default Selections нажмите Add, напишите 1, затем нажмите OK дважды, чтобы закрыть оба окна.
8.	На панели инструментов нажмите Lock (currently unlocked) 
Задание 3. Добавьте вычисляемое значение в отчет и добавьте его как свойство отчета.
Вы добавите расчетные данные, которые будут использоваться при сортировке колонки Revenue, в зависимости от выбора подсказки.
1.	Наведите курсор на Query Explorer, выберите Query1.
2.	В панели Insertable Objects выберите вкладку Toolbox, перетяните объект Data Item на панель Data Items.
3.	В панели Expression Definition создайте следующее выражение:
[Revenue]*?sort?
Подсказка: выберите [Revenue] из вкладки Data Items и sort из закладки Parameters.
4.	Проверьте выражение, нажмите OK.
5.	Пока объект вычисляемого значения выделен в панели Properties, измените свойство Name на Sort Key и измените Pre-Sort на Sort ascending.
Чтобы использовать значение Sort Key для того, чтобы знать, как отсортировать отчет, его нужно сделать свойством отчета.
6.	Наведите курсор на Page Explorer, нажмите Page1, затем кликните любой объект в отчете.
7.	В панели Properties нажмите Select Ancestor, выберите List, затем дважды кликните на ячейку Properties.
8.	Кликните «чекбокс» Sort Key, нажмите OK.
Задание 4. Тестируйте подсказку.
1.	Запустите отчет. Результат должен быть таким:

Колонка Revenue отсортирована по возрастанию. Вы видите Hakata Tozanyouhin Senmonten.
2.	В подсказке выберите Descending. Результат должен быть таким:

Колонка Revenue отсортирована по убыванию. Вы видите, что наибольшая выручка у Grand Choix.
3.	Закройте просмотр отчетов. Выйдите из Report Studio, откройте следующий пример.
Результаты:
Вы создали отчет, который позволяет пользователю выбрать, как сортировать значения выручки: по возрастанию или по убыванию. Чтобы это сделать, вы добавили подсказку с выбором и создали вычисляемое значение, которое зависит от выбора пункта в подсказке. Потом вы сортируете отчет, в зависимости от этого значения.

Позвольте пользователю выбирать, как фильтровать данные отчета
	Подсказка-макрос возвращает различные значения, в зависимости от выбранного пользователем пункта.

Подсказка-макрос

Значение	Отображение	
[Order date] BETWEEN 2006-01-01 00:00:00 AND 2007-01-01 00:00:00	Все заказы в 2006	
Cast(([Order date]), date)=2006-09-30	Последний день 3-го квартала 2006г	
[Order date] in_range ?date_range?	Диапазон дат	
Статичные выборы для подсказки

Макрос – это фрагмент кода, который можно вставлять в Select-запрос. В подсказке-макросе все, что находится между #, при выборе заменяется результатом запроса, который она возвращает.
Вы можете использовать подсказку-макрос, работая с реляционными данными.

Примечания инструктору:
Очень важно знать базу данных, создавая значения макросов. В примере выше во втором пункте подсказки оператор Cast приводит переменную [Order date] к типу ‘date’, потому что в базе данных [Order date] имеет тип ‘date & time’.
Параметр Name является обязательным и указывается в подсказке-макросе.
Используйте простые одинарные кавычки.

Пример 4. Создание подсказки, которая позволяет выбирать фильтр
Цель:
Вас попросили создать отчет, который показывает дату заказа, номер заказа и выручку от продаж всех продавцов. Отчет должен позволять пользователю выбирать в качестве диапазона дат как весь 2006, так и любой другой интересующий интервал. Чтобы предоставить пользователю такую возможность, вы создадите подсказку-макрос, такую, чтобы пользователь мог выбирать применяемый фильтр.
Сервер: localhost
Пользователь/пароль: brettonf/Education1!
Среда: Report Studio
Архив: GO Data Warehouse (query)
Тип отчета: List
Каталог: Sales and Marketing (query)
Пространство: Sales (query)

Задание 1. Добавьте данные и фильтр, содержащий подсказку-макрос.
1.	Добавьте следующие данные в отчет из панели Insertable Objects вкладки Source:
Time dimension->Date
Sales order->Order number
Retailer->Retailer name
Sales fact->Revenue
2.	Нажмите на колонку Date, на панели инструментов нажмите Sort , выберите Sort Ascending.
3.	Наведите курсор на Query Explorer, выберите Query1.
4.	Кликните закладку Toolbox, перетяните объект Filter на панель Detail Filters. Вы создадите подсказку-макрос, которая будет включать имя параметра (choose date), тип данных (token), значение.
5.	В панели Expression Definition создайте следующее выражение:
#prompt ('choose date', 'token', '[Date]BETWEEN 2006-01-01 12:00:00  AND 2006-12-31 12:59:00')#
6.	Проверьте выражение, нажмите OK, чтобы закрыть окно.
Вы можете создать страницу с подсказкой, которая будет использовать параметр ‘choose date’, который вы только что создали. Вы создадите статичный выбор для подсказки, где его значениями будут SQL запросы.
Задание 2. Создайте подсказку со статичным выбором.
1.	Наведите курсор на Page Explorer, кликните Prompt Pages, перетащите объект Page на панель Prompt Pages.
2.	Дважды кликните по Prompt Page1, затем из панели Insertable Objects перетяните объект Value Prompt на рабочую область.
3.	В окне Prompt Wizard кликните Use existing parameter, в списке кликните choose date, затем Finish.
4.	На странице подсказки кликните по объекту Value Prompt, затем в Properties дважды кликните пункт Static Choices.
5.	В диалоговом окне Static Choices нажмите Add.
6.	В окне Use напишите [Date] BETWEEN 2006-01-01 12:00:00 AND 2006-12- 31 12:59:00, в окне Display напишите All orders in 2006, затем нажмите OK.
Повторите шаги 5, 6 еще два раза, добавив еще 2 выбора. В окне Use пишите Cast([Date],date)=2006-12-15 и [Date] in_range ?date_range?, в окне Display – December 15, 2006 и Date Range соответственно.
7.	Во второй опции вы приводили [Date] к типу ‘date’, потому что в базе данных GO Data Warehouse информация о дате имеет тип ‘date and time’.
8.	Нажмите OK.
Задание 3. Добавьте подсказку даты и времени, протестируйте ее.
Вы добавите объект-подсказку для даты и времени, чтобы с ее помощью пользователь мог выбрать диапазон дат.
1.	Из закладки Toolbox перетяните объект Date & Time Prompt.
2.	В диалоговом окне Create a new parameter напишите date_range, нажмите Finish.
3.	На странице подсказки выберите объект Date & Time Prompt в панели Properties измените свойство Range на Yes.
Вы протестируете подсказку, чтобы проверить, является ли диапазон дат по умолчанию (BETWEEN 2006-01-01 12:00:00 AND 2006-12-31 12:59:00) используемым значением в этой подсказке.
4.	Запустите отчет, на странице подсказки нажмите Finish.
Отчет запускается. Первые даты в нем относятся к началу январю 2006-го.
5.	В отчете нажмите Bottom.
Последние даты относятся к концу декабря 2006-го, подсказка-макрос использует значение по умолчанию, которое вы определили.
Вы протестируете подсказку, выбрав одно из ее значений.
6.	Закройте окно просмотра отчетов и запустите отчет снова.
7.	В подсказке выберите дату 15 декабря 2006, нажмите Finish.
Отчет запустится, даты в нем будут 15 декабря 2006.
Сейчас вы выберите разные значения для диапазона дат.
8.	Закройте окно просмотра отчета и запустите отчет снова.
9.	В подсказке выберите Date Range, в подсказке From выберите 1 мая 2006-го, в подсказке To – 31 мая 2006-го.
10.	Нажмите Finish. Результат будет такой:

Начало отчета содержит даты начала мая 2006-го.
11.	В отчете нажмите Bottom.
Конец отчета содержит даты конца мая 2006-го.
12.	Закройте окно просмотра отчетов. Выйдите из Report Studio, откройте следующий семинар.
Результаты.
Вы создали отчет, который показывает дату заказа, номер заказа и выручку для всех продавцов. Вы использовали подсказку-макрос, чтобы пользователь мог выбирать промежуток времени.

Итоги
В конце этого модуля вы будете уметь следующее:
 - управлять отчетом, используя подсказки;
 - определять условное форматирование с помощью подсказок;
 - создавать отчеты, форматирование которых зависит от выбора в подсказке;
 - создавать отчеты, сортировка которых зависит от выбора в подсказке;
 - создавать отчеты, фильтрация которых зависит от выбора в подсказке.

Семинар 1: Создание подсказки, которая позволяет пользователю выбрать, какие колонки нужно отсортировать

Менеджер по продажам попросил у вас отчет, по отдельным деталям продаж, таким как дата заказа, имя продавца, название продукта, выручка. Чтобы отчет мог помочь найти нужную информацию, он должен уметь выполнять сортировку нескольких колонок. Необходимо, чтобы при выборе колонки информация в нем сортировалась по возрастанию, за исключением колонки выручки: там нужна сортировка по убыванию.
Для этого:

 - Создайте списочный отчет, используя GO Data Warehouse, Sales and Marketing (query), Sales (query), выбрав оттуда значения Date, Employee name, Retailer name, Revenue.

 - Добавьте страницу с подсказкой, содержащей значения параметра ‘sorts’, чтобы пользователь мог выбрать несколько параметров. Используйте «чекбокс».

 - Создайте выбор для подсказки по каждой колонке отчета.

 - Добавьте вычисляемые значения в запрос, эти значения будут возвращать данные, какие пункты были выбраны в подсказке.

 - Назовите каждый пункт вычисляемого значения, в соответствие с тем, какая колонка будет отсортирована (например: Sort date), затем отсортируйте каждое значение в нужном порядке (по возрастанию или по убыванию).

 - Добавьте вычисляемое значение как свойство объекта отчета.

 - Запустите отчет, выберите в подсказке значения Employee name и Revenue, посмотрите результаты.

 - Вновь запустите отчет, выбрав Order date, Employee name, Retailer name, просмотрите результаты.

Для более подробной информации смотрите таблицу задач на следующей странице. Чтобы посмотреть результаты, смотрите результаты семинара, после таблицы задач.

Семинар 1: Таблица задач
Задача	Где выполнять	Советы	
1. Создайте отчет-список со страницей подсказки.	GO Data Warehouse (query), Sales and Marketing (query), Sales

Page Explorer, Prompt pages, Prompt Page1

Панель Properties	 - Создайте отчет-список со следующими пунктами: Date, Employee name, Revenue.

 - Добавьте подсказку со статичным выбором.

 - Сделайте так, чтобы пользователь мог выбрать несколько пунктов в подсказке. Используйте «чекбокс».	
2. Добавьте вычисляемое значение в запрос.	Query Explorer, Toolbox

Панель Properties, ячейка Pre-Sort	 - Добавьте вычисляемые значения, где каждое значение – соответствующее значение пункта отчета.

 - Отсортируйте вычисляемые значения.	
3. Сделайте вычисляемые значения свойством объекта-отчета и запустите отчет, чтобы проверить как работает сортировка	Панель Properties, ячейка Properties

Панель инструментов.	- Запустите отчет, выберите в подсказке значения Employee name и Revenue, посмотрите результаты.

 - Вновь запустите отчет, выбрав Order date, Employee name, Retailer name, просмотрите результаты.

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

Семинар 1: Результаты
Пункты данных в Query1 такие:

Отчет выглядит так, при сортировке по колонкам Employee name и Revenue:

Отчет выглядит так, при сортировке по колонкам Order date, Employee name, Retailer name, Product name:

Семинар 1: Пошаговые инструкции
Сервер: localhost
Пользователь/пароль: brettonf/Education1!
Среда: Report Studio
Архив: GO Data Warehouse (query)
Тип отчета: List
Каталог: Sales and Marketing (query)
Пространство: Sales (query)

Задание 1. Создайте отчет со страницей подсказки.
1.	Добавьте следующие пункты в отчет:
Time dimension -> Date
Employee by region - > Employee name
Retailer - > Retailer name
Product -> Product name
Sales fact - > Revenue
2.	Наведите курсор на Page Explorer и нажмите Prompt Pages.
3.	Перетяните объект Page на панель Prompt Pages и дважды кликните Prompt Page1.
4.	Из закладки Toolbox перетяните объект Value Prompt на рабочую область.
5.	В Prompt Wizard, в диалоговом окне Create a new parameter напишите ‘sorts’ и нажмите Finish.
6.	На странице подсказки, кликните по объекту Value Prompt, на панели Properties, измените свойство Multi-Select в Yes, и свойство Select UI измените в Check box group.
7.	На панели Properties дважды кликните по ячейке Static Choices.
8.	Нажмите Add.
9.	В окне Use напишите ‘od’, в окне Display напишите Order date, нажмите OK.
10.	 Повторите шаги 8 и 9 еще 4 раза. При каждом, в окне Use пишите ‘en’, ‘rn’, ‘pn’, ‘rev’, а в соответствующих окнах Display: ‘Employee name’, ‘Retailer name’, ‘Product name’, ‘Revenue’.
11.	 Нажмите OK.
Задание 2. Добавьте вычисляемые данные в запрос.
1.	Наведите курсор на Query Explorer и нажмите на Query1.
2.	Из закладки Toolbox перетяните объект Data Item на панель Data Items.
3.	В панели Expression Definition создайте следующее выражение:
1.	if('od' in ?sorts?) then ([Date]) else (null)
2.	Подсказка: выберите ?sorts? из закладки Parameters и [Date] из закладки Data Items.
3.	Проверьте выражение, нажмите OK.
4.	Пока объект Data Item еще выделен, в панели Properties измените свойство Name на Sort date.
5.	Повторите шаги 2-5, чтобы добавить следующие вычисляемые данные:
Name	Выражение	
Sort employee name	if ('sr' in ?sorts?) then ([Employee  name]) else (null)	
Sort retailer	if ('rn' in ?sorts?) then ([Retailer  name]) else (null)	
Sort product	if ('pn' in ?sorts?) then ([Product  name]) else (null)	
Sort revenue	if ('rev' in ?sorts?) then ([Revenue])  else (null)	
6.	Для вычисляемых данных Sort date, Sort employee name, Sort retailer, Sort product установите свойство Pre-Sort в Sort ascending.
7.	Кликните объект Sort revenue, установите свойство Pre-Sort в Sort descending.
Задание 3. Сделайте вычисляемые данные свойствами объекта-отчета и запустите отчет, чтобы проверить сортировку.
1.	Наведите курсор на Page Explorer, кликните Page1.
2.	Кликните по любой колонке в отчете и в панели Properties нажмите Select Ancestor, затем нажмите List.
3.	В панели Properties дважды кликните по ячейке Properties, выделите все «чекбоксы», нажмите OK.
4.	Запустите отчет.
5.	В подсказке выберите Employee name, Revenue, нажмите Finish.
Колонка Employee name отсортирована по возрастанию, колонка Revenue отсортирована по убыванию.
6.	Закройте окно просмотра отчетов, запустите отчет снова.
7.	В подсказке отметьте «чекбоксы» Order date, Employee name, Retailer name, Product name, нажмите Finish.
Колонки Order date, Employee name, Retailer name, Product name отсортированы по возрастанию.
8.	Закройте окно просмотра отчетов, выйдите Report Studio, не сохраняя отчет, закройте страницу Cognos 8 Welcome.