Compartilhar via


Usar parâmetros em relatórios

Use os parâmetros nos relatórios para controlar os dados recuperados, solicitando ao usuário um valor ou um conjunto de valores quando ele executar o relatório. A consulta do conjunto de dados recupera apenas os dados que são pedidos pelo usuário. Você também pode adicionar parâmetros especiais e ocultos nos relatórios que não solicitam o usuário pela entrada, mas pode ser usado para operações como filtragem de dados e detalhamento dinâmico.

Nota

O tamanho máximo dos valores de parâmetro passados no Microsoft Dynamics 365 Customer Engagement (on-premises) é de 2.000 caracteres. Por exemplo, se você executar um relatório e criar um filtro de dados na interface de usuário Localização Avançada, a expressão de filtragem resultante transmitida para um parâmetro de filtragem não pode exceder 2.000 caracteres. Não há limite máximo para o número de parâmetros que você pode especificar. Entretanto, você pode precisar limitar o tamanho da cadeia de caracteres na linha da URL e o número de parâmetros para atender aos requisitos do navegador específico.

Adicionando parâmetros

Você pode adicionar parâmetros a um relatório para definir os parâmetros individuais do relatório, transmitir informações através de uma consulta ou fornecer acesso às configurações do usuário, como parâmetros CRM_CurrencySymbol e CRM_CurrencyPositivePattern.

O <ReportParameter> é um elemento no arquivo de definição de relatório (RDL) que é usado para descrever um parâmetro individual no relatório. O <QueryParameter> contém informações sobre um parâmetro individual que é passado à fonte de dados como parte de uma consulta. O seguinte código XML levado do arquivo RDL do relatório Resumo da Conta demonstra como usar os parâmetros ReportParameter e 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>  

Os exemplos a seguir mostram como usar os parâmetros QueryParameter e ReportParameter em um relatório baseado em 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>  

Parâmetros ocultos

O Designer de Relatórios no Visual Studio tem suporte integrado para parâmetros ocultos. Você também pode ocultar parâmetros, adicionando um prefixo CRM_ ao nome do parâmetro em um relatório. Por padrão, os parâmetros com um prefixo CRM_ são ocultos quando o relatório é publicado. Ao executar o relatório, você não será solicitado a inserir valores de parâmetro para os parâmetros ocultos.

Parâmetros especiais

A tabela a seguir mostra os parâmetros ocultos especiais que podem ser usados nos relatórios.

Parâmetro Descrição
CRM_FilterText Contém o valor texto de filtro que um usuário de relatório cria interativamente no Visualizador de Relatórios quando o usuário executa um relatório. O parâmetro está em uma caixa de texto de resumo do filtro localizada no cabeçalho do relatório. O valor inicial é definido para o filtro padrão.
CRM_URL Definir a URL do aplicativo. Use esse parâmetro ao detalhar.
CRM_FilteredEntity Use em uma expressão de consulta para habilitar a pré-filtragem de dados (com a Localização Avançada).

Você precisa criar todos os parâmetros em um relatório antes de poder consultá-los. Os valores destes parâmetros especiais são preenchidos pelo Customer Engagement (on-premises) ao executar o relatório.

Parâmetros de formato adicionais

A tabela a seguir contém parâmetros adicionais que podem ser usados nos relatórios. Entre eles são os parâmetros que oferecem acesso às informações de configurações do Número do usuário. Você pode usar esses valores para formatar e exibir os valores numéricos. Esses parâmetros são semelhantes aos valores especificados na Classe NumberFormatInfo. Use esses parâmetros nos relatórios personalizados para formatar os dados de acordo com as configurações do usuário.

Parâmetro Descrição
CRM_FullName O nome completo do usuário em nome de quem o relatório está sendo executando.
CRM_UserTimeZone Nome de fuso horário do usuário, por exemplo, Horário Padrão do Pacífico.
CRM_UILanguageId Localidade atual (LCID) do usuário.
CRM_YearStartWeekCode A primeira semana do ano usada nos aplicativos do Dynamics 365 for Customer Engagement.
CRM_WeekStartDayCode O primeiro dia da semana usado no Customer Engagement.
CRM_FiscalCalendarStart A data de início do ano fiscal usado no Customer Engagement.
CRM_FiscalPeriodType Especifica como o ano fiscal é dividido, trimestral, mensal, anualmente, etc.
CRM_FiscalYearDisplayCode Especifica se o nome do ano fiscal será exibido com base em sua data de início ou de término.
CRM_FiscalYearPeriodConnect Especifica como o ano fiscal e o período fiscal são conectados ao exibir em conjunto.
CRM_FiscalYearFormat Especifica como o nome do ano fiscal será exibido.
CRM_FiscalPeriodFormat Especifica como o período fiscal será exibido.
CRM_FiscalYearPrefixFormat Especifica se um prefixo será anexado ao ano fiscal quando exibido.
CRM_FiscalYearSuffixFormat Especifica se um sufixo será anexado ao ano fiscal quando exibido.
CRM_CurrencyDecimalPrecision A precisão decimal da moeda.
CRM_CurrencySymbol O símbolo da moeda da organização.
CRM_CurrencyPositivePattern O padrão de formato para valores de moeda positivos.
CRM_CurrencyNegativePattern O padrão de formato para valores de moeda negativos.
CRM_NumberDecimalDigits O número de casas decimais a ser usado em valores numéricos.
CRM_NumberDecimalSeperator A cadeia de caracteres usada como o separador decimal em valores numéricos.
CRM_NumberNegativePattern O padrão de formato para valores de números negativos.
CRM_NumberGroupSizes O número de dígitos em cada grupo à esquerda dos decimais nos valores numéricos.
CRM_NumberGroupSeperator A cadeia de caracteres que separa os grupos de dígitos à esquerda dos decimais nos valores numéricos.
CRM_DateSeparator A cadeia de caracteres que separa os componentes de uma data, como ano e mês e dia.
CRM_TimeSeparator A cadeia de caracteres que separa os componentes de uma hora, como hora, minutos e segundos.
CRM_AMDesignator A cadeia de caracteres que separa os componentes de uma hora, como hora, minutos e segundos
CRM_PMDesignator O designador para as horas que são “post meridiem" (PM).
CRM_ShortDatePattern O padrão de formato para um valor de data curto associado com o padrão do formato “d”.
CRM_LongDatePattern O padrão de formato para um valor de data longo associado com o padrão do formato “D”.
CRM_ShortTimePattern O padrão de formato para um valor de hora curto associado com o padrão do formato “t”.
CRM_MonthDayPattern O padrão de formato para valores de mês e dia associados com os padrões de formato "m" e "M".

Veja também

Guia de Relatório e Análise
Publicar relatórios