在報表中使用參數來控制檢索到的數據,方法是在使用者運行報表時提示使用者輸入一個值或一組值。 數據集查詢僅檢索使用者請求的數據。 您還可以在報表中添加隱藏參數和特殊參數,這些參數不會提示使用者輸入,但可用於數據篩選和動態鑽取等作。
備註
從 Microsoft Dynamics 365 Customer Engagement (on-premises) 傳入的參數值的最大長度為 2,000 個字符。 例如,如果您通過 Advanced Find (高級查找 ) 使用者介面運行報表並創建數據篩選條件,則傳遞給篩選條件參數的結果篩選條件表達式不能超過 2,000 個字元。 您可以指定的參數數量沒有最大限制。 但是,您可能必須限制 URL 行上字串的長度和參數的數量,以滿足特定瀏覽器的要求。
新增參數
您可以向報表添加參數,以定義報表的各個特定參數、透過查詢傳遞資訊,或提供存取用戶設置的權限,例如 CRM_CurrencySymbol
和 CRM_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
的報表中使用 QueryParameter
和 ReportParameter
參數。
<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" 格式模式相關聯的月和日值的格式模式。 |