Использование параметров в отчетах
Параметры в отчетах служат для управления полученными данными путем запроса у пользователя значения или набора значений, когда пользователь выполняет отчет. Запрос набора данных извлекает только данные, запрошенные пользователем. Можно также добавить в отчет скрытые или специальные параметры, которые не запрашивают ввода данных у пользователя, но могут использоваться для фильтрации данных и динамической сквозной детализации.
Заметка
Максимальная длина значений параметров, которые могут анализироваться из Microsoft Dynamics 365 Customer Engagement (on-premises), составляет 2000 символов. Например, если при запуске отчета создать фильтр данных с помощью пользовательского интерфейса Расширенный поиск, длина полученного выражения фильтра, которое передается к параметру фильтра, не может превышать 2000 знаков. Не существует ограничения на количество параметров, которые можно задать. Однако может потребоваться ограничить длину строки в строке URL-адреса и количество параметров, чтобы обеспечить удовлетворение требований определенного браузера.
Добавление параметров
Можно добавлять параметры в отчет для определения индивидуальных параметров отчета, для передачи данных через запрос или для предоставления доступа к параметрам пользователя, например к параметрам CRM_CurrencySymbol
и CRM_CurrencyPositivePattern
.
Элемент <ReportParameter> в файле определения отчета (RDL) служит для описания индивидуального параметра в отчете. Элемент <QueryParameter> содержит сведения о индивидуальном параметре, который передается в источник данных в составе запроса. Ниже приведен код XML, взятый из файла языка определения отчетов RDL для отчета "Сводка по организации", который показывает, как использовать параметры ReportParameter
и QueryParameter
.
<ReportParameter Name="CRM_FilteredAccount">
<DataType>String</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>select * from FilteredAccount</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>CRM_FilteredAccount</Prompt>
</ReportParameter>
<Query>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
<CommandText>declare @sql as nVarchar(max)
set @sql = '
SELECT top 10 CAST(accountid as nvarchar(100)) as AccountID,
name, '''' as None
FROM (' + @FilteredAccount + ') as fa'
exec(@sql)
</CommandText>
<QueryParameters>
<QueryParameter Name="@FilteredAccount">
<Value>=Parameters!FilteredAccount.Value</Value>
</QueryParameter>
</QueryParameters>
<DataSourceName>CRM</DataSourceName>
</Query>
Следующие примеры показывают, как использовать параметры QueryParameter
и ReportParameter
в отчете на основе языка Fetch
.
<ReportParameter Name="FilteredAccount">
<DataType>String</DataType>
<Prompt>Filtered Account</Prompt>
<DefaultValue>
<Values>
<Value>
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<all-attributes/>
</entity>
</fetch>
</Value>
</Values>
</DefaultValue>
</ReportParameter>
<Query>
<DataSourceName>DataSource1</DataSourceName>
<CommandText>
<fetch>
<entity name="account" enableprefiltering="true" prefilterparametername="FilteredAccount">
<attribute name="accountid" />
<attribute name="name" />
</entity>
</fetch>
</CommandText>
<QueryParameters>
<QueryParameter Name="FilteredAccount">
<Value>=Parameters!FilteredAccount.Value</Value>
</QueryParameter>
</QueryParameters>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
Скрытые параметры
Конструктор отчетов в Visual Studio содержит встроенную поддержку скрытых параметров. Кроме того, можно скрыть параметры, добавив префикс "CRM_" к имени параметра в отчете. По умолчанию параметры с префиксом "CRM_" становятся скрытыми при публикации отчета. При выполнении отчета пользователю не предлагается ввести значения для скрытых параметров.
Специальные параметры
В следующей таблице показаны специальные скрытые параметры, которые можно использовать в отчетах.
Параметр | Описание |
---|---|
CRM_FilterText |
Содержит значение текста фильтра, который пользователь отчета создает в интерактивном режиме в средстве просмотра отчетов во время выполнения отчета. Параметр находится в текстовом поле сводки фильтра, которое размещено в заголовке отчета. Исходное значение установлено на фильтр по умолчанию. |
CRM_URL |
Установите URL-адрес приложения. Используйте этот параметр при сквозной детализации. |
CRM_FilteredEntity |
Используйте в выражении запроса для включения предварительной фильтрации данных (через Расширенный поиск). |
Необходимо создать все параметры в отчете, чтобы можно было ссылаться на них. Значения этих специальных параметров заполняются Customer Engagement (on-premises) при выполнении отчета.
Дополнительные параметры формата
Следующая таблица содержит дополнительные параметры, которые можно использовать в отчетах. Среди них имеются параметры, предоставляющие доступ к данным пользователя о настройках чисел. Можно использовать эти значения для форматирования и отображения цифровых значений. Эти параметры аналогичны значениям, указанным в классе NumberFormatInfo. Используйте эти параметры в настраиваемых отчетах для форматирования данных в соответствии с параметрами пользователя.
Параметр | Описание |
---|---|
CRM_FullName |
Полное имя пользователя, от имени которого выполняется отчет. |
CRM_UserTimeZone |
Название часового пояса пользователя, например тихоокеанское стандартное время. |
CRM_UILanguageId |
Текущие региональные параметры (LCID) пользователя. |
CRM_YearStartWeekCode |
Первая неделя года, которая используется в приложениях Dynamics 365 for Customer Engagement. |
CRM_WeekStartDayCode |
Первый день недели, который используется в Customer Engagement. |
CRM_FiscalCalendarStart |
Дата начала финансового года, которая используется в Customer Engagement. |
CRM_FiscalPeriodType |
Указывает способ разделения финансового года: ежеквартально, ежемесячно, ежегодно и т. п. |
CRM_FiscalYearDisplayCode |
Указывает, отображается ли название финансового года на основе того, когда он начинается или когда он заканчивается. |
CRM_FiscalYearPeriodConnect |
Указывает, как следует связывать финансовый год и финансовый период при их совместном отображении. |
CRM_FiscalYearFormat |
Указывает, как будет отображаться наименование финансового года. |
CRM_FiscalPeriodFormat |
Указывает, как будет отображаться финансовый период. |
CRM_FiscalYearPrefixFormat |
Указывает, добавляется ли префикс к финансовому году при его отображении. |
CRM_FiscalYearSuffixFormat |
Указывает, добавляется ли суффикс к финансовому году при его отображении. |
CRM_CurrencyDecimalPrecision |
Точность дробной части валют. |
CRM_CurrencySymbol |
Обозначение денежной единицы организации. |
CRM_CurrencyPositivePattern |
Схема формата для положительных значений в валюте. |
CRM_CurrencyNegativePattern |
Схема формата для отрицательных значений в валюте. |
CRM_NumberDecimalDigits |
Количество десятичных знаков, используемых в числовых значениях. |
CRM_NumberDecimalSeperator |
Строка, которая используется в качестве десятичного разделителя в числовых значениях. |
CRM_NumberNegativePattern |
Схема формата для отрицательных числовых значений. |
CRM_NumberGroupSizes |
Количество цифр в каждой группе слева от десятичного разделителя в числовых значениях. |
CRM_NumberGroupSeperator |
Строка, которая разделяет группы цифр слева от десятичного разделителя в числовых значениях. |
CRM_DateSeparator |
Строка, которая разделяет компоненты даты, такие как год, месяц и день. |
CRM_TimeSeparator |
Строка, которая разделяет компоненты времени, такие как час, минуты и секунды. |
CRM_AMDesignator |
Строка, которая разделяет компоненты времени, такие как час, минуты и секунды |
CRM_PMDesignator |
Обозначение времени после полудня (PM). |
CRM_ShortDatePattern |
Схема формата для краткого значения даты, которое связано со схемой формата "d". |
CRM_LongDatePattern |
Схема формата для длинного значения даты, которое связано со схемой формата "D". |
CRM_ShortTimePattern |
Схема формата для краткого значения времени, которое связано со схемой формата "t". |
CRM_MonthDayPattern |
Схема формата для значений месяца и дня, которая связана со схемами форматов "m" и "M". |