在報表中使用參數
在使用者執行報表時,向使用者提示一個值或一組值,就可以在報表中使用參數來控制擷取的資料。 資料集查詢只會擷取使用者要求的資料。 您也可以在不會提示使用者輸入,但是可以用於作業 (例如資料篩選和動態鑽研) 的報表中新增隱藏和特殊參數。
Note
從 Microsoft Dynamics 365 Customer Engagement (on-premises) 傳遞的參數值最大長度為 2,000 個字元。 例如,如果您執行報表並透過進階尋找使用者介面建立資料篩選,則傳遞至篩選參數的結果篩選運算式不可超過 2,000 個字元。 您可以指定的參數數目沒有上限。 不過,您可能需要限制 URL 行的字串長度和參數數目,以符合特殊瀏覽器的需求。
新增參數
您可以將參數新增至報表以定義報表的個別參數、透過查詢傳遞資訊,或提供使用者設定的存取權,例如 CRM_CurrencySymbol
和 CRM_CurrencyPositivePattern
參數。
<ReportParameter> (英文) 是報表定義 (RDL) 檔中的一個元素,用來描述報表中的個別參數。 <QueryParameter> (英文) 包含隨查詢傳遞至資料來源的個別參數的相關資訊。 下列 XML 程式碼取自 [帳戶摘要] 報表的 RDL 檔,會示範如何使用 ReportParameter
和 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_ 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" 格式模式相關聯的月和日值的格式模式。 |