SQL Server Analysis Services 데이터 처리 확장 프로그램은 확장 필드 속성을 지원합니다. 확장 필드 속성은 데이터 원본에서 사용할 수 있는 필드 속성Value 외에도, 데이터 처리 확장 프로그램에서 지원되는 추가 속성입니다IsMissing. 확장 속성은 보고서 데이터 세트에 대한 필드 컬렉션의 일부로 보고서 데이터 창에 표시되지 않습니다. 기본 제공 컬렉션을 사용하여 이름으로 지정하는 식을 작성하여 보고서에 확장 필드 속성 값을 포함할 수 있습니다 Fields .
확장 속성에는 미리 정의된 속성과 사용자 지정 속성이 포함됩니다. 미리 정의된 속성은 여러 데이터 원본에서 공통적으로 사용되는 속성으로, 특정 필드 속성 이름에 매핑되며 이름으로 Fields 기본 제공 컬렉션을 통해 액세스할 수 있습니다. 사용자 지정 속성은 각 데이터 공급자에 한정되며 확장 속성 이름을 문자열로 사용하는 구문을 통해서만 기본 제공 Fields 컬렉션을 통해 액세스할 수 있습니다.
그래픽 모드에서 Analysis Services MDX 쿼리 디자이너를 사용하여 쿼리를 정의하면 미리 정의된 셀 속성 및 차원 속성 집합이 MDX 쿼리에 자동으로 추가됩니다. 보고서의 MDX 쿼리에 특별히 나열된 확장 속성만 사용할 수 있습니다. 보고서에 따라 큐브에 정의된 다른 차원 또는 사용자 지정 속성을 포함하도록 기본 MDX 명령 텍스트를 수정할 수 있습니다. Analysis Services 데이터 원본에서 사용할 수 있는 확장 필드에 대한 자세한 내용은 MDX(속성 값 만들기 및 사용)를 참조하세요.
보고서에서 필드 속성 작업
확장 필드 속성에는 미리 정의된 속성 및 데이터 공급자별 속성이 포함됩니다. 필드 속성은 데이터 세트용으로 작성된 쿼리에 있더라도 보고서 데이터 창에 필드 목록과 함께 표시되지 않습니다. 따라서 필드 속성을 보고서 디자인 화면으로 끌 수 없습니다. 대신 필드를 보고서로 끌어온 다음, Value 필드의 속성을 사용하려는 속성으로 변경해야 합니다. 예를 들어 큐브의 셀 데이터의 서식이 이미 지정된 경우 다음 식을 =Fields!FieldName.FormattedValue사용하여 FormattedValue 필드 속성을 사용할 수 있습니다.
미리 정의되지 않은 확장 속성을 참조하려면 식에서 다음 구문을 사용합니다.
- 필드!FieldName("PropertyName")
미리 정의된 필드 속성
대부분의 경우 미리 정의된 필드 속성은 측정값, 수준 또는 차원에 적용됩니다. 미리 정의된 필드 속성에는 Analysis Services 데이터 원본에 저장된 해당 값이 있어야 합니다. 값이 없거나 수준에서 측정값 전용 필드 속성을 지정하는 경우(예:) 속성은 null 값을 반환합니다.
다음 구문 중 하나를 사용하여 식에서 미리 정의된 속성을 참조할 수 있습니다.
필드!FieldName.PropertyName
필드!FieldName("PropertyName")
다음 표에서는 사용할 수 있는 미리 정의된 필드 속성 목록을 제공합니다.
| 재산 | 유형 | 설명 또는 예상 값 |
|---|---|---|
Value |
Object |
필드의 데이터 값을 지정합니다. |
IsMissing |
Boolean |
결과 데이터 집합에서 필드가 발견되었는지 여부를 나타냅니다. |
UniqueName |
String |
수준의 정규화된 이름을 반환합니다. 예를 들어, 직원의 값은 UniqueName[직원].[직원 부서].[Department].&[Sales].&[North American Sales Manager].&[272]일 수 있습니다. |
BackgroundColor |
String |
필드의 데이터베이스에 정의된 배경색을 반환합니다. |
Color |
String |
항목의 데이터베이스에 정의된 전경색을 반환합니다. |
FontFamily |
String |
항목의 데이터베이스에 정의된 글꼴의 이름을 반환합니다. |
FontSize |
String |
항목의 데이터베이스에 정의된 글꼴의 포인트 크기를 반환합니다. |
FontWeight |
String |
항목의 데이터베이스에 정의된 글꼴의 가중치를 반환합니다. |
FontStyle |
String |
항목의 데이터베이스에 정의된 글꼴의 스타일을 반환합니다. |
TextDecoration |
String |
항목의 데이터베이스에 정의된 특수 텍스트 서식을 반환합니다. |
FormattedValue |
String |
측정값 또는 주요 지표의 형식이 지정된 값을 반환합니다. 예를 들어 Sales Amount Quota 속성은 FormattedValue $1,124,400.00과 같은 통화 형식을 반환합니다. |
Key |
Object |
수준에 대한 키를 반환합니다. |
LevelNumber |
Integer |
부모-자식 계층의 경우 수준 또는 차원 번호를 반환합니다. |
ParentUniqueName |
String |
부모-자식 계층의 경우 부모 수준의 정규화된 이름을 반환합니다. |
비고
이러한 확장 필드 속성에 대한 값은 보고서가 실행되고 해당 데이터 세트의 데이터를 검색할 때 데이터 원본(예: Analysis Services 큐브)이 이러한 값을 제공하는 경우에만 존재합니다. 그런 다음, 다음 섹션에 설명된 구문을 사용하여 식에서 해당 필드 속성 값을 참조할 수 있습니다. 그러나 이러한 필드는 이 데이터 공급자와 관련이 있으므로 이러한 값에 대한 변경 내용은 보고서 정의와 함께 저장되지 않습니다.
확장 속성 예제
확장 속성을 설명하기 위해 다음 MDX 쿼리 및 결과 집합에는 큐브에 대해 정의된 차원 특성에서 사용할 수 있는 여러 멤버 속성이 포함됩니다. 포함된 멤버 속성은 MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME 및 MEMBER_KEY.
이 MDX 쿼리는 AdventureWorks2012 샘플 데이터베이스에 포함된 AdventureWorks2012 DW 데이터베이스의 AdventureWorks2012 큐브에 대해 실행됩니다.
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 | 고유이름날짜 | 날짜 및 요일 이름 | 원래 데이터 유형의 날짜 값 | DateParentUniqueName | DateMemberKeyinOriginalDatatype |
|---|---|---|---|---|---|
| 모든 기간 | [날짜]. [날짜]. [모든 기간] | (null) | (null) | (null) | 0 |
| 2001년 7월 1일 | [날짜]. [Date].&[1] | 일요일 | 7/1/2001 | [날짜], [날짜], [전체 기간] | 1 |
| 2001년 7월 2일 | [날짜]. [Date].&[2] | 월요일 | 7/2/2001 | [날짜]. [날짜]. [모든 기간] | 2 |
| 2001년 7월 3일 | [날짜]. [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 |
| 배경색 | (null) |
| 전경 색상 | (null) |
| FORMATTED_VALUE | 2,481 |
| FORMAT_STRING | #, # |
| FONT_NAME | (null) |
| 글꼴 크기 | (null) |
| 글꼴_플래그 | (null) |
이 쿼리를 사용하여 보고서 데이터 세트를 만들고 데이터 세트를 테이블에 바인딩하는 경우 필드의 기본 VALUE 속성(예 =Fields!Month_of_Year!Value: )을 볼 수 있습니다. 이 식을 테이블의 정렬 식으로 설정하면 값 필드가 데이터 형식을 사용 String 하므로 결과를 월순으로 정렬합니다. 월이 1월 첫 번째 및 12월 마지막 연도에서 발생하는 순서대로 정렬되도록 테이블을 정렬하려면 다음 식을 사용합니다.
=Fields!Month_of_Year("MEMBER_VALUE")
이렇게 하면 데이터 원본에서 원래 정수 데이터 형식의 필드 값이 정렬됩니다.
또한 참조하십시오
식(보고서 작성기 및 SSRS)
식의 기본 제공 컬렉션(보고서 작성기 및 SSRS)
데이터 세트 필드 컬렉션(보고서 작성기 및 SSRS)