보고서에 매개 변수 사용
사용자가 보고서를 실행할 때 한 값 또는 값 집합을 사용자에게 물어 검색된 데이터를 제어하기 위해 보고서의 매개 변수를 사용합니다. 데이터 집합 쿼리는 사용자가 요청한 데이터만 검색합니다. 사용자에게 입력을 확인하지 않지만 데이터 필터링 및 동적 드릴스루 같은 작업에 사용할 수 있는 숨겨진 매개 변수 또는 특수 매개 변수를 보고서에서 추가할 수도 있습니다.
노트
Microsoft Dynamics 365 Customer Engagement (on-premises)에서 전달되는 매개 변수 값의 최대 길이는 2,000자입니다. 예를 들어 보고서를 실행하고 상세하기 찾기 사용자 인터페이스를 통해 데이터 필터를 만들 경우 필터 매개 변수로 전달되는 결과 필터 식은 2,000자를 초과할 수 없습니다. 지정할 수 있는 매개 변수 수에는 최대값 제한이 없습니다. 하지만 특정 브라우저의 요구 사항을 충족하도록 매개 변수 수와 URL 줄의 문자열 길이를 제한해야 할 수도 있습니다.
매개 변수 추가
CRM_CurrencySymbol
및 CRM_CurrencyPositivePattern
매개 변수와 같은 매개 변수를 보고서에 추가하여 보고서의 개별 매개 변수를 정의하거나, 쿼리를 통해 정보를 전달하거나, 사용자 설정에 대한 액세스를 제공할 수 있습니다.
<ReportParameter>는 보고서의 개별 매개 변수를 설명하는 데 사용되는 보고서 정의 파일(RDL)의 요소입니다. <QueryParameter>에는 쿼리의 일부로 데이터 원본에 전달되는 개별 매개 변수에 대한 정보가 들어 있습니다. 거래처 요약 보고서의 RDL 파일에서 가져온 다음 XML 코드는 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의 Report Designer에는 숨겨진 매개 변수에 대한 기본 제공 지원이 있습니다. 또한 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 |
"오후"(PM) 시간의 나타내는 지정자입니다. |
CRM_ShortDatePattern |
"d" 형식 패턴으로 연결되는 간단한 날짜 값의 형식 패턴입니다. |
CRM_LongDatePattern |
"D" 형식 패턴으로 연결되는 긴 날짜 값의 형식 패턴입니다. |
CRM_ShortTimePattern |
"t" 형식 패턴으로 연결되는 간단한 시간 값의 형식 패턴입니다. |
CRM_MonthDayPattern |
"m" 및 "M" 형식 패턴으로 연결되는 월 및 일 값의 형식 패턴입니다. |