Поделиться через


Выражения в Построитель отчетов Power BI

ОБЛАСТЬ ПРИМЕНЕНИЯ: Power BI построитель отчетов Power BI Desktop

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

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

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

При конструировании отчета многие выражения для элементов отчета будут уже заданы. Например, если перетащить поле с панели данных в ячейку таблицы в области конструктора отчета, в качестве значения текстового поля будет задано простое выражение для поля. На следующем рисунке в области данных отчета отображается идентификатор полей набора данных, имя, salesTerritory, Code и Sales. Три поля добавлены в таблицу: [Name], [Code]и [Sales]. Нотация [Name] на поверхности конструктора представляет базовое выражение =Fields!Name.Value.

Screenshot of Report Builder Design View.

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

Чтобы ввести выражения вручную, выберите элемент в области конструктора и с помощью контекстных меню и диалоговых окон задайте свойства этого элемента. Если присутствует кнопка (fx) или значение <Expression> в раскрывающемся списке, то для свойства можно задать выражение.

Общие сведения о простых и сложных выражениях

Выражения начинаются с знака равенства (=) и записываются в Microsoft Visual Basic. Они могут включать сочетание констант, операторов и ссылок на встроенные значения (поля, коллекции и функции), а также на внешний и пользовательский код.

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

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

  • Простое выражение содержит ссылку на один элемент в встроенной коллекции, например поле набора данных, параметр или встроенное поле. В области конструктора простое выражение отображается в скобках. Например, [FieldName] соответствует базовому выражению =Fields!FieldName.Value. Простые выражения создаются автоматически при создании макета отчета и перетаскивании элементов из области данных отчета в область конструктора. Дополнительные сведения о символах, представляющих различные встроенные коллекции, см. в разделе "Общие сведения о символах префикса" для простых выражений.

  • Сложное выражение: сложное выражение содержит ссылки на несколько встроенных ссылок, операторов и вызовов функций. Сложное выражение появляется, как <<Expr>> если значение выражения содержит больше простой ссылки. Для просмотра выражения наведите на него курсор и воспользуйтесь подсказкой. Чтобы изменить выражение, откройте его в диалоговом окне Выражение .

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

Screenshot of the expression default format.

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

Screenshot of expression sample values.

Общие сведения о символах префикса в простых выражениях

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

Товар Пример отображаемого текста Пример текста выражения
Поля набора данных [Sales]

[SUM(Sales)]

[FIRST(Store)]
=Fields!Sales.Value

=Sum(Fields!Sales.Value)

=First(Fields!Store.Value)
Параметры отчета [@Param]

[@Param.Label]
=Parameters!Param.Value

=Parameters!Param.Label
Встроенные поля [&ReportName] =Globals!ReportName.Value
Литеральные символы для отображения текста \[Sales\] [Sales]

Написание сложных выражений

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

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

Ссылки Description Пример
Константы Описывает константы для свойств, требующих постоянных значений, таких как цвет шрифта; к этим константам можно получить доступ в диалоговом режиме. ="Blue"
Операторы Описывает операторы, которые можно использовать для объединения ссылок в выражении. Например, оператор & используется для объединения строк. ="The report ran at: " & Globals!ExecutionTime & "."
Встроенные коллекции Описывает встроенные коллекции, которые можно включить в выражение, например Fields, Parametersи Variables. =Fields!Sales.Value

=Parameters!Store.Value

=Variables!MyCalculation.Value
Встроенные функции отчетов и агрегатных функций Описывает встроенные функции, такие как Sum и Previous, к которым можно получить доступ из выражения. =Previous(Sum(Fields!Sales.Value))
Пользовательские ссылки на код и сборки в выражениях в построитель отчетов Описывает, как получить доступ к встроенным классам CLR и xref:System.Convertдругим классам xref:System.Math СРЕДЫ CLR, функциям библиотеки времени выполнения Visual Basic или методам из внешней сборки.

Описывает, как получить доступ к пользовательскому коду, внедренному в отчет или скомпилированному и установленному в виде пользовательской сборки на клиент отчета и сервер отчетов.
=Sum(Fields!Sales.Value)

=CDate(Fields!SalesDate.Value)

=DateAdd("d",3,Fields!BirthDate.Value)

=Code.ToUSD(Fields!StandardCost.Value)

Проверка выражений

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

  • По умолчанию выражение [Sum] вычисляет сумму данных, которые область во время вычисления выражения. Для табличной ячейки область зависит от членства групп строк и столбцов.

  • Для значения свойства Font значение должно оцениваться по имени шрифта.

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

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