다음을 통해 공유


Analysis Services 데이터베이스에 대한 확장 필드 속성(SSRS)

SQL Server Analysis Services 데이터 처리 확장 프로그램은 확장 필드 속성을 지원합니다. 확장 필드 속성은 데이터 원본에서 사용할 수 있고 데이터 처리 확장 프로그램에서 지원하는 필드 속성 ValueIsMissing 외에 속성입니다. 확장 속성은 보고서 데이터 세트에 대한 필드 컬렉션의 일부로 보고서 데이터 창에 표시되지 않습니다. 기본 제공 Fields 컬렉션을 사용하여 이름으로 지정하는 식을 작성하여 보고서에 확장 필드 속성 값을 포함할 수 있습니다.

확장 속성에는 미리 정의된 속성과 사용자 지정 속성이 포함됩니다. 미리 정의된 속성은 특정 필드 속성 이름에 매핑되고 이름으로 기본 제공 Fields 컬렉션을 통해 액세스할 수 있는 여러 데이터 원본에 공통적인 속성입니다. 사용자 지정 속성은 각 데이터 공급자에 한정되며 확장 속성 이름을 문자열로 사용하는 구문을 통해서만 기본 제공 Fields 컬렉션을 통해 액세스할 수 있습니다.

그래픽 모드에서 Analysis Services MDX 쿼리 디자이너를 사용하여 쿼리를 정의하면 미리 정의된 셀 속성 및 차원 속성 집합이 MDX 쿼리에 자동으로 추가됩니다. 보고서의 MDX 쿼리에 구체적으로 나열된 확장 속성만 사용할 수 있습니다. 보고서에 따라 큐브에 정의된 다른 차원 또는 사용자 지정 속성을 포함하도록 기본 MDX 명령 텍스트를 수정할 수 있습니다. Analysis Services 데이터 원본에서 사용할 수 있는 확장 필드에 대한 자세한 내용은 속성 값 만들기 및 사용(MDX)을 참조하세요.

보고서에서 필드 속성 작업

확장 필드 속성에는 미리 정의된 속성과 데이터 공급자 관련 속성이 포함됩니다. 필드 속성은 데이터 세트에 대해 빌드된 쿼리에 있더라도 보고서 데이터 창의 필드 목록과 함께 표시되지 않으므로 필드 속성을 보고서 디자인 화면으로 끌 수 없습니다. 대신 필드를 보고서로 끈 다음 필드의 Value 속성을 사용하려는 속성으로 변경해야 합니다. 예를 들어 큐브의 셀 데이터의 서식이 이미 지정된 경우 다음 식을 =Fields!FieldName.FormattedValue사용하여 FormattedValue 필드 속성을 사용할 수 있습니다.

미리 정의되지 않은 확장 속성을 참조하려면 식에서 다음 구문을 사용합니다.

  • 필드! FieldName("PropertyName")

미리 정의된 필드 속성

대부분의 경우 미리 정의된 필드 속성은 측정값, 수준 또는 차원에 적용됩니다. 미리 정의된 필드 속성에는 Analysis Services 데이터 원본에 저장된 해당 값이 있어야 합니다. 값이 없거나 수준에서 측정값 전용 필드 속성을 지정하는 경우(예:) 속성은 null 값을 반환합니다.

다음 구문 중 하나를 사용하여 식에서 미리 정의된 속성을 참조할 수 있습니다.

  • Fields!FieldName.PropertyName

  • 필드! FieldName("PropertyName")

다음 표에서는 사용할 수 있는 미리 정의된 필드 속성 목록을 제공합니다.

속성 Type 설명 또는 예상 값
Object 필드의 데이터 값을 지정합니다.
IsMissing 부울 필드가 결과 데이터 집합에 있는지 여부를 나타냅니다.
UniqueName String 수준의 정규화된 이름을 반환합니다. 예를 들어 직원의 UniqueName 값은 [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272]일 수 있습니다.
BackgroundColor String 필드의 데이터베이스에 정의된 배경색을 반환합니다.
String 항목의 데이터베이스에 정의된 전경색을 반환합니다.
FontFamily String 항목에 대해 데이터베이스에 정의된 글꼴 이름을 반환합니다.
FontSize String 항목의 데이터베이스에 정의된 글꼴의 포인트 크기를 반환합니다.
FontWeight String 항목의 데이터베이스에 정의된 글꼴의 가중치를 반환합니다.
FontStyle String 항목의 데이터베이스에 정의된 글꼴의 스타일을 반환합니다.
TextDecoration String 항목에 대해 데이터베이스에 정의된 특수 텍스트 서식을 반환합니다.
FormattedValue String 측정값 또는 키 그림의 서식이 지정된 값을 반환합니다. 예를 들어 Sales Amount QuotaFormattedValue 속성은 $1,124,400.00과 같은 통화 형식을 반환합니다.
Key Object 수준에 대한 키를 반환합니다.
LevelNumber 정수 부모-자식 계층의 경우 수준 또는 차원 번호를 반환합니다.
ParentUniqueName String 부모-자식 계층의 경우 부모 수준의 정규화된 이름을 반환합니다.

참고 항목

이러한 확장 필드 속성에 대한 값은 보고서가 실행되고 해당 데이터 세트의 데이터를 검색할 때 데이터 원본(예: Analysis Services 큐브)이 이러한 값을 제공하는 경우에만 존재합니다. 이러한 값이 존재하는 경우 다음 섹션에 설명된 구문을 사용하여 모든 식에서 해당 필드 속성 값을 참조할 수 있습니다. 그러나 이러한 필드는 이 데이터 공급자와 관련이 있으므로 이러한 값에 대한 변경 내용은 보고서 정의와 함께 저장되지 않습니다.

확장 속성 예제

확장 속성을 설명하기 위해 다음 MDX 쿼리 및 결과 집합에는 큐브에 대해 정의된 차원 특성에서 사용할 수 있는 여러 멤버 속성이 포함됩니다. 포함된 멤버 속성은 MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME 및 MEMBER_KEY.

이 MDX 쿼리는 AdventureWorks2022 샘플 데이터베이스에 포함된 AdventureWorks2022 DW 데이터베이스의 AdventureWorks2022 큐브에 대해 실행됩니다.

WITH MEMBER [Measures].[DateCaption]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION'   
   MEMBER [Measures].[DateUniqueName]   
      AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME'   
   MEMBER [Measures].[DateDayName]   
      AS '[Date].[Date].Properties("Day Name")'   
   MEMBER [Measures].[DateValueinOriginalDatatype]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE'   
   MEMBER [Measures].[DateParentUniqueName]   
      AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME'   
   MEMBER [Measures].[DateMemberKeyinOriginalDatatype]   
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY'   
SELECT {  
   [Measures].[DateCaption],   
   [Measures].[DateUniqueName],   
   [Measures].[DateDayName],   
   [Measures].[DateValueinOriginalDatatype],  
   [Measures].[DateParentUniqueName],  
   [Measures].[DateMemberKeyinOriginalDatatype]  
   } ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS   
FROM [Adventure Works]  
  

MDX 쿼리 창에서 이 쿼리를 실행하면 1158개 행이 포함된 결과 집합이 나타납니다. 처음 네 개의 행은 다음 표에 나와 있습니다.

DateCaption DateUniqueName DateDayName DateValueinOriginalDatatype DateParentUniqueName DateMemberKeyinOriginalDatatype
모든 기간 [날짜]. [날짜]. [모든 기간] (null) (null) (null) 0
7월 1일 [날짜]. [Date].&[1] 일요일 7/1/2001 [날짜]. [날짜]. [모든 기간] 1
2-Jul-01 [날짜]. [Date].&[2] 월요일 7/2/2001 [날짜]. [날짜]. [모든 기간] 2
3-7월 1일 [Date].[Date].&[3] 화요일 7/3/2001 [날짜]. [날짜]. [모든 기간] 3

그래픽 모드에서 MDX 쿼리 디자이너를 사용하여 빌드된 기본 MDX 쿼리에는 차원 속성에 대한 MEMBER_CAPTION 및 UNIQUENAME만 포함됩니다. 기본적으로 이러한 값은 항상 String데이터 형식입니다.

원래 데이터 형식에 멤버 속성이 필요한 경우 텍스트 기반 쿼리 디자이너에서 기본 MDX 문을 수정하여 추가 속성 MEMBER_VALUE를 포함할 수 있습니다. 다음 간단한 MDX 문에서 검색할 차원 속성 목록에 MEMBER_VALUE 추가되었습니다.

SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS,   
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) }   
DIMENSION PROPERTIES   
   MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS   
FROM [Adventure Works]  
CELL PROPERTIES   
   VALUE, BACK_COLOR, FORE_COLOR,   
   FORMATTED_VALUE, FORMAT_STRING,   
   FONT_NAME, FONT_SIZE, FONT_FLAGS  

다음 표에서는 MDX 결과 창에 나타나는 결과의 처음 4개 행을 보여 줍니다.

연도의 달 주문 수
1월 2,481
2월 2,684
3월 2,749
4월 2,739

속성이 MDX select 문의 일부임에도 불구하고 결과 집합 열에는 표시되지 않습니다. 그럼에도 불구하고 확장 속성 기능을 사용하여 보고서에 데이터를 사용할 수 있습니다. SQL Server Management Studio의 MDX 쿼리 결과 창에서 셀을 두 번 클릭하고 큐브에 설정된 경우 셀 속성 값을 볼 수 있습니다. 1,379가 포함된 첫 번째 Order Count 셀을 두 번 클릭하면 다음 셀 속성이 있는 팝업 창이 표시됩니다.

속성
CellOrdinal 0
2481
BACK_COLOR (null)
FORE_COLOR (null)
FORMATTED_VALUE 2,481
FORMAT_STRING #, #
FONT_NAME (null)
FONT_SIZE (null)
FONT_FLAGS (null)

이 쿼리를 사용하여 보고서 데이터 세트를 만들고 테이블에 바인딩하면 필드의 기본 VALUE 속성(예: =Fields!Month_of_Year!Value)을 볼 수 있습니다. 이 식을 테이블의 정렬 식으로 설정하면 값 필드에 문자열 데이터 형식이 사용되므로 결과를 월순으로 정렬합니다. 월이 연도에서 발생하는 순서대로, 즉 1월이 처음이고 12월이 마지막이 되도록 테이블을 정렬하려면 다음 식을 사용합니다.

=Fields!Month_of_Year("MEMBER_VALUE")  

이렇게 하면 데이터 원본에서 원래 정수 데이터 형식의 필드 값이 정렬됩니다.