Руководство. Форматирование текста (построитель отчетов)

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

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

Снимок экрана отформатированного отчета в Report Builder.

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

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

Требования

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

Создание пустого отчета с источником данных и набором данных

Создать пустой отчет

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

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

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

  2. На левой панели диалогового окна Приступая к работе проверьте, выбран ли пункт Новый отчет .

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

Создание источника данных

  1. В области данных отчета выберите новый>источник данных.

    Если на вкладке "Представление" не отображается панель данных отчета, проверьте данные отчета.

  2. В поле "Имя" введите: TextDataSource

  3. Выберите Использовать соединение, встроенное в отчет.

  4. Убедитесь, что тип подключения — Microsoft SQL Server, а затем введите строку подключения : Data Source = <servername>

    Примечание.

    Выражение <servername>, например Report001, указывает компьютер, на котором установлен экземпляр компонента SQL Server Database Engine. Для этого учебника не требуется специальных данных. Необходимо только подключение к базе данных SQL Server. Если у вас уже есть подключение к источнику данных, указанное в разделе "Подключения к источнику данных", его можно выбрать и перейти к следующей процедуре " Чтобы создать набор данных". Дополнительные сведения см. в статье "Альтернативные способы получения подключения к данным" (построитель отчетов).

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

Создание набора данных

  1. В области данных отчета выберите новый>набор данных.

  2. Убедитесь в том, что источником данных является TextDataSource.

  3. В поле "Имя" введите: TextDataset.

  4. Убедитесь, что выбран тип текстового запроса, а затем выберите конструктор запросов.

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

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

    Примечание.

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

    SELECT CAST('2015-01-05' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13747.25 AS money) AS Sales, 55 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(9248.15 AS money) As Sales, 37 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1800.00 AS money) AS Sales, 24 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1125.00 AS money) AS Sales, 15 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory,  'Lens Adapter' as Product, CAST(742.50 AS money) AS Sales, 11 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1417.50 AS money) AS Sales, 21 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13497.30 AS money) AS Sales, 54 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(11997.60 AS money) AS Sales, 48 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(10247.95 AS money) As Sales, 41 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1200.00 AS money) AS Sales, 16 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(2025.00 AS money) AS Sales, 27 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1425.00 AS money) AS Sales, 19 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(887.50 AS money) AS Sales, 13 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(607.50 AS money) AS Sales, 9 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1215.00 AS money) AS Sales, 18 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Lauren Johnson' as FullName,'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(10191.00 AS money) AS Sales, 79 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Warren Pal' as FullName,'North' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8772.00 AS money) AS Sales, 68 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Fernando Ross' as FullName,'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10578.00 AS money) AS Sales, 82 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(7218.10 AS money) AS Sales, 38 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory,'Digital' as Subcategory,'Slim Digital' as Product, CAST(9307.55 AS money) AS Sales, 49 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Lauren Johnson' as FullName,'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(3870.00 AS money) AS Sales, 30 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Warren Pal' as FullName,'North' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(5805.00 AS money) AS Sales, 45 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Fernando Ross' as FullName,'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8643.00 AS money) AS Sales, 67 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Lauren Johnson' as FullName,'Central' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(9877.40 AS money) AS Sales, 52 as Quantity, 'Install Report Builder' as LinkText, 'https://go.microsoft.com/fwlink/?LinkId=154882' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Warren Pal' as FullName,'North' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(12536.70 AS money) AS Sales, 66 as Quantity, 'Report Builder in SQL Server' as Link, 'https://go.microsoft.com/fwlink/?LinkId=160556' AS URL  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Fernando Ross' as FullName,'South' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(6648.25 AS money) AS Sales, 35 as Quantity, 'What is New in Reporting Services (SSRS)' as Link, 'https://go.microsoft.com/fwlink/?LinkId=165064' AS URL  
    
  7. Нажмите кнопку "Выполнить" (!), чтобы запустить запрос.

    Результаты запроса — это данные, доступные для отображения в отчете.

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

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

Добавление поля в область конструктора отчета

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

Добавьте поле в отчет (и получите неправильный результат)

  1. Перетащите поле FullName из области данных отчета на поверхность макета.

    Построитель отчетов создает текстовое поле с выражением, представленным как <Expr>.

  2. Выберите Выполнить.

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

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

  4. Выберите выражение <Expr> в текстовом поле.

  5. В области "Свойства" для свойства Value отображается следующее (если на вкладке "Вид" не отображается область "Свойства", проверьте свойства):

    =First(Fields!FullName.Value, "TextDataSet")  
    

    Функция First предназначена для получения только первого значения в поле.

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

  6. Выберите текстовое поле (если выражение выбрано, нажмите клавишу ESC для выбора текстового поля) и нажмите клавишу DELETE.

Добавьте поле в отчет (и получите правильный результат)

  1. На вкладке "Вставка" ленты, в области "Регионы данных", выберите "Список". Выберите поверхность конструктора, а затем перетащите, чтобы нарисовать прямоугольник, который будет около 5 см в ширину и 2,5 см в высоту.

  2. Перетащите поле FullName из области данных отчета в поле списка.

    В этот раз построитель отчетов создает текстовое поле с выражением [FullName] .

  3. Выберите Выполнить.

    На этот раз поле повторяется, чтобы отобразить все записи в запросе.

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

  5. Выберите выражение в текстовом поле.

  6. На панели "Свойства" у свойства Значение вы увидите следующее:

    =Fields!FullName.Value  
    

    Чтобы отобразить данные в этом поле набора данных, перетащите текстовое поле в область данных списка.

  7. Выберите поле списка и нажмите клавишу DELETE.

Добавление таблицы в область конструктора отчетов

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

  1. На вкладке "Вставка" перейдите в "Таблица" и выберите "Мастер таблиц".

  2. На странице "Выбор набора данных" мастера создания новой таблицы или матрицы выберите "Выберите существующий набор данных в этом отчете или общий набор данных">TextDataset (в этом отчете)>Далее.

  3. На странице "Упорядочивание полей" перетащите поля "Территория", "LinkText" и "Продукт" в группы строк, перетащите поле "Продажи" в значения, а затем нажмите кнопку "Далее".

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

  4. На странице "Выбор макета" снимите флажок "Развернуть или свернуть группы", чтобы просмотреть всю таблицу, а затем нажмите кнопку "Далее".

  5. Выберите Готово.

  6. Выберите Выполнить.

    Таблица выглядит правильно, однако имеет две строки Итого. Столбцу LinkText не нужна итоговая строка.

    Снимок экрана, показывающий два итога в отчете Report Builder.

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

  8. Выберите ячейку Total в столбце LinkText, а затем удерживайте клавишу SHIFT и выберите две ячейки справа: и пустую ячейку в столбце Product и [Sum(Sales)] ячейку в столбце Sales.

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

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

  10. Выберите Выполнить.

    Теперь имеется только одна строка "Итого".

    Снимок экрана, показывающий один общий итог в отчете, созданном с помощью Report Builder.

В этом разделе вы добавите гиперссылку в текст таблицы из предыдущего раздела.

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

  2. Щелкните правой кнопкой мыши ячейку, содержащую [LinkText], и выберите "Свойства текстового поля".

  3. На вкладке Действие выберите Перейти на URL-адрес.

  4. В поле "Выбор URL-адреса" выберите [URL-адрес], а затем нажмите кнопку "ОК".

  5. Текст не выглядит иначе. Необходимо сделать так, чтобы текст выглядел как текст ссылки.

  6. Выберите [LinkText].

  7. На вкладке Главная в разделе >Шрифт выберите Подчеркнутый и измените Цвет на Синий.

  8. Выберите Выполнить.

    Теперь текст выглядит как ссылка.

    Снимок экрана, показывающий гипертекстовую ссылку в отчете Report Builder.

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

Поворот текста в отчете

В этом разделе поворачивается часть текста таблицы из предыдущих разделов.

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

  2. Выберите в ячейке, содержащей [Territory].

  3. На вкладке Главная в разделе Шрифт нажмите кнопку Полужирный.

  4. Если область свойств не открыта, на вкладке "Вид " установите флажок "Свойства ".

  5. Найдите свойство WritingMode на панели "Свойства" и измените его значение с По умолчанию на Rotate270.

    Примечание.

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

    Снимок экрана поля

  6. На вкладке Главная в разделе >Абзац нажмите кнопки По середине и Центр для размещения текста по центру ячейки по вертикали и горизонтали.

  7. Выберите "Выполнить" (!).

Теперь текст в ячейке [Territory] располагается вертикально снизу вверх.

Снимок экрана, на котором значения для территории повернуты на 270 градусов.

Форматировать валюту

  1. Выберите «Дизайн», чтобы переключиться на режим проектирования.

  2. Выберите верхнюю ячейку таблицы, содержащую [Sum(Sales)], удерживая клавишу SHIFT, и выберите в нижней таблице ячейку, содержащую [Sum(Sales)].

  3. На вкладке "Главная" перейдите в группу "Число" и нажмите кнопку "Валюта".

  4. Если в качестве региональных настроек компьютера выбран "Английский (США)", текстом образца по умолчанию будет [$12,345.00]\(необязательно). Если вы не видите пример значения валюты в группе Числа, выберите Стили заполнитель>Примерные значения.

    Снимок экрана опции

  5. (Необязательно) На вкладке "Главная " в группе "Число " дважды нажмите кнопку "Уменьшить десятичные разряды" , чтобы отобразить цифры доллара без центов.

  6. Нажмите кнопку "Запустить" (!), чтобы просмотреть отчет.

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

Снимок экрана, на котором показан переформатированный отчет о формировании отчета.

Отображение текста с помощью форматирования HTML

  1. Выберите «Дизайн», чтобы переключиться на режим проектирования.

  2. На вкладке "Вставка" выберите текстовое поле, а затем на поверхности конструктора выберите и перетащите его, чтобы создать текстовое поле под таблицей, около 4 дюймов в ширину и 3 дюйма высотой.

  3. Скопируйте этот текст и вставьте его в текстовое поле:

    <h4>Limitations of cascading style sheet attributes</h4>  
          <p>Only a basic set of <b>cascading style sheet (CSS)</b> attributes are defined:</p>  
          <ul><li>  
              text-align, text-indent  
            </li><li>  
              font-family, font-size  
            </li><li>  
              color  
            </li><li>  
              padding, padding-bottom, padding-top, padding-right, padding-left  
            </li><li>  
              font-weight  
            </li></ul>  
    
  4. Перетащите нижний край текстового поля так, чтобы в нем помещался весь текст. Вы заметите, что рабочая поверхность становится больше, когда вы ее перетаскиваете.

  5. Выберите весь текст в текстовом поле.

  6. Щелкните правой кнопкой мыши весь выделенный текст и выберите "Свойства текста".

    Это свойство является текстом, а не текстовым полем, поэтому в одном текстовом поле можно использовать сочетание обычного текста и текста, использующего HTML-теги в качестве стилей.

  7. На вкладке "Общие" в разделе "Тип разметки" выберите HTML - интерпретирует html-теги как стили.

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

  9. Нажмите кнопку "Запустить" (!), чтобы просмотреть отчет.

Текст в текстовом поле отображается как заголовок, абзац и маркированный список.

Снимок экрана, показывающий форматированный текст в отчете Report Builder.

Сохранение отчета

Отчеты можно сохранять на сервере отчетов, в библиотеке SharePoint или на компьютере.

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

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

  1. Из построителя отчетов выберите Save As.

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

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

    Появится сообщение «Соединение с сервером отчетов». После того как соединение установлено, пользователю представляется содержимое папки, заданной администратором сервера отчетов как место по умолчанию для отчетов.

  4. В поле Имязамените имя по умолчанию на произвольное имя.

  5. Выберите Сохранить.

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

Сохранение отчета на компьютере

  1. Из построителя отчетов выберите Save As.

  2. Выберите "Рабочий стол", "Мои документы" или "Мой компьютер" и перейдите к папке, в которой вы хотите сохранить отчет.

  3. В поле Имязамените имя по умолчанию на произвольное имя.

  4. Выберите Сохранить.

Следующий шаг