Utilizzare i parametri nei report

Vengono utilizzati i parametri nei report per controllare i dati recuperati tramite la richiesta da parte dell'utente di un valore o di un set di valori quando l'utente esegue il report. La query del set di dati recupera solo i dati necessari all'utente. È inoltre possibile aggiungere i parametri nascosti e speciali nei report che non richiedano l'input da parte dell'utente, ma possono essere utilizzati per operazioni come il filtro dei dati e il drill-through dinamico.

Nota

La lunghezza massima dei valori dei parametri passato da Microsoft Dynamics 365 Customer Engagement (on-premises) è 2.000 caratteri. Ad esempio, se si esegue un report e si creare un filtro di dati tramite l'interfaccia utente della Ricerca avanzata, l'espressione del filtro risultante passata a un parametro per il filtro non può superare i 2.000 caratteri. Non esiste un limite massimo nel numero dei parametri che è possibile specificare. Tuttavia, è possibile limitare la lunghezza della stringa nella riga dell'URL e il numero di parametri per soddisfare i requisiti di un browser specifico.

Aggiunta parametri

È possibile aggiungere parametri a un report per definire i singoli parametri di un report, passare le informazioni tramite una query, o fornire l'accesso alle impostazioni utente, ad esempio i parametri CRM_CurrencySymbol e CRM_CurrencyPositivePattern.

<ReportParameter> è un elemento nel file RDL utilizzato per descrivere un parametro singolo nel report. In <QueryParameter> sono contenute informazioni su un singolo parametro passato all'origine dati come parte di una query. Il codice XML seguente viene estratto dal file RDL del report Riepilogo account illustra come utilizzare i parametri QueryParameter e ReportParameter.

<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>  

In questo esempio viene illustrato come utilizzare i parametri QueryParameter e ReportParameter nel report basato su 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>  

Parametri nascosti

La progettazione report in Visual Studio dispone di un supporto incorporato per i parametri nascosti. È inoltre possibile nascondere i parametri aggiungendo un prefisso CRM_ al nome dei parametri in un report. Per impostazione predefinita, i parametri con un prefisso CRM_ sono nascosti quando il report viene pubblicato. Quando si esegue il report, non viene richiesto di immettere i valori dei parametri per i parametri nascosti.

Parametri speciali

Nella tabella seguente sono indicati i parametri nascosti speciali che è possibile utilizzare nei report.

Parametro Descrizione
CRM_FilterText Contiene il valore del testo di filtro che un utente del report crea in modo interattivo nel Visualizzatore report quando l'utente esegue un report. Il parametro si trova in una casella di testo riepilogativa dei filtri disponibile nell'intestazione dl report. Il valore iniziale è impostato sul filtro predefinito.
CRM_URL Imposta l'URL dell'app. Utilizzare questo parametro quando si esegue il drill-through.
CRM_FilteredEntity Utilizzare in un'espressione query per abilitare il filtro preliminare dei dati (in Ricerca avanzata).

È necessario creare i parametri in un report prima di poter fare riferimento a questo. I valori di questi parametri speciali sono inseriti da Customer Engagement (on-premises) quando si esegue il report.

Parametri del formato aggiuntivi

Nella tabella seguente sono contenuti altri parametri che è possibile utilizzare nei report. Tra loro sono presenti i parametri che consentono di accedere alle informazioni relative alle impostazioni del numero utente. È possibile utilizzare questi valori per formattare e visualizzare i valori numerici. Questi parametri sono simili ai valori specificati in Classe NumberFormatInfo. Utilizzare questi parametri nei report personalizzati per formattare i dati in base alle impostazioni utente.

Parametro Descrizione
CRM_FullName Il nome completo dell'utente al nome del quale si sta eseguendo il report.
CRM_UserTimeZone Nome del fuso orario dell'utente, ad esempio, ora solare Pacifico.
CRM_UILanguageId Impostazioni locali correnti (LCID) dell'utente.
CRM_YearStartWeekCode La prima settimana dell'anno utilizzata nelle app Dynamics 365 for Customer Engagement.
CRM_WeekStartDayCode Il primo giorno della settimana utilizzato in Customer Engagement.
CRM_FiscalCalendarStart La data di inizio dell'anno fiscale utilizzata in Customer Engagement.
CRM_FiscalPeriodType Specifica come viene diviso l'anno fiscale, in trimestri, mesi, anni e così via.
CRM_FiscalYearDisplayCode Specifica la modalità di denominazione dell'anno fiscale, ovvero in base alla data di inizio o alla data di fine.
CRM_FiscalYearPeriodConnect Specifica come sono connessi l'anno fiscale e il periodo fiscale quando vengono visualizzati insieme.
CRM_FiscalYearFormat Specifica come verrà visualizzato il nome dell'anno fiscale.
CRM_FiscalPeriodFormat Specifica come verrà visualizzato il nome del periodo fiscale.
CRM_FiscalYearPrefixFormat Specifica se il prefisso è collegato all'anno fiscale quando viene visualizzato.
CRM_FiscalYearSuffixFormat Specifica se il suffisso è collegato all'anno fiscale quando viene visualizzato.
CRM_CurrencyDecimalPrecision La precisione decimale della valuta.
CRM_CurrencySymbol Il simbolo di valuta dell'organizzazione.
CRM_CurrencyPositivePattern Il modello del formato per i valori di valuta positivi.
CRM_CurrencyNegativePattern Il modello del formato per i valori di valuta negativi.
CRM_NumberDecimalDigits Il numero di posizioni decimali da utilizzare nei valori numerici.
CRM_NumberDecimalSeperator La stringa utilizzata come separatore decimale nei valori numerici.
CRM_NumberNegativePattern Il modello del formato per i valori numerici negativi.
CRM_NumberGroupSizes Il numero di cifre in ogni gruppo a sinistra dei decimali in valori numerici.
CRM_NumberGroupSeperator La stringa che separa i gruppi di cifre a sinistra dei decimali in valori numerici.
CRM_DateSeparator La stringa che separa i componenti di una data, ad esempio, anno, mese e giorno.
CRM_TimeSeparator La stringa che separa i componenti dell'ora, ad esempio, ora, minuti e secondi.
CRM_AMDesignator La stringa che separa i componenti dell'ora, ad esempio, ora, minuti e secondi
CRM_PMDesignator L'identificatore delle ore pomeridiane.
CRM_ShortDatePattern Il modello del formato per un valore di data breve associato al modello del formato "d".
CRM_LongDatePattern Il modello del formato per un valore di data lungo associato al modello del formato "D".
CRM_ShortTimePattern Il modello del formato per un valore di ora breve associato al modello del formato "t".
CRM_MonthDayPattern Il modello del formato per i valori di giorno e di mese associati ai modelli del formato "m" e "M".

Vedi anche

Guida alla creazione di report e analisi
Pubblicare report