共用方式為


在報表中使用參數

在使用者執行報表時,向使用者提示一個值或一組值,就可以在報表中使用參數來控制擷取的資料。 資料集查詢只會擷取使用者要求的資料。 您也可以在不會提示使用者輸入,但是可以用於作業 (例如資料篩選和動態鑽研) 的報表中新增隱藏和特殊參數。

Note

從 Microsoft Dynamics 365 Customer Engagement (on-premises) 傳遞的參數值最大長度為 2,000 個字元。 例如,如果您執行報表並透過進階尋找使用者介面建立資料篩選,則傳遞至篩選參數的結果篩選運算式不可超過 2,000 個字元。 您可以指定的參數數目沒有上限。 不過,您可能需要限制 URL 行的字串長度和參數數目,以符合特殊瀏覽器的需求。

新增參數

您可以將參數新增至報表以定義報表的個別參數、透過查詢傳遞資訊,或提供使用者設定的存取權,例如 CRM_CurrencySymbolCRM_CurrencyPositivePattern 參數。

<ReportParameter> (英文) 是報表定義 (RDL) 檔中的一個元素,用來描述報表中的個別參數。 <QueryParameter> (英文) 包含隨查詢傳遞至資料來源的個別參數的相關資訊。 下列 XML 程式碼取自 [帳戶摘要] 報表的 RDL 檔,會示範如何使用 ReportParameterQueryParameter 參數。

<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_ prefix 至參數名稱,藉此隱藏參數。 發行報表時,預設會隱藏具有 CRM_ prefix 的參數。 當您執行報表時,不會提示您輸入隱藏參數的參數值。

特殊參數

下表顯示可以在報表中使用的特殊隱藏參數。

參數 描述
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 表示「下午」(Post Meridiem,PM) 的小時指示項。
CRM_ShortDatePattern 與 "d" 格式模式相關聯的簡短日期值的格式模式。
CRM_LongDatePattern 與 "D" 格式模式相關聯的完整日期值的格式模式。
CRM_ShortTimePattern 與 "t" 格式模式相關聯的簡短時間值的格式模式。
CRM_MonthDayPattern 與 "m" 和 "M" 格式模式相關聯的月和日值的格式模式。

請參閱

報表與分析指南
發行報表