Partilhar via


Utilizar parâmetros em relatórios

Pode utilizar parâmetros em relatórios para controlar os dados obtidos pedindo ao utilizador um valor ou um conjunto de valores quando este executa o relatório. A consulta de conjunto de dados obtém apenas os dados que forem pedidos pelo utilizador. Também pode adicionar parâmetros ocultos e especiais nos relatórios que não pedem informações ao utilizador, mas podem ser utilizados para operações, como filtragem de dados e exploração dinâmica.

Nota

O comprimento máximo dos valores dos parâmetro que são transmitidos do Microsoft Dynamics 365 Customer Engagement (on-premises) é 2.000 carateres. Por exemplo, se executar um relatório e criar um filtro de dados através da interface de utilizador de Localização Avançada, a expressão de filtro resultante que é transmitida para um parâmetro de filtro não pode exceder 2.000 carateres. Não existe limite máximo ao número de parâmetros que pode especificar. No entanto, poderá ter de limitar o comprimento da cadeia na linha de URL e número de parâmetros de modo a satisfazer os requisitos de um browser específico.

Adicionar parâmetros

Pode adicionar parâmetros a um relatório para definir os parâmetros individuais de um relatório, transmitir informações através de uma consulta ou fornecer acesso a definições do utilizador, como os parâmetros CRM_CurrencySymbol e CRM_CurrencyPositivePattern.

O <ReportParameter> é um elemento do ficheiro de definição de relatório (RDL) que é utilizado para descrever um parâmetro individual no relatório. O <QueryParameter> contém informações sobre um parâmetro individual que é transmitido para a origem de dados como parte de uma consulta. O seguinte código XML retirado do ficheiro RDL do relatório Resumo da Conta demonstra como utilizar 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 seguintes exemplos mostram como utilizar os parâmetros QueryParameter e ReportParameter num 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 Report Designer do Visual Studio possui suporte incorporado para parâmetros ocultos. Além disso, pode ocultar parâmetros adicionando um prefixo CRM_ ao nome do parâmetro num relatório. Por predefinição, os parâmetros com o prefixo CRM_ são ocultados quando o relatório é publicado. Quando executar o relatório, não lhe será pedido para introduzir valores para os parâmetros ocultos.

Parâmetros especiais

A tabela seguinte mostra os parâmetros ocultos especiais que pode utilizar nos relatórios.

Parâmetro Descrição
CRM_FilterText Contém o valor do texto do filtro que um utilizador de relatório cria interativamente no Visualizador de Relatórios quando executa um relatório. O parâmetro está numa caixa de texto de resumo de filtro que está localizada no cabeçalho do relatório. O valor inicial está definido como o filtro predefinido.
CRM_URL Defina o URL da aplicação. Utilize este parâmetro quando estiver a explorar.
CRM_FilteredEntity Utilize numa expressão de consulta para ativar a pré-filtragem de dados (através da Localização Avançada).

Tem de criar todos os parâmetros num relatório antes de poder referenciá-los. Os valores destes parâmetros especiais são preenchidos pelo Customer Engagement (on-premises) quando executar o relatório.

Parâmetros de formato adicionais

A tabela seguinte contém os parâmetros adicionais que pode utilizar nos relatórios. Entre eles estão parâmetros que fornecem acesso às informações de definições de Número do utilizador. Pode utilizar estes valores para formatar e apresentar os valores numéricos. Estes parâmetros são semelhantes às valores especificados na Classe NumberFormatInfo. Utilize estes parâmetros nos relatórios personalizados para formatar os dados de acordo com as definições do utilizador.

Parâmetro Descrição
CRM_FullName O nome completo do utilizador em cujo nome o relatório está em execução.
CRM_UserTimeZone Nome do fuso horário do utilizador, por exemplo, hora padrão do Pacífico.
CRM_UILanguageId Região (LCID) atual do utilizador.
CRM_YearStartWeekCode A primeira semana do ano utilizada nas aplicações Dynamics 365 for Customer Engagement.
CRM_WeekStartDayCode O primeiro dia da semana que é utilizado no Customer Engagement.
CRM_FiscalCalendarStart A data de início do ano fiscal que é utilizada no Customer Engagement.
CRM_FiscalPeriodType Especifica a forma como o ano fiscal está dividido — trimestralmente, mensalmente, anualmente e assim sucessivamente.
CRM_FiscalYearDisplayCode Especifica se o nome do ano fiscal é apresentado com base na data em que o ano fiscal inicia ou termina.
CRM_FiscalYearPeriodConnect Especifica como os nomes do ano fiscal e do período fiscal devem ser ligados quando apresentados em conjunto.
CRM_FiscalYearFormat Especifica como o nome do ano fiscal será apresentado.
CRM_FiscalPeriodFormat Especifica como o período fiscal será apresentado.
CRM_FiscalYearPrefixFormat Especifica se um prefixo é anexado ao ano fiscal quando o mesmo é apresentado.
CRM_FiscalYearSuffixFormat Especifica se um sufixo é anexado ao ano fiscal quando o mesmo é apresentado.
CRM_CurrencyDecimalPrecision A precisão decimal da moeda.
CRM_CurrencySymbol O símbolo de moeda da organização.
CRM_CurrencyPositivePattern O padrão de formato para os valores monetários positivos.
CRM_CurrencyNegativePattern O padrão de formato para os valores monetários negativos.
CRM_NumberDecimalDigits O número de casas decimais a utilizar no valores numéricos.
CRM_NumberDecimalSeperator A cadeia que é utilizada como um separador decimal nos valores numéricos.
CRM_NumberNegativePattern O padrão de formato para os valores numéricos negativos.
CRM_NumberGroupSizes O número de dígitos em cada grupo à esquerda do separador decimal nos valores numéricos.
CRM_NumberGroupSeperator A cadeia que separa os grupos de dígitos à esquerda do separador decimal nos valores numéricos.
CRM_DateSeparator A cadeia de carateres que separa os componentes de uma data, como ano, mês e dia.
CRM_TimeSeparator A cadeia de carateres que separa os componentes da hora, como hora, minutos e segundos.
CRM_AMDesignator A cadeia de carateres que separa os componentes da hora, como hora, minutos e segundos
CRM_PMDesignator O designador para horas que utilizam o formato "post meridiem" (PM).
CRM_ShortDatePattern O padrão de formato para um valor de data abreviada que está associado ao padrão de formato "d".
CRM_LongDatePattern O padrão de formato para um valor de data longa que está associado ao padrão de formato "D".
CRM_ShortTimePattern O padrão de formato para um valor de hora abreviada que está associado ao padrão de formato "t".
CRM_MonthDayPattern O padrão de formato padrão para valores do mês e dia que estão associados aos padrões de formato "m" e "M".

Consulte também

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