共用方式為


在報表中使用參數

在報表中使用參數來控制檢索到的數據,方法是在使用者運行報表時提示使用者輸入一個值或一組值。 數據集查詢僅檢索使用者請求的數據。 您還可以在報表中添加隱藏參數和特殊參數,這些參數不會提示使用者輸入,但可用於數據篩選和動態鑽取等作。

備註

從 Microsoft Dynamics 365 Customer Engagement (on-premises) 傳入的參數值的最大長度為 2,000 個字符。 例如,如果您通過 Advanced Find (高級查找 ) 使用者介面運行報表並創建數據篩選條件,則傳遞給篩選條件參數的結果篩選條件表達式不能超過 2,000 個字元。 您可以指定的參數數量沒有最大限制。 但是,您可能必須限制 URL 行上字串的長度和參數的數量,以滿足特定瀏覽器的要求。

新增參數

您可以向報表添加參數,以定義報表的各個特定參數、透過查詢傳遞資訊,或提供存取用戶設置的權限,例如 CRM_CurrencySymbolCRM_CurrencyPositivePattern

ReportParameter<> 是報表定義 (RDL) 檔中的一個元素,用於描述報表中的單個參數。 QueryParameter<> 包含有關作為查詢的一部分傳遞給數據源的單個參數的資訊。 以下 XML 代碼摘自 Account Summary 報告的 RDL 檔,演示了如何使用 ReportParameter and 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>  

以下示例說明如何在基於Fetch的報表中使用 QueryParameterReportParameter 參數。

<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 包含報表用戶在運行報表時在 Report Viewer 中以交互方式創建的篩選器文本的值。 該參數位於報表標題中的篩選器摘要文本框中。 初始值設置為預設篩選器。
CRM_URL 設定為應用程式的 URL。 進行鑽研時,請使用這個參數。
CRM_FilteredEntity 在查詢表達式中使用以啟用數據預篩選(通過 Advanced Find)。

您必須先在報表中創建所有參數,然後才能引用它們。 當您運行報表時,這些特殊參數的值將由 Customer Engagement (on-premises) 填入。

其他格式參數

下表包含您可以在報告中使用的其他參數。 其中包括提供存取使用者號碼設置資訊的參數。 您可以使用這些值來格式化和顯示數值。 這些參數類似於 NumberFormatInfo 類中指定的值。 在自訂報表中使用這些參數,以根據使用者設置設置數據格式。

參數 說明
CRM_FullName 執行報表的使用者完整名稱。
CRM_UserTimeZone 使用者的時區名稱,例如,太平洋標準時間。
CRM_UILanguageId 使用者的目前地區設定 (LCID)。
CRM_YearStartWeekCode Dynamics 365 for Customer Engagement 應用程式中使用的一年第一週。
CRM_WeekStartDayCode 客戶互動中所使用的一周的第一天。
CRM_FiscalCalendarStart Customer Engagement 中使用的會計年度的開始日期。
CRM_FiscalPeriodType 指定會計年度的劃分方式 - Quarterly、Monthly、Annually 等。
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 表示「下午」(Post Meridiem,PM) 的小時指示項。
CRM_ShortDatePattern 用於表示與「d」格式模式相關的短日期值的格式模式。
CRM_LongDatePattern 與 "D" 格式模式相關聯的完整日期值的格式模式。
CRM_ShortTimePattern 與 "t" 格式模式相關聯的簡短時間值的格式模式。
CRM_MonthDayPattern 與 "m" 和 "M" 格式模式相關聯的月和日值的格式模式。

另請參閱

報表與分析指南
發佈報告