다음을 통해 공유


보고서에 매개 변수 사용

사용자가 보고서를 실행할 때 한 값 또는 값 집합을 사용자에게 물어 검색된 데이터를 제어하기 위해 보고서의 매개 변수를 사용합니다. 데이터 집합 쿼리는 사용자가 요청한 데이터만 검색합니다. 사용자에게 입력을 확인하지 않지만 데이터 필터링 및 동적 드릴스루 같은 작업에 사용할 수 있는 숨겨진 매개 변수 또는 특수 매개 변수를 보고서에서 추가할 수도 있습니다.

노트

Microsoft Dynamics 365 Customer Engagement (on-premises)에서 전달되는 매개 변수 값의 최대 길이는 2,000자입니다. 예를 들어 보고서를 실행하고 상세하기 찾기 사용자 인터페이스를 통해 데이터 필터를 만들 경우 필터 매개 변수로 전달되는 결과 필터 식은 2,000자를 초과할 수 없습니다. 지정할 수 있는 매개 변수 수에는 최대값 제한이 없습니다. 하지만 특정 브라우저의 요구 사항을 충족하도록 매개 변수 수와 URL 줄의 문자열 길이를 제한해야 할 수도 있습니다.

매개 변수 추가

CRM_CurrencySymbolCRM_CurrencyPositivePattern 매개 변수와 같은 매개 변수를 보고서에 추가하여 보고서의 개별 매개 변수를 정의하거나, 쿼리를 통해 정보를 전달하거나, 사용자 설정에 대한 액세스를 제공할 수 있습니다.

<ReportParameter>는 보고서의 개별 매개 변수를 설명하는 데 사용되는 보고서 정의 파일(RDL)의 요소입니다. <QueryParameter>에는 쿼리의 일부로 데이터 원본에 전달되는 개별 매개 변수에 대한 정보가 들어 있습니다. 거래처 요약 보고서의 RDL 파일에서 가져온 다음 XML 코드는 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의 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" 형식 패턴으로 연결되는 월 및 일 값의 형식 패턴입니다.

참조

보고 및 분석 가이드
보고서 게시