Обучающий материал: Введение выражений

В этом учебном материале Report Builder вы используете выражения с общими функциями и операторами для создания мощных и гибких страницированных отчетов в Reporting Services.

В этом уроке вы пишете выражения, которые объединяют значения имён, искаете значения в отдельном наборе данных, отображаете разные цвета в зависимости от значений полей и так далее.

Отчёт представляет собой полосчатый отчёт с чередующимися белыми рядами и цветом. В отчёте есть параметр для выбора цвета небелых строк.

Эта иллюстрация показывает отчёт, похожий на тот, который вы составляете в этом учебнике.

Скриншот отчёта Report Builder, где используются выражения.

Предполагаемое время для выполнения заданий данного учебника: 30 минут.

Requirements

Дополнительные сведения о требованиях см. в "Предварительные требования для руководств (Report Builder)".

1. Создайте отчет таблицы и набор данных с помощью мастера таблиц или матриц

В этом разделе вы создаёте отчёт по таблице, источник данных и набор данных. Когда вы раскладываете таблицу, вы включаете только несколько полей. После завершения мастера вы вручную добавляете столбцы. Мастер упрощает создание таблицы.

Note

В этом учебнике запрос уже содержит значения данных, поэтому внешний источник данных не требуется. В связи с этим запрос получается весьма длинным. В рабочей среде запрос не будет содержать данные. Это предназначено только для учебных целей.

Создать отчёт по таблице

  1. Запустите построитель отчетов на компьютере, веб-портале Служб Reporting Services или в режиме интеграции с SharePoint.

    Откроется диалоговое окно Создать отчет или набор данных .

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

  2. Убедитесь, что на левой панели выбран Новый отчет .

  3. В правой области выберите мастер таблиц или матриц.

  4. На странице Выбор набора данных выберите Создать набор данных>Далее.

  5. На странице «Выбрать соединение с источником данных» выберите источник данных, который отображается как SQL Server. Выберите источник данных из списка или зайдите на сервер отчётов, чтобы выбрать один.

    Note

    Выбранный вами источник данных не важен, если у вас есть достаточные права. Вы не будете получать данные из источника данных. Дополнительные сведения см. в статье "Альтернативные способы получения подключения к данным" (построитель отчетов).

  6. Нажмите кнопку Далее.

  7. На странице "Конструктор запроса" выберите "Изменить как текст".

  8. На панель запроса вставьте следующий запрос:

    SELECT 'Lauren' AS FirstName,'Johnson' AS LastName, 'American Samoa' AS StateProvince, 1 AS CountryRegionID,'Female' AS Gender, CAST(9996.60 AS money) AS YTDPurchase, CAST('2015-6-10' AS date) AS LastPurchase  
    UNION SELECT'Warren' AS FirstName, 'Pal' AS LastName, 'New South Wales' AS StateProvince, 2 AS CountryRegionID, 'Male' AS Gender, CAST(5747.25 AS money) AS YTDPurchase, CAST('2015-7-3' AS date) AS LastPurchase  
    UNION SELECT 'Fernando' AS FirstName, 'Ross' AS LastName, 'Alberta' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(9248.15 AS money) AS YTDPurchase, CAST('2015-10-17' AS date) AS LastPurchase  
    UNION SELECT 'Rob' AS FirstName, 'Caron' AS LastName, 'Northwest Territories' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(742.50 AS money) AS YTDPurchase, CAST('2015-4-29' AS date) AS LastPurchase  
    UNION SELECT 'James' AS FirstName, 'Bailey' AS LastName, 'British Columbia' AS StateProvince, 3 AS CountryRegionID, 'Male' AS Gender, CAST(1147.50 AS money) AS YTDPurchase, CAST('2015-6-15' AS date) AS LastPurchase  
    UNION SELECT  'Bridget' AS FirstName, 'She' AS LastName, 'Hamburg' AS StateProvince, 4 AS CountryRegionID, 'Female' AS Gender, CAST(7497.30 AS money) AS YTDPurchase, CAST('2015-5-10' AS date) AS LastPurchase  
    UNION SELECT 'Alexander' AS FirstName, 'Martin' AS LastName, 'Saxony' AS StateProvince, 4 AS CountryRegionID, 'Male' AS Gender, CAST(2997.60 AS money) AS YTDPurchase, CAST('2015-11-19' AS date) AS LastPurchase  
    UNION SELECT 'Yolanda' AS FirstName, 'Sharma' AS LastName ,'Micronesia' AS StateProvince, 5 AS CountryRegionID, 'Female' AS Gender, CAST(3247.95 AS money) AS YTDPurchase, CAST('2015-8-23' AS date) AS LastPurchase  
    UNION SELECT 'Marc' AS FirstName, 'Zimmerman' AS LastName, 'Moselle' AS StateProvince, 6 AS CountryRegionID, 'Male' AS Gender, CAST(1200.00 AS money) AS YTDPurchase, CAST('2015-11-16' AS date) AS LastPurchase  
    UNION SELECT 'Katherine' AS FirstName, 'Abel' AS LastName, 'Moselle' AS StateProvince, 6 AS CountryRegionID, 'Female' AS Gender, CAST(2025.00 AS money) AS YTDPurchase, CAST('2015-12-1' AS date) AS LastPurchase  
    UNION SELECT 'Nicolas' as FirstName, 'Anand' AS LastName, 'Seine (Paris)' AS StateProvince, 6 AS CountryRegionID, 'Male' AS Gender, CAST(1425.00 AS money) AS YTDPurchase, CAST('2015-12-11' AS date) AS LastPurchase  
    UNION SELECT 'James' AS FirstName, 'Peters' AS LastName, 'England' AS StateProvince, 12 AS CountryRegionID, 'Male' AS Gender, CAST(887.50 AS money) AS YTDPurchase, CAST('2015-8-15' AS date) AS LastPurchase  
    UNION SELECT 'Alison' AS FirstName, 'Nath' AS LastName, 'Alaska' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(607.50 AS money) AS YTDPurchase, CAST('2015-10-13' AS date) AS LastPurchase  
    UNION SELECT 'Grace' AS FirstName, 'Patterson' AS LastName, 'Kansas' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(1215.00 AS money) AS YTDPurchase, CAST('2015-10-18' AS date) AS LastPurchase  
    UNION SELECT 'Bobby' AS FirstName, 'Sanchez' AS LastName, 'North Dakota' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(6191.00 AS money) AS YTDPurchase, CAST('2015-9-17' AS date) AS LastPurchase  
    UNION SELECT 'Charles' AS FirstName, 'Reed' AS LastName, 'Nebraska' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(8772.00 AS money) AS YTDPurchase, CAST('2015-8-27' AS date) AS LastPurchase  
    UNION SELECT 'Orlando' AS FirstName, 'Romeo' AS LastName, 'Texas' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(8578.00 AS money) AS YTDPurchase, CAST('2015-7-29' AS date) AS LastPurchase  
    UNION SELECT 'Cynthia' AS FirstName, 'Randall' AS LastName, 'Utah' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(7218.10 AS money) AS YTDPurchase, CAST('2015-1-11' AS date) AS LastPurchase  
    UNION SELECT 'Rebecca' AS FirstName, 'Roberts' AS LastName, 'Washington' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(8357.80 AS money) AS YTDPurchase, CAST('2015-10-28' AS date) AS LastPurchase  
    UNION SELECT 'Cristian' AS FirstName, 'Petulescu' AS LastName, 'Wisconsin' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(3470.00 AS money) AS YTDPurchase, CAST('2015-11-30' AS date) AS LastPurchase  
    UNION SELECT 'Cynthia' AS FirstName, 'Randall' AS LastName, 'Utah' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(7218.10 AS money) AS YTDPurchase, CAST('2015-1-11' AS date) AS LastPurchase  
    UNION SELECT 'Rebecca' AS FirstName, 'Roberts' AS LastName, 'Washington' AS StateProvince, 7 AS CountryRegionID, 'Female' AS Gender, CAST(8357.80 AS money) AS YTDPurchase, CAST('2015-10-28' AS date) AS LastPurchase  
    UNION SELECT 'Cristian' AS FirstName, 'Petulescu' AS LastName, 'Wisconsin' AS StateProvince, 7 AS CountryRegionID, 'Male' AS Gender, CAST(3470.00 AS money) AS YTDPurchase, CAST('2015-11-30' AS date) AS LastPurchase  
    
  9. На панели инструментов конструктора запросов нажмите кнопку "Выполнить " (!). Набор результатов отображает 23 строки данных в следующих столбцах: FirstName, LastName, StateProvince, CountryRegionID, Gender, YTDPurchase и LastPurchase.

    Снимок экрана шага «Создание запроса» мастера «Новая таблица» или «Матрица».

  10. Нажмите кнопку Далее.

  11. На странице «Упорядочить поля » перетащите следующие поля в заданном порядке из списка «Доступные поля » в список «Значения ».

    • Штат/провинция
    • CountryRegionID
    • Последняя покупка
    • YTDPurchase

    Поскольку CountryRegionID и YTDPurchase содержат числовые данные, агрегат SUM применяется к ним по умолчанию, но вы не хотите, чтобы они были суммами.

  12. В списке «Значения » кликните правой кнопкой мыши по CountryRegionID и уберите галочку «Сумма ».

    Суммирование больше не применяется для CountryRegionID.

  13. В списке «Значения» щелкните правой кнопкой мыши элемент YTDPurchase и выберите параметр «Сумма».

    Суммирование больше не применяется к YTDPurchase.

    Скриншот списка Values, где опция Sum готова к очистке.

  14. выберите Далее.

  15. На странице «Выбрать макет » оставьте все настройки по умолчанию и выберите «Далее».

    Снимок экрана шага «Выбор макета» мастера «Новая таблица или матрица».

  16. Нажмите Готово.

2. Обновить по умолчанию имена источника данных и набора данных

Обновите имя по умолчанию источника данных

  1. В панели данных отчёта развернуть папку «Источники данных ».

  2. Кликните правой кнопкой мыши по DataSource1 и выберите свойства источника данных.

  3. В поле Имя введите ExpressionsDataSource

  4. Нажмите ОК.

Обновите имя по умолчанию набора данных

  1. В панели Report Data расширите папку Datasets .

  2. Кликните правой кнопкой мыши по DataSet1 и выберите Свойства набора данных.

    Скриншот, показывающий, как можно получить доступ к свойствам набора данных в Report Builder.

  3. В поле Name введите Expressions

  4. Нажмите ОК.

3. Отобразить первую инициалу и фамилию

В этом разделе вы используете функцию Left и Concatenate оператор (&) в выражении, которое возвращает имя, включающее инициал имени и фамилию. Вы можете построить выражение шаг за шагом или пропустить процедуру вперёд и скопировать/вставить выражение из учебника в диалоговое окно Expression .

  1. Кликните правой кнопкой мыши по столбцу StateProvince , укажите на Insert Column и выберите Left.

    Новая колонка добавлена слева от столбца StateProvince .

    Скриншот, показывающий, как вставить левый столбец в отчёт.

  2. Выберите заголовок нового столбца и введите Name.

  3. Кликните правой кнопкой мыши по ячейке данных для столбца Name и выберите Expression.

    Скриншот, показывающий, как вставить выражение в отчёт.

  4. В диалоговом окне «Выражение» разверните раздел «Общие функции», а затем выберите «Текст».

  5. В списке «Товар » дважды кликните «Лево».

    Функция Left добавляется к выражению.

    Скриншот, показывающий, как добавить функцию Left к выражению.

  6. В списке категорий выберите Поля (выражения).

  7. В списке Значения дважды щелкните элемент FirstName.

  8. Введите , 1)

    Это выражение извлекает один символ из значения FirstName , считая слева.

  9. Введите &". "&

    Это выражение добавляет точку и пробел после выражения.

  10. В списке Значения дважды щелкните элемент LastName.

    Готовое выражение выглядит так: =Left(Fields!FirstName.Value, 1) &". "& Fields!LastName.Value

    Скриншот, показывающий, как добавить значение LastName к выражению.

  11. Нажмите ОК.

  12. Выберите "Запустить ", чтобы просмотреть отчет.

(По желанию) Отформатируйте столбцы с датой и валютой, а также строку заголовка

В этом разделе вы форматируете столбец Last Purchase , содержащий даты, и столбец YTDPurchase, содержащий валюту. Вы также форматируете строку заголовков.

Отформатировать столбец с датой

  1. Вернитесь в режим дизайна, выбрав его.

  2. Выберите ячейку данных в столбце «Последняя покупка», а в разделе «Номер дома>» выберите «Дату».

    Скриншот, показывающий, как установить столбец «Последняя покупка» на «Дату».

  3. Также в разделе «Числа » выберите стрелку рядом с «Временные стили » и выберите «Примеры значений».

    Скриншот, показывающий опцию Sample Values в Report Builder.

    Теперь вы можете увидеть пример выбранного форматирования.

Отформатировать столбец валюты

  • Выберите ячейку данных в столбце YTDPurchase , а в разделе «Число » выберите «Символ валюты».

Отформатировать заголовки столбцов

  1. Выберите строку заголовков столбцов.

  2. На вкладке Главная в разделе > выберите По левому краю.

    Скриншот, показывающий, как форматировать заголовки в Report Builder.

  3. Выберите "Запустить ", чтобы просмотреть отчет.

Вот отчёт на данный момент с отформатированными датами, валютой и заголовками столбцов.

Скриншот, показывающий предварительный просмотр отформатированного отчёта.

4. Используйте цвет для обозначения пола

В этом разделе вы добавляете цвет, чтобы показать пол человека. Вы добавляете новый столбец для отображения цвета, а затем определяете цвет, который появляется в столбце, исходя из значения поля Гендер.

Если вы хотите сохранить цвет, применённый к этой ячейке таблицы, когда делаете отчёт с чередующимися полосами, добавьте прямоугольник. Затем добавляешь цвет фона в прямоугольник.

Добавить столбец M/F

  1. Кликните правой кнопкой мыши по столбцу Name , укажите на Insert Column и выберите Left.

    Новая колонка добавляется слева от столбца Name .

  2. Выберите заголовок нового столбца и введите M/F.

Добавление прямоугольника

  1. На вкладке «Вставка» выберите «Прямоугольник», а затем выберите ячейку данных в столбце M/F.

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

    Скриншот, показывающий, как вставить прямоугольник.

  2. Перетащите разделитель столбцов между M/F и Name , чтобы столбец M/F стал уже.

    Снимок экрана, показывающий, как сузить столбец.

Используйте цвет для обозначения пола

  1. Кликните правой кнопкой мыши по прямоугольнику в ячейке данных в столбце M/F и выберите свойства прямоугольника.

  2. В диалоговом окне > на вкладке «Заполнение» нажмите кнопку выражения fx рядом с параметром «Цвет заливки».

  3. В диалоговом окне «Выражение » разверните раздел «Общие функции » и выберите «Поток программ».

  4. В списке товаров дважды кликните Switch.

  5. В списке категорий выберите Поля (выражения).

  6. В списке «Значения» дважды щелкните «Пол».

  7. Введите ="Male", (включая запятую).

  8. В списке категорий выберите Константы, а в поле Значения выберите Васильковый синий.

    Скриншот, показывающий, как использовать цвет для обозначения пола.

  9. Введите после него запятую.

  10. В списке категорий выберите Поля (выражения), а в списке значений снова дважды кликните по Гендер .

  11. Введите ="Female", (включая запятую).

  12. В списке категорий выберите Константы, а в поле Значения выберите Помидор.

  13. Введите заключительную скобку ) после него.

    Готовое выражение выглядит так: =Switch(Fields!Gender.Value ="Male", "CornflowerBlue",Fields!Gender.Value ="Female","Tomato")

    Скриншот, показывающий полное выражение в диалоговом окне «Выражение».

  14. Выберите OK, затем снова OK , чтобы закрыть диалоговое окно «Свойства прямоугольника ».

  15. Выберите "Запустить ", чтобы просмотреть отчет.

    Скриншот, показывающий предпросмотр с колонкой M/F.

Отформатировать цветные прямоугольники

  1. Вернитесь в режим дизайна, выбрав его.

  2. Выберите прямоугольник в столбце M/F . В панели «Свойства», в разделе «Граница», установите следующие свойства:

    • BorderColor = Белый
    • BorderStyle = Solid
    • Ширина границы = 5 пунктов

    Скриншот, который показывает, как форматировать цветовые прямоугольники в столбце M/F.

  3. Выберите «Запустить », чтобы снова просмотреть отчёт. На этот раз вокруг цветовых блоков есть белое пространство.

    Скриншот, показывающий предпросмотр с прямоугольниками, отформатированными в столбце M/F.

5. Найдите название страны или региона

В этом разделе вы создаёте набор данных CountryRegion и используете функцию Lookup , чтобы отобразить название страны/региона вместо идентификатора страны/региона.

Создать набор данных CountryRegion

  1. Вернитесь в режим дизайна, выбрав его.

  2. В панели Report Data выберите New , а затем Dataset.

  3. В разделе «Свойства набора данных» выберите «Использовать набор данных, встроенный в мой отчёт».

  4. В списке источников данных выберите ExpressionsDataSource.

  5. В поле Name введите CountryRegion

  6. Убедитесь, что тип запроса Text выбран, и выберите Query Designer.

  7. Выберите "Изменить как текст".

  8. Скопируйте и вставьте на панели запросов следующий запрос:

    SELECT 1 AS ID, 'American Samoa' AS CountryRegion  
    UNION SELECT 2 AS CountryRegionID, 'Australia' AS CountryRegion  
    UNION SELECT 3 AS ID, 'Canada' AS CountryRegion  
    UNION SELECT 4 AS ID, 'Germany' AS CountryRegion  
    UNION SELECT 5 AS ID, 'Micronesia' AS CountryRegion  
    UNION SELECT 6 AS ID, 'France' AS CountryRegion  
    UNION SELECT 7 AS ID, 'United States' AS CountryRegion  
    UNION SELECT 8 AS ID, 'Brazil' AS CountryRegion  
    UNION SELECT 9 AS ID, 'Mexico' AS CountryRegion  
    UNION SELECT 10 AS ID, 'Japan' AS CountryRegion  
    UNION SELECT 10 AS ID, 'Australia' AS CountryRegion  
    UNION SELECT 12 AS ID, 'United Kingdom' AS CountryRegion  
    
  9. Выберите Run (!), чтобы выполнить запрос.

    Результаты запроса — это идентификаторы страны/региона и названия.

  10. Нажмите ОК.

  11. Снова выберите OK , чтобы закрыть диалоговое окно Dataset Properties .

    Теперь у вас есть второй набор данных в столбце Report Data .

Поиск значений в наборе данных CountryRegion

  1. Выберите заголовок столбца Country Region ID и удалите текст ID, чтобы получилось Country Region.

  2. Кликните правой кнопкой мыши по ячейке данных для столбца Country Region и выберите Expression.

  3. Удалить выражение, кроме начального знака равенства (=).

    Оставшееся выражение: =

  4. В диалоговом окне «Выражение» разверните раздел «Общие функции» и выберите «Разное», а в списке «Элементы» дважды кликните «Поиск».

  5. В списке категорий выберите поля (выражения), а в списке значений дважды кликните по CountryRegionID.

  6. Поместите курсор сразу после CountryRegionID.Value и введите ,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion").

    Готовое выражение: =Lookup(Fields!CountryRegionID.Value,Fields!ID.value, Fields!CountryRegion.value, "CountryRegion")

    Синтаксис функции Lookup задаёт поиск между CountryRegionID в наборе Expressions и ID в наборе CountryRegion, который возвращает значение CountryRegion из набора данных CountryRegion.

  7. Нажмите ОК.

  8. Выберите "Запустить ", чтобы просмотреть отчет.

6. Отсчитайте дни с момента последней покупки

В этом разделе вы добавляете столбец и затем используете функцию «Сейчас » или встроенную ExecutionTime глобальную переменную, чтобы вычислить количество дней с момента последних покупок клиента.

Добавьте столбец «Количество дней назад»

  1. Вернитесь в режим дизайна, выбрав его.

  2. Щёлкните правой кнопкой мыши столбец «Последняя покупка», наведите указатель на «Вставить столбец», а затем выберите «Справа».

    Новая колонка добавлена справа от колонки «Последняя покупка ».

  3. В заголовке столбца введите Days Ago.

  4. Щелкните правой кнопкой мыши ячейку данных в столбце Days Ago и выберите Выражение.

  5. В диалоговом окне «Выражение » разверните раздел «Общие функции», затем выберите «Дата и время».

  6. В списке Item дважды щелкните по DateDiff.

  7. Сразу после DateDiff(, введите «d» (включая кавычки «» и запятую).

  8. В списке Категория выберите Поля (выражения), а в списке Значения дважды щелкните LastPurchase.

  9. Сразу после Fields!LastPurchase.Value, введите , (запятая).

  10. В списке категорий снова выберите дату и время , а в списке товаров дважды кликните «Сейчас».

    Предупреждение

    В производственных отчетах не следует использовать функцию «Сейчас » в выражениях, которые оцениваются несколько раз по мере рендеринга отчёта (например, в детализированных строках отчёта). Значение Сейчас меняется от строки к строке, и разные значения влияют на результаты оценки выражений, что приводит к незначительно несогласованным результатам. Вместо этого используйте глобальную ExecutionTime переменную, которую предоставляет Reporting Services.

  11. Удалите левую скобку после Now(, а затем введите правую скобку ).

    Готовое выражение выглядит так: =DateDiff("d", Fields!LastPurchase.Value, Now)

    Скриншот с полным выражением даты с момента последней покупки.

  12. Нажмите ОК.

  13. Выберите "Запустить ", чтобы просмотреть отчет.

7. Используйте индикатор для сравнения продаж

В этом разделе вы добавляете новый столбец и используете индикатор, чтобы показать, превышают ли покупки человека с начала года (YTD) больше или меньше средних покупок с начала года. Функция Round удаляет десятичные числа из значений.

Настройка индикатора и его состояний требует множества шагов. Если хотите, можете перейти вперёд в процедуре «Настроить индикатор» и скопировать/вставить готовые выражения из этого учебника в диалоговое окно выражения .

Добавьте колонку + или - AVG Sales

  1. Щелкните правой кнопкой мыши столбец YTD Purchase, наведите указатель на Insert Column, а затем выберите Right.

    Новый столбец добавлен справа от столбца «Покупки с начала года».

  2. Выберите заголовок столбца и введите + или - AVG Sales.

Добавьте индикатор

  1. На вкладке «Вставить » выберите «Индикатор», а затем ячейку данных для столбца + или - AVG «Продажи ».

    Открывается диалоговое окно «Выбрать тип индикатора ».

  2. В группе набора иконок Directional выберите набор из трёх серых стрелок.

    Скриншот, показывающий, как добавить индикатор.

  3. Нажмите ОК.

Настройте индикатор

  1. Кликните правой кнопкой мыши по индикатору, выберите Свойства индикатора, а затем выберите Значение и Состояния.

  2. Выберите кнопку expression fx рядом с текстовым полем Value .

  3. В диалоговом окне «Выражение » разверните раздел «Общие функции», а затем выберите «Математика».

  4. В списке Элемент дважды щелкните Round.

  5. В списке категорий выберите поля (выражения), а в списке значений дважды кликните по YTDPurchase.

  6. Сразу после Fields!YTDPurchase.Value, введите - (знак минуса).

  7. Снова раскройте Общие функции, выберите Агрегат и в списке Элемент дважды щелкните Avg.

  8. В списке категорий выберите поля (выражения), а в списке значений дважды кликните по YTDPurchase.

  9. Сразу после Fields!YTDPurchase.Value, введите , "Expressions"))).

    Готовое выражение выглядит так: =Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions"))

  10. Нажмите ОК.

  11. В поле Единица измерения состояний выберите Числовое.

  12. В строке со стрелкой вниз выберите кнопку fx справа от текстового поля для значения Начало.

    Скриншот, на котором показано, как выбрать кнопку эффектов рядом с текстовым полем Start.

  13. В диалоговом окне «Выражение » разверните раздел «Общие функции», а затем выберите «Математика».

  14. В списке Элемент дважды щелкните Round.

  15. В списке категорий выберите поля (выражения), а в списке значений дважды кликните по YTDPurchase.

  16. Сразу после Fields!YTDPurchase.Value введите - (знак минуса).

  17. Снова раскройте Общие функции и выберите Aggregate, а в списке элементов дважды кликните Avg.

  18. В списке категорий выберите поля (выражения), а в списке значений дважды кликните по YTDPurchase.

  19. Сразу после Fields!YTDPurchase.Value, введите , "Expressions")) < 0

    Готовое выражение: =Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) < 0

  20. Нажмите ОК.

  21. В текстовом поле для End введите 0.

  22. Выберите строку с горизонтальной стрелкой и выберите «Удалить».

    Скриншот, показывающий, как удалить индикатор.

    Теперь есть только две стрелки — либо вверх, либо вниз.

  23. В строке со стрелкой, направленной вверх, в поле Старт введите 0.

  24. Выберите кнопку fx справа от текстового поля значения End.

  25. В диалоговом окне Expression удалите 100 и создайте выражение: =Round(Fields!YTDPurchase.Value - Avg(Fields!YTDPurchase.Value, "Expressions")) >0

  26. Нажмите ОК.

  27. Снова выберите OK , чтобы закрыть диалоговое окно свойств индикатора .

  28. Выберите "Запустить ", чтобы просмотреть отчет.

    Скриншот, показывающий предварительный просмотр со столбцом + или - AVG Sales, включая все новые индикаторы.

8. Создайте ленточный отчёт

Создайте параметр, чтобы читатели отчёта могли задать цвет для чередующихся строк в отчёте, сделав отчёт с полосой.

Добавление параметра

  1. Вернитесь в режим дизайна, выбрав его.

  2. В панели Report Data кликните правой кнопкой мыши по параметрам и выберите Add Parameter.

    Скриншот, показывающий, как добавить параметр.

    Откроется диалоговое окно Свойства параметра отчета .

  3. В Prompt введите Выбрать цвет.

  4. В названии введите RowColor.

  5. На вкладке «Доступные значения » выберите «Указать значения».

  6. Нажмите кнопку "Добавить".

  7. В поле Label введите Жёлтый.

  8. В поле Value введите Жёлтый.

  9. Нажмите кнопку "Добавить".

  10. В поле Label введите Зелёный.

  11. В поле Value введите PaleGreen.

  12. Нажмите кнопку "Добавить".

  13. В поле Label введите Blue.

  14. В поле Value введите LightBlue.

  15. Нажмите кнопку "Добавить".

  16. В поле Надпись введите Pink.

  17. В поле Value введите Pink.

    Снимок экрана диалогового окна «Свойства параметра отчёта», на котором показан шаг «Выбор доступных значений для этого параметра».

  18. Нажмите ОК.

Применять чередующиеся цвета для строк сведений

  1. Выберите все ячейки в строке данных, кроме ячейки в столбце M/ F, которая имеет свой цвет фона.

Скриншот, показывающий ячейки, выбранные в строке данных.

  1. В панели «Свойства» выберите BackgroundColor.

    Если вы не видите панель «Свойства», на вкладке «Просмотр» выберите поле «Свойства».

    Если свойства перечислены по категориям в панели Properties, вы найдете BackgroundColor в категории Misc .

  2. Выберите стрелку вниз, а затем выберите «Выражение».

    Скриншот поля «Свойства», где показано, как связать выражение с BackgroundColor.

  3. В диалоговом окне «Выражение » разверните раздел «Общие функции», а затем выберите «Поток программы».

  4. В списке Item дважды щёлкните по IIf.

  5. В разделе «Общие функции» выберите «Разное», а в списке «Элементы » дважды кликните по «Номер строки».

  6. Сразу после RowNumber( введите Nothing) MOD 2,.

  7. Выберите параметры и в списке значений дважды кликните по RowColor.

  8. Сразу после Parameters!RowColor.Value введите , "White").

    Готовое выражение выглядит так: =IIF(RowNumber(Nothing) MOD 2, Parameters!RowColor.Value, "White")

    Скриншот, показывающий полное цветовое выражение с полосой.

  9. Нажмите ОК.

Запустить отчет

  1. На вкладке Home выберите «Запустить».

    Теперь, когда вы запускаете отчёт, вы не видите его, пока не выберете цвет для небелых полос.

  2. В списке «Выбрать цвет » выберите цвет для небелых полос в отчёте.

    Скриншот, показывающий, как выбрать цвет для небелых полос.

  3. Выберите "Просмотреть отчет".

    Отчётные рендеры и чередующиеся строки имеют выбранный вами фон.

    Скриншот, показывающий предпросмотр с рядами с чередующимися цветами.

(По желанию) Добавить заголовок отчета

Добавьте заголовок в отчёт.

Добавление заголовка отчета

  1. В области конструктора выберите Нажмите, чтобы добавить заголовок.

  2. Введите сводку сравнения продаж, затем выберите текст.

  3. На вкладке «Главная », в поле «Шрифт », установите:

    • Размер = 18
    • Цвет = Серый
    • Полужирный шрифт
  4. На вкладке Home выберите «Запустить».

  5. Выберите цвет для небелых полос в отчёте и выберите View Report.

(По желанию) Сохрани отчёт

Отчеты можно сохранять на сервере отчетов, в библиотеке SharePoint или на компьютере. Для получения дополнительной информации смотрите раздел «Сохранить отчёты (Report Builder).

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

Сохраните отчёт на сервере отчетов

  1. В меню Файл выберите команду Сохранить как.

  2. Выберите последние сайты и серверы.

  3. Выберите или введите имя сервера отчетов, в котором у вас есть разрешение на сохранение отчетов.

    Появится сообщение "Подключение к серверу отчетов". После завершения подключения вы увидите содержимое папки отчета, указанной администратором сервера отчетов в качестве расположения отчета по умолчанию.

  4. Дайте отчёту имя и выберите «Сохранить».

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

Теперь ваши читатели отчёта могут просматривать ваш отчет на веб-портале Reporting Services.

Скриншот нового отчёта, на котором видно каждое выражение.