Создание отчета Power BI с разбивкой на страницы
Приблизительное время выполнения лабораторной работы – 45 минут.
В данной лабораторной работе вы построите отчет с разбивкой на страницы. Источником данных будет выступать AdventureWorksDW2020 SQL Server.
Вы создадите источник данных и набор данных, а также настроите параметр отчета. Макет отчета позволит отображать данные на нескольких страницах и экспортировать их в PDF и другие форматы.
Итоговый отчет будет выглядеть следующим образом:
В этой лабораторной работе вы узнаете, как:
- Использовать конструктор отчетов Power BI.
- Разработать макет многостраничного отчета.
- Определить источник данных
- Определить набор данных
- Создать параметр отчета
- Экспортировать отчет в PDF
Для лабораторной работы вам понадобятся следующие материалы:
-
SQL сервер со следующими данными:
https://docs.microsoft.com/ru-ru/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms -
Набор файлов и расширений:
https://github.com/MicrosoftLearning/DA-100KO-Analyzing-Data-with-Power-BI/tree/master/Allfiles/DA-100-Allfiles
История лабораторной работы
Эта лабораторная работа – одна из многих в серии лабораторных работ, которые были разработаны в виде полного рассказа от подготовки данных до публикации в виде отчетов и информационных панелей. Вы можете выполнять лабораторные работы в любом порядке. Но, если вы намереваетесь выполнить несколько лабораторных работ, то мы предлагаем вам выполнить их в следующем порядке:
- Подготовка данных в Power BI Desktop.
- Загрузка данных в Power BI Desktop.
- Данные модели в Power BI Desktop, часть 1
- Данные модели в Power BI Desktop, часть 2
- Создание вычислений DAX в Power BI Desktop, часть 1
- Создание вычислений DAX в Power BI Desktop, часть 2
- Создание отчета в Power BI Desktop, часть 1
- Создание отчета в Power BI Desktop, часть 2
- Создание информационной панели Power BI.
- Создание отчета Power BI с разбивкой на страницы.
- Выполнение анализа данных в Power BI Desktop.
- Обеспечение безопасности на уровне строк
Упражнение 1: Начало работы
Задача 1: создать отчет
В этой задаче вы откроете конструктор отчетов Power BI, а затем создадите и сохраните его.
- Чтобы открыть конструктор отчетов Power BI, на панели задач щелкните ярлык Power BI Report Builder.
CodeCopy
*Note: if prompted to update to the latest version of Power BI Report Builder, click **Cancel** and proceed to step 2.
- В окне конструктора отчетов Power BI, чтобы создать новый отчет, в окне Getting Started щелкните Blank Report.
- Чтобы сохранить отчет, щелкните вкладку File (расположенную в верхнем левом углу), а затем выберите Save.
- В окне Save As Report перейдите в папку D:\DA100\MySolution.
- В поле Name введите Sales Order Report на продажу.
- Щелкните Save.
Упражнение 2: Разработка макета отчета
В этом упражнении вы разработаете макет отчета и изучите окончательный дизайн отчета.
Задача 1. Настройка заголовка отчета
В этой задаче вы настроите заголовок отчета.
- В конструкторе отчетов обратите внимание на макет отчета по умолчанию, который состоит из области основного текста и области нижнего колонтитула отчета.
В дизайне по умолчанию заголовок отчета отображается один раз в теле на первой обработанной странице. Однако теперь вы измените дизайн отчета, добавив область заголовка отчета и переместив текстовое поле заголовка отчета в эту область. Таким образом, заголовок отчета будет повторяться на каждой странице. Вы также добавите изображение логотипа компании.
- Чтобы добавить область заголовка отчета, на вкладке ленты Insert в группе Header & Footer щелкните Header, а затем выберите Add Header.
- В контрукторе отчетов обратите внимание, что в макет отчета добавлена область заголовка отчета.
- Чтобы выбрать основное текстовое поле, щелкните текстовое поле «Click to add title».
- Чтобы переместить текстовое поле, щелкните значок четырехконечной стрелки, а затем перетащите его в область заголовка, чтобы затем поместить в самый верхний левый угол области заголовка отчета.
- Чтобы изменить текст текстового поля заголовка отчета, щелкните внутри текстового поля и введите: Sales Order Report.
Чтобы изменить размер текстового поля, вы сначала откроете панель Properties. Для точного управления свойствами расположения и размера вам потребуется панель Properties.
- На вкладке ленты View в группе Show/Hide установите флажок Properties.
- Чтобы выбрать текстовое поле заголовка отчета, сначала щелкните область за пределами текстового поля, а затем снова щелкните текстовое поле.
Текстовое поле выбирается тогда, когда вы видите выделенную границу текстового поля и на границе появляются маркеры изменения размера (маленькие кружки).
- На панели Properties (расположенной справа) прокрутите список вниз и найдите группу Position.
Группа Position позволяет задать точные значения для расположения и размера элементов отчета.
Важно, чтобы вы вводили значения, как указано в этой лабораторной работе. Для достижения рендеринга страницы в конце лабораторной работы требуется макет с точностью до пикселя.
- В группе Position разверните группу Location и убедитесь, что для каждого свойства Left и Top установлено значение 0in.
Единицы измерения местоположения и размера указаны в дюймах, поскольку региональные настройки виртуальной машины лабораторной работы установлены для США. d используются метрические измерения, единицей измерения по умолчанию будут сантиметры.
- В группе Position разверните группу Size и установите для свойства Width значение 4.
- Чтобы вставить изображение, на вкладке ленты Insert в группе Report Items щелкните Image.
- Чтобы добавить изображение в дизайн отчета, щелкните внутри области заголовка отчета справа от текстового поля заголовка отчета.
- В окне Image Properties для импорта из файла изображения нажмите Import.
- В окне Open перейдите к папке D:\DA100\Resources, а затем выберите файл AdventureWorksLogo.jpg.
- Щелкните Open.
- В окне Image Properties нажмите OK.
- В конструкторе отчетов обратите внимание, что изображение было добавлено и выбрано.
- Чтобы расположить и изменить размер изображения, на панели Properties настройте следующие свойства:
**Position |
Location |
Left** : 5 |
**Position |
Location |
Top** : 0 |
**Position |
Size |
Width** : 1 |
**Position |
Size |
Height** : 1 |
- Чтобы изменить размер области заголовка отчета, сначала выберите область, щелкнув пустую область области.
- На панели Properties установите для свойства ** General Height ** значение 1.
- Убедитесь, что область заголовка отчета содержит одно текстовое поле и изображение и выглядит следующим образом:
- Чтобы сохранить отчет, на вкладке File нажмите Save.
Совет: вы также можете щелкнуть значок диска, расположенный в верхнем левом углу.
Теперь вы готовы настроить отчет для получения результата запроса к базе данных.
Задача 2: Получить данные
В этой задаче вы создадите источник данных и набор данных для получения результата запроса из базы данных AdventureWorksDW2020 SQL Server.
- На панели Report Data (расположенной слева) щелкните правой кнопкой мыши папку Data Sources и выберите Add Data Source.
Можно получить данные из облачных или локальных баз данных или набора данных Power BI.
- В окне Data Source Properties в поле Name замените текст на AdventureWorksDW2020.
- В раскрывающемся списке Select Connection Type измените тип подключения с SQL Server Analysis Services на Microsoft SQL Server.
- Чтобы построить строку подключения, нажмите Build.
- В окне Connection Properties в поле Server Name введите localhost.
В лабораторных условиях вы будете подключаться к базе данных SQL Server с помощью localhost. Однако это не рекомендуется при создании собственных решений. Это из-за того, что источники данных шлюза не могут разрешить localhost.
- В раскрывающемся списке Select or Enter a Database Name выберите AdventureWorksDW2020.
- Щелкните ОК.
- В окне Data Source Properties нажмите OK.
- На панели Report Data обратите внимание на добавление источника данных AdventureWorksDW2020.
- Чтобы создать набор данных, на панели Report Data щелкните правой кнопкой мыши источник данных AdventureWorksDW2020 и выберите Add Dataset.
Набор данных отчета отличается по назначению и структуре от набора данных Power BI.
- В окне Dataset Properties в поле Name замените текст на SalesOrder.
- Чтобы импортировать предварительно определенный запрос, щелкните Import.
- В окне Import Query перейдите к папке D:\DA100\Labs\10-create-power-bi-paginated-report\Assets, а затем выберите файл SalesOrder.sql.
- Щелкните Open.
- В поле Query просмотрите запрос и обязательно прокрутите его до конца текста запроса.
Неважно, что вы понимаете детали инструкции запроса. Он был разработан для получения сведений о строке заказа на продажу. Условие WHERE включает предикат для ограничения результата запроса одним заказом на продажу. Условие ORDER BY гарантирует, что строки возвращаются по порядку номеров строк.
- Обратите внимание на использование @SalesOrderNumber в условии WHERE, которое представляет параметр запроса.
Параметр запроса является заполнителем для значения, которое будет передано во время выполнения запроса. Вы сконфигурируете параметр отчета, чтобы он предлагал пользователю отчета ввести один номер заказа на продажу, который затем будет передан параметру запроса.
- Щелкните OK.
- На панели Report Data обратите внимание на добавление набора данных SalesOrder и его полей.
Поля используются для настройки областей данных в макете отчета. Они получены из столбцов запроса набора данных.
- Сохраните отчет.
Задача 3. Настройте параметр отчета.
В этой задаче вы настроите параметр отчета со значением по умолчанию.
- На панели Report Data разверните папку Parameters, чтобы отобразить параметр отчета SalesOrderNumber.
Параметр отчета SalesOrderNumber был добавлен автоматически при создании набора данных. Это связано с тем, что запрос набора данных включал параметр запроса @SalesOrderNumber.
- Чтобы изменить параметр отчета, щелкните правой кнопкой мыши параметр отчета SalesOrderNumber и выберите Parameter Properties.
- В окне Report Parameter Properties слева выберите страницы Default Values.
- Выберите параметр Specify Values.
- Чтобы добавить значение по умолчанию, нажмите Add.
- В раскрывающемся списке Value замените текст на 43659.
Заказ на продажу 43659 – это значение, которое вы изначально будете использовать для тестирования дизайна отчета.
- Щелкните ОК.
- Сохраните отчет.
Теперь вы завершите дизайн области заголовка отчета, добавив текстовые поля для описания заказа на продажу.
Задача 4. Доработка макета заголовка отчета.
В этой задаче вы завершите дизайн области заголовка отчета, добавив текстовые поля.
- Чтобы добавить текстовое поле в область заголовка отчета, на вкладке ленты Insert внутри группы Report Items щелкните Text Box.
- Щелкните внутри области заголовка отчета непосредственно под текстовым полем заголовка отчета.
- Внутри текстового поля введите Sales Order: затем пробел.
- Чтобы вставить заполнитель, сразу после только что введенного пространства щелкните правой кнопкой мыши и выберите Create Placeholder.
- В окне Placeholder Properties справа от раскрывающегося списка Value нажмите кнопку fx.
Кнопка fx позволяет ввести собственное выражение. Это выражение будет использоваться для возврата номера заказа на продажу.
- В окне Expression в списке Category выберите Parameters.
- В списке Values дважды щелкните параметр SalesOrderNumber.
- В поле выражения обратите внимание, что была добавлена программная ссылка на параметр отчета SalesOrderNumber.
- Щелкните ОК.
- В окне Placeholder Properties нажмите ОК.
- Щелкните пустую область заголовка отчета, а затем выберите новое текстовое поле.
- На панели Properties настройте следующие свойства положения:
**Position |
Location |
Left** : 0 |
**Position |
Location |
Top** : 0.5 |
**Position |
Size |
Width** : 4 |
**Position |
Size |
Height** : 0.25 |
- Чтобы отформатировать часть текста текстового поля, внутри нового текстового поля выберите только текст Sales Order:
- На вкладке ленты Home в группе Font щелкните команду Bold.
- Добавьте еще одно текстовое поле в область заголовка отчета, а затем введите текст Reseller: и пробел.
* Совет: вы также можете добавить текстовое поле, щелкнув холст правой кнопкой мыши и выбрав ** Insert | Text Box*.
- После пробела вставьте заполнитель, а затем установите значение заполнителя для использования выражения.
- В окне Expression в списке Category выберите Datasets.
- Основывайте значение выражения на First(Reseller) значении.
- На панели Properties настройте следующие свойства положения:
**Position |
Location |
Left** : 0 |
**Position |
Location |
Top** : 0.75 |
**Position |
Size |
Width** : 4 |
**Position |
Size |
Height** : 0.25 |
- Отформатируйте Reseller: выделите жирным шрифтом.
- Добавьте третье (и последнее) текстовое поле в область заголовка отчета, а затем введите текст Order Date: и пробел.
- После пробела вставьте заполнитель и установите значение заполнителя, чтобы использовать выражение, основанное на категории Datasets, значение First(OrderDate).
- Чтобы отформатировать значение даты, в окне Placeholder Properties выберите страницу Number.
- В списке Category выберите Date.
- В списке Type выберите подходящий тип формата даты.
- В окне Placeholder Properties нажмите ОК.
- На панели Properties настройте следующие свойства положения:
**Position |
Location |
Left** : 0 |
**Position |
Location |
Top** : 1 |
**Position |
Size |
Width** : 4 |
**Position |
Size |
Height** : 0.25 |
- Отформатируйте Order Date: текст выделен жирным шрифтом.
- Наконец, щелкните пустую область в области заголовка отчета.
- На панели Properties установите для свойства Height значение 1,5.
- Убедитесь, что область заголовка отчета выглядит следующим образом:
- Сохраните отчет.
- Чтобы просмотреть отчет, на вкладке ленты Home в группе Views нажмите Run.
При запуске отчета, он отображается в формате HTML. Поскольку единственный параметр отчета имеет значение по умолчанию, отчет будет запущен автоматически.
- Убедитесь, что подготовленный отчет выглядит следующим образом:
- Чтобы вернуться в режим конструктора, на вкладке ленты Run в группе Views щелкните Design.
Теперь вы добавите таблицу в тело отчета для отображения форматированного макета строк заказа на продажу.
Задача 5: Добавить область данных таблицы
В этой задаче вы добавите в тело отчета область данных таблицы.
- На вкладке ленты Insert в группе Data Regions щелкните Table, а затем выберите Insert Table.
- Чтобы добавить таблицу, щелкните пустую область в теле отчета.
- На панели Properties настройте следующие свойства положения:
**Position |
Location |
Left** : 0 |
**Position |
Location |
Top** : 0 |
В таблице отобразится пять столбцов. По умолчанию шаблон таблицы включает только три столбца.
- Чтобы добавить столбец в таблицу, щелкните правой кнопкой мыши любую ячейку последнего столбца и выберите Insert Column | Right.
- Повторите последний шаг, чтобы добавить новый второй столбец.
- Наведите курсор на ячейку во второй строке первого столбца, чтобы появился значок выбора поля.
- Щелкните значок средства выбора поля, а затем выберите поле Line .
- Обратите внимание, что таблица теперь включает текстовое значение в первой строке (заголовке) и ссылку на поле в строке сведений.
- Добавьте поля в следующие четыре столбца в следующем порядке:
- Product
- Quantity
- UnitPrice
- Amount
- Убедитесь, что таблица выглядит следующим образом:
- Сохраните отчет.
- Просмотрите отчет.
Таблица включает заголовок и 12 строк строки заказа на продажу. Есть много улучшений, которые можно сделать, отформатировав макет таблицы.
В следующем задании вы:
- Отформатируете заголовок таблицы, используя цвет фона и жирный шрифт.
- Измените ширину столбцов, чтобы удалить лишнее пространство и предотвратить перенос длинных текстовых значений
- Выровняете по левому краю значения первого столбца
- Выровняете по правому краю последние три значения столбца
- Отформатируете значения валюты с помощью символа валюты (для долларов США)
- Добавите и отформатируете итоговую строку для таблицы
Задача 6. Отформатировать область данных таблицы
В этой задаче вы отформатируете область данных таблицы.
- Вернитесь к просмотру дизайна.
- Щелкните любую ячейку в таблице, чтобы открыть серые направляющие ячеек.
Направляющие для ячеек помогут вам настроить целые строки или столбцы.
- Чтобы отформатировать заголовок таблицы, щелкните направляющую строки заголовка.
При выборе строки или направляющей столбца выбираются все ячейки в строке или столбце. Каждая ячейка фактически является текстовым полем. Форматирование одного текстового поля или множественного выбора текстовых полей может быть выполнено с помощью панели Properties или команд ленты.
-
На панели Properties (или на ленте) настройте следующие свойства:
- Fill | BackgroundColor: темно-зеленый (совет: наведите курсор на каждый цвет, чтобы отобразить его название)
- Font | Color: белый
- Font | Font FontWeight: жирный
- Выберите первую направляющую столбца.
- На панели Properties установите для свойства Position | Size | Width значение 0,5.
- Установите ширину второго столбца равной 2,5.
- Удерживая нажатой клавишу Ctrl, выберите несколько последних текстовых полей заголовка столбца (Quantity, Unit Price и Amount).
- На панели Properties (или на ленте) установите для Alignment | TextAlign значение Right.
- Установите для текстового поля Line выравнивание по левому краю.
- На вкладке ленты Home внутри группы Number установите два последних подробных (не заголовка) текстовых поля (UnitPrice и Amount) для форматирования с использованием символа валюты.
- Чтобы добавить итоговую строку в таблицу, щелкните правой кнопкой мыши текстовое поле Quantity и выберите Add Total.
- Обратите внимание, что была добавлена новая строка, представляющая нижний колонтитул таблицы, и что выражение будет оценивать сумму значений Quantity .
- Повторите последний шаг, чтобы добавить итог для текстового поля Amount .
- В первой ячейке строки нижнего колонтитула таблицы введите слово Total.
- Отформатируйте все текстовые поля в строке нижнего колонтитула, чтобы они были выделены полужирным шрифтом.
- Убедитесь, что таблица выглядит следующим образом:
- Чтобы удалить любой конечный пробел после таблицы, наведите курсор на пунктирную линию между телом отчета и областью нижнего колонтитула отчета, а затем перетащите вверх, чтобы коснуться нижней части таблицы.
- Сохраните отчет.
- Просмотрите отчет.
- Убедитесь, что подготовленный отчет выглядит следующим образом:
- В поле параметра Sales Order Number замените значение на 51721.
- Чтобы повторно запустить отчет, справа нажмите View Report.
Этот заказ на продажу содержит 72 строки заказа на продажу, поэтому данные будут отображаться на многих страницах.
- Чтобы перейти на вторую страницу отчета, на вкладке ленты Run в группе Navigation нажмите Next.
- На странице 2 обратите внимание, что заголовок таблицы не отображается.
Вы рассмотрите этот вопрос в следующем задании.
- Прокрутите страницу вниз и обратите внимание, что в нижнем колонтитуле отчета отображается только время выполнения.
В следующем задании вы улучшите текст нижнего колонтитула, добавив номер страницы.
Задача 7: Завершить дизайн отчета
В этой задаче вы завершите дизайн отчета, обеспечив надлежащее отображение многостраничных отчетов.
- Переключитесь в режим просмотра дизайна.
- Чтобы заголовок таблицы повторялся на всех страницах, сначала выберите любое текстовое поле таблицы.
- На панели Grouping (расположенной в нижней части конструктора отчетов) в правом углу Column Groups щелкните стрелку вниз и выберите Advanced Mode.
- В разделе Row Groups выберите первую статическую группу.
Так вы выберете строку заголовка таблицы.
- На панели Properties установите для свойства Other | RepeatOnNewPage значение True.
Это гарантирует, что первая статическая группа (представляющая заголовок таблицы) будет повторяться на всех страницах.
- В области нижнего колонтитула таблицы щелкните правой кнопкой мыши текстовое поле ExecutionTime и выберите Expression.
- В окне Expression в поле выражения добавьте пробел, за которым следует & “ | Page “ &, чтобы получить следующее:
Скрипт VB
Code
=Globals!ExecutionTime & " | Page " &
- Убедитесь, что за последним амперсандом (&) следует пробел.
- В списке Category выберите Built-in Fields.
- Чтобы ввести значение номера страницы в выражение, в списке Item дважды щелкните PageNumber.
- Убедитесь, что полное выражение выглядит следующим образом:
- Щелкните ОК.
- Перетащите левую часть текстового поля, чтобы увеличить ширину до ширины страницы отчета.
Дизайн отчета завершен. Теперь, вы убедитесь, что ширина страницы установлена ровно на шесть дюймов, а также удалите значение параметра отчета по умолчанию.
- Чтобы выбрать текст отчета, щелкните правой кнопкой мыши любое текстовое поле таблицы и выберите Select | Body.
- Поскольку таблица заполняет все тело отчета, этот метод необходимо использовать для выбора тела отчета.
- На панели Properties убедитесь, что для свойства Position | Size | Width установлено значение 6.
Важно, чтобы ширина не превышала шести дюймов, так как при преобразовании в формат для печати таблица разбивается на несколько страниц.
- На панели Report Data откройте параметр отчета SalesOrderNumber .
- На странице Default Values выберите вариант No Default Value .
- Щелкните ОК.
- Сохраните отчет.
Задача 8: изучить окончательный отчет
В этой задаче вы просматриваете отчет в режиме макета печати.
- Просмотрите отчет.
- В поле параметра Sales Order Number введите значение 51721.
- На вкладке ленты Run в группе Print щелкните Print Layout.
Режим макета печати обеспечивает предварительный просмотр того, как будет выглядеть отчет при печати до строгого размера страницы.
- Перейдите на страницы 2 и 3.
В этой лабораторной работе вы не опубликуете отчет. Отчеты с разбивкой на страницы могут отображаться в службе Power BI, только если они хранятся в рабочей области на выделенной емкости и когда для этой емкости включена рабочая нагрузка отчетов с разбивкой на страницы. Этих требований не существует для класса.
**Position |
Location |
Left** : 0 |
**Position |
Location |
Top** : 0.5 |
**Position |
Size |
Width** : 4 |
**Position |
Size |
Height** : 0.25 |