SQL Server Analysis Services의 새로운 기능

적용 대상: SQL Server Analysis Services Azure Analysis Services 패브릭/Power BI Premium

이 문서에서는 최신 버전의 SSAS(SQL Server Analysis Services)의 새로운 기능, 개선 사항, 사용되지 않는 기능 및 중단된 기능, 동작 및 호환성이 손상되는 변경 내용을 요약합니다.

SQL Server 2022 Analysis Services

CU1(누적 업데이트 1)

암호화 업그레이드

이 업데이트에는 스키마 쓰기 작업 암호화 알고리즘의 향상된 기능이 포함되어 있습니다. 이러한 향상된 기능을 사용하려면 테이블 형식 및 다차원 모델 데이터베이스를 업그레이드하여 적절한 암호화를 보장해야 할 수 있습니다. 자세한 내용은 암호화 업그레이드를 참조하세요.

일반 공급(GA)

수평 융합

이 버전에서는 결과를 생성하고 반환하는 데 필요한 데이터 원본 쿼리 수를 줄이기 위한 쿼리 실행 계획 최적화인 Horizontal Fusion이 도입되었습니다. 여러 개의 작은 데이터 원본 쿼리가 더 큰 데이터 원본 쿼리에 함께 융합됩니다. 데이터 원본 쿼리가 적다는 것은 큰 데이터 원본에 대한 왕복이 줄어들고 비용이 많이 드는 검사가 적다는 것을 의미하며, 이로 인해 DAX 성능이 크게 향상되고 데이터 원본의 처리 수요가 줄어듭니다. DAX 쿼리는 특히 DirectQuery 모드에서 Horizontal Fusion을 사용하여 더 빠르게 실행됩니다. 또한 확장성도 향상됩니다.

DirectQuery에 대한 병렬 실행 계획

이 향상된 기능을 통해 Analysis Services 엔진은 DirectQuery 데이터 원본에 대한 DAX 쿼리를 분석하고 독립적인 스토리지 엔진 작업을 식별할 수 있습니다. 그런 다음 엔진은 데이터 원본에 대해 이러한 작업을 병렬로 실행할 수 있습니다. Analysis Services 엔진은 병렬로 작업을 실행하여 큰 데이터 원본이 제공할 수 있는 확장성을 활용하여 쿼리 성능을 향상시킬 수 있습니다. 쿼리 처리에 데이터 원본의 과부하가 발생하지 않도록 하려면 MaxParallelism 속성 설정을 사용하여 병렬 작업에 사용할 수 있는 고정된 수의 스레드를 지정합니다.

Power BI DirectQuery 의미 체계 모델 지원

이 버전에서는 SQL Server 2022 Analysis Services 모델에 대한 DirectQuery 연결이 있는 Power BI 모델에 대한 지원을 소개합니다. 2022년 5월 이상 버전의 Power BI Desktop 사용하는 데이터 모델러 및 보고서 작성자는 이제 Power BI 모델, Azure Analysis Services 및 현재 SSAS 2022에서 가져온 다른 데이터와 DirectQuery 데이터를 결합할 수 있습니다.

자세한 내용은 의미 체계 모델 및 Analysis Services에 DirectQuery 사용을 참조하세요. | Power BI 설명서.

MDX 쿼리 성능

Power BI에서 처음 도입되었으며 이제 SSAS 2022에서 MDX Fusion에는 MDX 쿼리당 SE(스토리지 엔진) 쿼리 수를 줄이는 FE(수식 엔진) 최적화가 포함되어 있습니다. MDX(다차원 식)를 사용하여 Microsoft Excel과 같은 모델/데이터 세트 데이터를 쿼리하는 클라이언트 애플리케이션은 향상된 쿼리 성능을 볼 수 있습니다. 이제 일반적인 MDX 쿼리 패턴에는 다른 세분성을 지원하기 위해 이전에 수많은 SE 쿼리가 필요한 SE 쿼리가 더 적습니다. SE 쿼리가 적다는 것은 대형 모델에 비해 비용이 많이 드는 검사가 적다는 것을 의미하며, 특히 직접 쿼리 모드에서 테이블 형식 모델에 연결할 때 성능이 크게 향상됩니다.

자세한 내용은 Power BI에서 향상된 MDX 쿼리 성능 발표 | Microsoft Power BI 블로그.

리소스 거버넌스

이 버전에는 QueryMemoryLimit 서버 메모리 속성 및 DbpropMsmdRequestMemoryLimit 연결 문자열 속성에 대한 정확도가 향상되었습니다.

SSAS 2019에서 처음 도입된 QueryMemoryLimit 서버 메모리 속성은 쿼리 처리 중에 중간 DAX 쿼리 결과가 만들어지는 메모리 스풀에만 적용됩니다. 이제 SSAS 2022에서는 MDX 쿼리에도 적용되어 모든 쿼리를 효과적으로 다룹니다. 처리 비용이 많이 드는 쿼리를 더 잘 제어하여 상당한 구체화를 수행할 수 있습니다. 쿼리가 지정된 제한에 도달하면 엔진은 쿼리를 취소하고 호출자에게 오류를 반환하여 다른 동시 사용자에게 미치는 영향을 줄입니다.

클라이언트 애플리케이션은 DbpropMsmdRequestMemoryLimit 연결 문자열 속성을 지정하여 쿼리당 허용되는 메모리를 추가로 줄일 수 있습니다. Kbytes에 지정된 이 속성은 연결에 대한 QueryMemoryLimit 서버 메모리 속성 값을 재정의합니다.

쿼리 인터리빙 - 빠른 취소가 있는 짧은 쿼리 바이어스

이 버전에서는 Threadpool\SchedulingBehavior 속성 설정에 대해 빠른 취소가 있는 짧은 쿼리 바이어 스를 지정하는 새 값을 도입했습니다. 이 속성 설정은 동시성이 높은 시나리오에서 사용자 쿼리 응답 시간을 개선합니다. 자세한 내용은 쿼리 인터리빙 - 구성을 참조하세요.

테이블 형식 모델 1600 호환성 수준

이 버전에서는 테이블 형식 모델에 대한 1600 호환성 수준을 도입했습니다. 1600 호환성 수준은 Power BI 및 Azure Analysis Services 최신 기능과 일치합니다.

SSAS 2022에서 사용되지 않는 기능

이 버전에서는 더 이상 사용되지 않는 기능이 발표되지 않습니다.

SSAS 2022에서 지원되지 않는 기능

이 버전에서는 다음 기능이 지원되지 않습니다 .

모드/범주 기능
테이블 형식 1100 및 1103 호환성 수준
다차원 데이터 마이닝
파워 피벗 모드 SharePoint용 PowerPivot

SSAS 2022의 호환성이 손상되는 변경

테이블 형식 모델 1100 및 1103 호환성 수준은 이 버전에서 중단됩니다. 호환성이 손상되는 변경을 방지하려면 이전 SSAS 버전을 SSAS 2022로 업그레이드하기 전에 모델을 1200 호환성 수준으로 업그레이드합니다.

SSAS 2022의 동작 변경

이 버전에는 동작이 변경되지 않습니다.

SQL Server 2019 Analysis Services

SQL Server 2019 Analysis Services CU 5

SQL Server Analysis Services 누적 업데이트는 SQL Server 누적 업데이트에 포함됩니다. 최신 누적 업데이트에 대해 자세히 알아보고 다운로드하려면 SQL Server 2019 최신 누적 업데이트를 참조하세요. 누적 업데이트 KB 페이지에는 SSAS를 비롯한 모든 SQL Server 기능에 대한 알려진 문제, 개선 사항 및 수정 사항이 요약되어 있습니다. SSAS의 주요 기능 업데이트에 대한 자세한 내용은 여기에 설명되어 있습니다.

다차원 모델용 SuperDAX(SuperDAXMD)

CU5를 사용하면 DAX 기반 클라이언트가 이제 다차원 모델에 대해 SuperDAX 함수 및 쿼리 패턴을 사용하여 모델 데이터를 쿼리할 때 향상된 성능을 제공할 수 있습니다. SuperDAX는 Power BI 및 SQL Server Analysis Services 2016을 사용하여 테이블 형식 모델에 대한 DAX 쿼리 최적화를 처음 도입했습니다. SuperDAXMD는 이제 다차원 모델에 이러한 개선 사항을 제공합니다.

Power BI 블로그에 대한 별도의 공지에는 Power BI 사용자가 최신 버전의 Power BI Desktop 다운로드하여 이 다차원 모델 성능 향상을 활용할 수 있는 방법을 강조 표시합니다. Power BI는 최적화된 SuperDAX 쿼리를 자동으로 생성하므로 Power BI 서비스의 기존 대화형 보고서는 추가 단계 없이도 이점을 얻을 수 있습니다. Power BI는 SuperDAX 지원을 통해 다차원 모델에 대한 연결을 자동으로 검색하고 테이블 형식 모델에 대해 이미 사용하는 것과 동일한 최적화된 DAX 함수 및 쿼리 패턴을 사용합니다. Power BI는 자동으로 SuperDAXMD로 전환할 수 있지만 고유한 비즈니스 인텔리전스 솔루션에서 DAX 쿼리 패턴을 수동으로 최적화해야 할 수 있습니다.

최적화된 쿼리 패턴은 SUMMARIZECOLUMNS 함수를 사용하여 덜 효율적인 표준 SUMMARIZE 함수를 대체해야 합니다. DAX 변수 VAR을 사용하여 정의 위치에서 식을 한 번만 계산한 다음, 계산을 다시 수행할 필요 없이 다른 DAX 식에서 결과를 다시 사용합니다. 기타 및 덜 일반적인 SuperDAX 함수는 SUBSTITUTEWITHINDEX, ADDMISSINGITEMS뿐만 아니라 NATURALLEFTOUTERJOINNATURALINNERJOIN, ISONORAFTERGROUPBY입니다. SELECTCOLUMNSUNION 도 SuperDAX 함수입니다.

DAX가 다차원 모델에서 작동하는 방식과 알아야 할 중요한 패턴 및 제약 조건에 대해 자세히 알아보려면 다차원 모델에 대한 DAX를 참조하세요.

SQL Server 2019 Analysis Services GA(일반 공급)

테이블 형식 모델 호환성 수준

이 릴리스에서는 테이블 형식 모델에 대한 1500 호환성 수준을 소개합니다.

쿼리 인터리빙

쿼리 인터리빙은 고급 동시성 시나리오에서 사용자 쿼리 응답 시간을 향상시킬 수 있는 테이블 형식 모드 시스템 구성입니다. 짧은 쿼리 바이어스를 사용하여 쿼리 인터리빙을 사용하면 동시 쿼리가 CPU 리소스를 공유할 수 있습니다. 자세한 내용은 쿼리 인터리빙을 참조하세요.

테이블 형식 모델의 계산 그룹

계산 그룹은계산 항목으로 일반적인 측정값 식을 그룹화하여 중복 측정값 수를 크게 줄일 수 있습니다. 계산 그룹은 보고하는 클라이언트에 단일 열이 있는 테이블로 표시됩니다. 열의 각 값은 모든 측정값에 적용할 수 있는 재사용 가능한 계산 또는 계산 항목을 나타냅니다. 계산 그룹에는 임의 개수의 계산 항목이 포함될 수 있습니다. 각 계산 항목은 DAX 식으로 정의됩니다. 자세한 내용은 계산 그룹을 참조하세요.

Power BI 캐시 새로 고침에 대한 거버넌스 설정

ClientCacheRefreshPolicy 속성 설정은 이제 SSAS 2019 이상에서 지원됩니다. 이 속성 설정은 이미 Azure Analysis Services 사용할 수 있습니다. Power BI 서비스 Live Connect 보고서의 초기 로드를 위해 타일 데이터 및 보고서 데이터를 dashboard 캐시하므로 과도한 수의 캐시 쿼리가 엔진에 제출되고 극단적인 경우 서버가 오버로드됩니다. ClientCacheRefreshPolicy 속성을 사용하면 서버 수준에서 이 동작을 재정의할 수 있습니다. 자세히 알아보려면 일반 속성을 참조하세요.

온라인 연결

이 기능은 테이블 형식 모델을 온라인 작업으로 연결하는 기능을 제공합니다. 온라인 연결 기능은 온-프레미스 쿼리 스케일 아웃 환경에서 읽기 전용 복제본을 동기화하는 데 사용할 수 있습니다. 온라인 연결 작업을 수행하려면 XMLA 연결 명령의 AllowOverwrite 옵션을 사용합니다.

AllowOverwrite

이 작업을 수행하려면 새 버전을 로드하는 동안 이전 버전을 온라인 상태로 유지하기 위해 2배의 모델 메모리가 필요할 수 있습니다.

일반적인 사용 패턴은 다음과 같을 수 있습니다.

  1. DB1(버전 1)은 읽기 전용 서버 B에 이미 연결되어 있습니다.

  2. DB1(버전 2)은 쓰기 서버 A에서 처리됩니다.

  3. DB1(버전 2)은 분리된 후 서버 B에서 액세스할 수 있는 위치에 배치됩니다(공유 위치를 통해 또는 robocopy 등을 사용하여).

  4. <AllowOverwrite=True를 사용하여 연결> 명령은 DB1(버전 2)의 새 위치와 함께 서버 B에서 실행됩니다.

이 기능이 없으면 관리자는 먼저 데이터베이스를 분리한 다음, 새 버전의 데이터베이스를 연결해야 합니다. 이 경우 사용자가 데이터베이스를 사용할 수 없는 경우 가동 중지 시간이 발생하고 이에 대한 쿼리는 실패합니다.

이 새 플래그를 지정하면 데이터베이스의 버전 1이 가동 중지 시간 없이 동일한 트랜잭션 내에서 원자적으로 삭제됩니다. 그러나 두 데이터베이스를 메모리에 동시에 로드하는 비용이 발생합니다.

테이블 형식 모델의 다 대 다 관계

이렇게 개선하면 두 열이 모두 고유하지 않은 테이블 간에 다대다 관계를 사용할 수 있습니다. 차원의 키 열보다 높은 세분성의 차원 및 팩트 테이블 간에 관계를 정의할 수 있습니다. 이렇게 하면 결과 모델에는 논리적으로 그룹화된 열이 있는 테이블 수가 더 적기 때문에 차원 테이블을 정규화하지 않아도 되고 사용자 환경을 개선할 수 있습니다.

다대다 관계에는 모델이 1500 이상 호환성 수준에 있어야 합니다. Analysis Services 프로젝트 VSIX 업데이트 2.9.2 이상, TOM(테이블 형식 개체 모델) API, TMSL(테이블 형식 모델 스크립팅 언어) 및 오픈 소스 테이블 형식 편집기 도구를 사용하여 Visual Studio 2019를 사용하여 다대다 관계를 만들 수 있습니다.

리소스 거버넌스에 대한 메모리 설정

다음 속성 설정은 향상된 리소스 거버넌스를 제공합니다.

  • Memory\QueryMemoryLimit - 이 메모리 속성은 모델에 제출된 DAX 쿼리에서 생성된 메모리 스풀을 제한하는 데 사용할 수 있습니다.
  • DbpropMsmdRequestMemoryLimit - 이 XMLA 속성은 연결용 Memory\QueryMemoryLimit 서버 속성 값을 재정의하는 데 사용할 수 있습니다.
  • OLAP\Query\RowsetSerializationLimit - 이 서버 속성은 행 집합에서 반환되는 행 수를 제한하여 광범위한 데이터 내보내기 사용으로부터 서버 리소스를 보호합니다. 이 속성은 DAX 쿼리 및 MDX 쿼리 둘 다에 적용됩니다.

이러한 속성은 최신 버전의 SSMS(SQL Server Management Studio)를 사용하여 설정할 수 있습니다. 이러한 설정은 이미 Azure Analysis Services 사용할 수 있습니다.

SSAS 2019에서 사용되지 않는 기능

이 릴리스에서는 더 이상 사용되지 않는 기능이 발표되지 않습니다.

SSAS 2019에서 지원되지 않는 기능

이 릴리스에서 발표된 중단된 기능은 없습니다.

SSAS 2019의 호환성이 손상되는 변경

이 릴리스에는 호환성이 손상되는 변경 내용 이 없습니다.

SSAS 2019의 동작 변경

이 릴리스에는 동작이 변경되지 않습니다.

SQL Server 2017 Analysis Services

SQL Server 2017 Analysis Services는 2012년 SQL Server 이후 가장 중요한 개선 사항 중 일부를 확인합니다. 테이블 형식 모드(SQL Server 2012 Analysis Services에서 처음 도입됨)의 성공을 기반으로 하는 이 릴리스는 테이블 형식 모델을 그 어느 때보다 강력하게 만듭니다.

다차원 모드 및 SharePoint용 파워 피벗 모드는 많은 Analysis Services 배포의 주요 요소입니다. Analysis Services 제품 수명 주기에서 이러한 모드는 완성됩니다. 이 릴리스에는 이러한 모드 중 하나에 대한 새로운 기능이 없습니다. 그러나 버그 수정 및 성능 향상이 포함됩니다.

여기에 설명된 기능은 SQL Server 2017 Analysis Services에 포함되어 있습니다. 그러나 이를 활용하려면 Analysis Services 프로젝트 및 SSMS(SQL Server Management Studio)와 함께 최신 버전의 Visual Studio도 사용해야 합니다. Analysis Services 프로젝트 및 SSMS는 일반적으로 SQL Server 새로운 기능과 일치하는 새롭고 향상된 기능으로 매월 업데이트됩니다.

모든 새로운 기능에 대해 알아보는 것이 중요하지만, 이 릴리스와 향후 릴리스에서 더 이상 사용되지 않고 중단되는 기능을 아는 것도 중요합니다. 자세한 내용은 SSAS 2017에서 사용되지 않는 기능을 참조하세요.

이 릴리스의 새로운 주요 기능 중 일부를 살펴보겠습니다.

테이블 형식 모델에 대한 1400 호환성 수준

여기에 설명된 많은 새로운 기능과 기능을 활용하려면 신규 또는 기존 테이블 형식 모델을 1400 호환성 수준으로 설정하거나 업그레이드해야 합니다. 1400 호환성 수준의 모델은 SQL Server 2016 SP1 이전 버전에 배포하거나 하위 호환성 수준으로 다운그레이드할 수 없습니다. 자세히 알아보려면 Analysis Services 테이블 형식 모델의 호환성 수준을 참조하세요.

Visual Studio에서 새 테이블 형식 모델 프로젝트를 만들 때 새 1400 호환성 수준을 선택할 수 있습니다.

AS_NewTabular1400Project

Visual Studio에서 기존 테이블 형식 모델을 업그레이드하려면 솔루션 탐색기 Model.bim을 마우스 오른쪽 단추로 클릭한 다음 속성에서 호환성 수준 속성을 SQL Server 2017(1400)으로 설정합니다.

AS_Model_Properties

기존 모델을 1400으로 업그레이드하면 다운그레이드할 수 없다는 점에 유의해야 합니다. 1200 모델 데이터베이스의 백업을 유지해야 합니다.

최신 데이터 가져오기 환경

데이터 원본에서 테이블 형식 모델로 데이터를 가져오는 경우 SSDT는 1400 호환성 수준에서 모델에 대한 최신 데이터 가져오기 환경을 도입합니다. 이 새로운 기능은 Power BI Desktop 및 Microsoft Excel 2016의 유사한 기능을 기반으로 합니다. 최신 데이터 가져오기 환경은 데이터 가져오기 쿼리 작성기 및 M 식을 사용하여 엄청난 데이터 변환 및 데이터 매시업 기능을 제공합니다.

최신 데이터 가져오기 환경은 다양한 데이터 원본을 지원합니다. 앞으로 업데이트에는 더 많은 지원이 포함됩니다.

AS_Get_Data_in_SSDT

강력하고 직관적인 사용자 인터페이스를 사용하면 데이터 및 데이터 변환/매시업 기능을 그 어느 때보다 쉽게 선택할 수 있습니다.

고급 매시업

최신 데이터 가져오기 환경 및 M 매시업 기능은 1200 호환성 수준에서 1400으로 업그레이드된 기존 테이블 형식 모델에는 적용되지 않습니다. 새 환경은 1400 호환성 수준에서 만든 새 모델에만 적용됩니다.

인코딩 힌트

이 릴리스에서는 메모리 내 대형 테이블 형식 모델의 처리(데이터 새로 고침)를 최적화하는 데 사용되는 고급 기능인 인코딩 힌트를 소개합니다. 인코딩을 더 잘 이해하려면 인코딩을 더 잘 이해하려면 SQL Server 2012 Analysis Services 백서에서 테이블 형식 모델의 성능 조정을 참조하세요.

  • 값 인코딩은 일반적으로 집계에만 사용되는 열에 대해 더 나은 쿼리 성능을 제공합니다.

  • 해시 인코딩은 그룹별 열(종종 차원 테이블 값) 및 외장 키에 선호됩니다. 문자열 열은 항상 해시로 인코딩됩니다.

숫자 열은 이러한 인코딩 메서드 중 하나를 사용할 수 있습니다. Analysis Services가 테이블 처리를 시작할 때 테이블이 비어 있거나 파티션이 없는 경우 또는 전체 테이블 처리 작업이 수행되는 경우 각 숫자 열에 대해 샘플 값이 수행되어 값 또는 해시 인코딩을 적용할지 여부를 결정합니다. 기본적으로 열의 고유 값 샘플이 충분히 크면 값 인코딩이 선택됩니다. 그렇지 않으면 해시 인코딩은 일반적으로 더 나은 압축을 제공합니다. 데이터 배포에 대한 추가 정보를 기반으로 열이 부분적으로 처리된 후 Analysis Services에서 인코딩 메서드를 변경하고 인코딩 프로세스를 다시 시작할 수 있습니다. 그러나 이렇게 하면 처리 시간이 늘어나고 비효율적입니다. 성능 튜닝 백서에서는 다시 인코딩에 대해 자세히 설명하고 SQL Server Profiler 사용하여 검색하는 방법을 설명합니다.

인코딩 힌트를 사용하면 모델러가 데이터 프로파일링 및/또는 다시 인코딩 추적 이벤트에 대한 응답으로 사전 지식이 있는 인코딩 메서드에 대한 기본 설정을 지정할 수 있습니다. 해시로 인코딩된 열에 대한 집계가 값으로 인코딩된 열보다 느리기 때문에 값 인코딩은 이러한 열에 대한 힌트로 지정될 수 있습니다. 기본 설정이 적용된다는 보장은 없습니다. 설정이 아닌 힌트입니다. 인코딩 힌트를 지정하려면 열에서 EncodingHint 속성을 설정합니다. 가능한 값은 "Default", "Value" 및 "Hash"입니다. Model.bim 파일에서 JSON 기반 메타데이터의 다음 코드 조각은 Sales Amount 열에 대한 값 인코딩을 지정합니다.

{
    "name": "Sales Amount",
    "dataType": "decimal",
    "sourceColumn": "SalesAmount",
    "formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
    "sourceProviderType": "Currency",
    "encodingHint": "Value"
}

비정형 계층 구조

테이블 형식 모델에서 부모-자식 계층 구조를 모델링할 수 있습니다. 수준 수가 서로 다른 계층 구조를 종종 비정형 계층 구조라고 합니다. 기본적으로, 비정형 계층 구조에서는 최하위 자식 아래 수준을 위한 공백이 표시됩니다. 조직 차트에서 비정형 계층 구조의 예는 다음과 같습니다.

AS_Ragged_Hierarchy

이 릴리스에서는 멤버 숨기기 속성이 도입되었습니다. 계층 구조에 대한 멤버 숨기기 속성을 빈 멤버 숨기기로 설정할 수 있습니다.

AS_Hide_Blank_Members

참고

모델의 빈 멤버는 빈 문자열 아니라 DAX 빈 값으로 표시됩니다.

빈 멤버 숨기기로 설정하고 모델을 배포한 경우 읽기 쉬운 계층 구조 버전이 Excel 등의 보고 클라이언트에 표시됩니다.

AS_Non_Ragged_Hierarchy

정보 행

이제 측정값에 영향을 주는 사용자 지정 행 집합을 정의할 수 있습니다. 정보 행은 다차원 모델의 기본 드릴스루 작업과 비슷합니다. 따라서 최종 사용자가 집계된 수준보다 자세히 정보를 볼 수 있습니다.

다음 피벗 테이블은 Adventure Works 샘플 테이블 형식 모델의 연도별 인터넷 총 매출액을 보여 줍니다. 측정값에서 집계된 값이 포함된 셀을 마우스 오른쪽 단추로 클릭한 다음 자세한 정보 표시 를 클릭하면 정보 행을 볼 수 있습니다.

AS_Show_Details

기본적으로 Internet Sales 테이블의 관련 데이터가 표시됩니다. 고객 이름 및 주문 정보와 같은 유용한 정보를 표시하는 데 필요한 열이 테이블에 없을 수 있기 때문에 이 제한된 동작은 사용자에게 의미가 없는 경우가 많습니다. 정보 행을 사용하여 측정값의 정보 행 식 속성을 지정할 수 있습니다.

측정값의 정보 행 식 속성

측정값의 정보 행 식 속성을 통해 모델 작성자는 최종 사용자에게 반환되는 열과 행을 사용자 지정할 수 있습니다.

AS_Detail_Rows_Expression_Property

SELECTCOLUMNS DAX 함수는 일반적으로 Detail Rows 식에서 사용됩니다. 다음 예제에서는 샘플 Adventure Works 테이블 형식 모델의 Internet Sales 테이블 행에 대해 반환할 열을 정의합니다.

SELECTCOLUMNS(
    'Internet Sales',
    "Customer First Name", RELATED( Customer[Last Name]),
    "Customer Last Name", RELATED( Customer[First Name]),
    "Order Date", 'Internet Sales'[Order Date],
    "Internet Total Sales", [Internet Total Sales]
)

속성을 정의하고 모델을 배포한 후 사용자가 자세한 정보 표시를 선택하면 사용자 지정 행 집합이 반환됩니다. 선택한 셀의 필터 컨텍스트가 자동으로 적용됩니다. 이 예제에서는 2010 값에 대한 행만 표시됩니다.

AS_Detail_Rows

테이블의 기본 정보 행 식 속성

측정값 외에 테이블에는 정보 행 식을 정의하는 속성도 있습니다. 기본 정보 행 식 속성은 테이블 내 모든 측정값의 기본값으로 사용됩니다. 고유한 식이 정의되지 않은 측정값은 테이블에서 식을 상속하고 테이블에 대해 정의된 행 집합을 표시합니다. 이렇게 하면 식을 다시 사용할 수 있으며 나중에 테이블에 추가된 새 측정값은 식을 자동으로 상속합니다.

AS_Default_Detail_Rows_Expression

DETAILROWS DAX 함수

이 릴리스에는 정보 행 식에서 정의된 행 집합을 반환하는 새 DETAILROWS DAX 함수가 포함되어 있습니다. 테이블 형식 모델에서 정의된 정보 행 식과도 호환되는 MDX의 DRILLTHROUGH 문과 유사하게 작동합니다.

다음 DAX 쿼리는 측정값 또는 해당 테이블에 대해 정보 행 식에서 정의된 행 집합을 반환합니다. 식이 정의되지 않은 경우 측정값을 포함하는 테이블인 Internet Sales 테이블에 대한 데이터가 반환됩니다.

EVALUATE DETAILROWS([Internet Total Sales])

개체 수준 보안

이 릴리스에서는 테이블 및 열에 대한 개체 수준 보안을 도입했습니다. 테이블 및 열 데이터에 대한 액세스를 제한하는 것 외에도 중요한 테이블 및 열 이름을 보호 할 수 있습니다. 이렇게 하면 악의적인 사용자가 해당 테이블이 있는지 검색할 수 없습니다.

JSON 기반 메타데이터, TMSL(테이블 형식 모델 스크립팅 언어) 또는 TOM(테이블 형식 개체 모델)을 사용하여 개체 수준 보안을 설정해야 합니다.

예를 들어 다음 코드는 TablePermission 클래스의 MetadataPermission 속성을 None으로 설정하여 샘플 Adventure Works 테이블 형식 모델의 Product 테이블을 보호하는 데 도움이 됩니다.

//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
    TablePermission tablePermission;
    if (role.TablePermissions.Contains(productTable.Name))
    {
        tablePermission = role.TablePermissions[productTable.Name];
    }
    else
    {
        tablePermission = new TablePermission();
        role.TablePermissions.Add(tablePermission);
        tablePermission.Table = productTable;
    }
    tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);

동적 관리 뷰(DMV)

DMV는 로컬 서버 작업 및 서버 상태에 대한 정보를 반환하는 SQL Server Profiler 쿼리입니다. 이 릴리스에는 1200 및 1400 호환성 수준에서 테이블 형식 모델에 대한 DMV( 동적 관리 뷰 )가 개선되었습니다.

DISCOVER_CALC_DEPENDENCY 이제 테이블 형식 1200 이상 모델에서 작동합니다. 테이블 형식 1400 이상 모델은 M 파티션, M 식 및 구조적 데이터 원본 간의 종속성을 표시합니다. 자세한 내용은 Analysis Services 블로그를 참조하세요.

다양한 클라이언트 도구에서 측정 차원을 표시하는 데 사용되는 이 DMV에 대한 MDSCHEMA_MEASUREGROUP_DIMENSIONS 개선 사항이 포함되어 있습니다. 예를 들어 Excel 피벗 테이블의 탐색 기능을 사용하면 사용자가 선택한 측정값과 관련된 차원으로 교차 드릴할 수 있습니다. 이 릴리스는 이전에 잘못된 값을 표시했던 카디널리티 열을 수정합니다.

향상된 DAX 기능

새 DAX 기능의 가장 중요한 부분 중 하나는 DAX 식에 대한 새로운 IN 연산자/CONTAINSROW 함수 입니다. 이것은 TSQL IN 절에서 여러 값을 지정하는 데 자주 사용되는 WHERE 연산자와 유사합니다.

이전에는 다음 측정값 식과 같이 논리적 OR 연산자를 사용하여 다중 값 필터를 지정하는 것이 일반적이었습니다.

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
                 'Product'[Color] = "Red"
            || 'Product'[Color] = "Blue"
            || 'Product'[Color] = "Black"
    )

IN 연산자를 사용하면 이 작업이 간소화됩니다.

Filtered Sales:=CALCULATE (
        [Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
    )

이 경우 IN 연산자는 지정된 색마다 하나씩, 3개의 행이 포함된 단일 열 테이블을 참조합니다. 테이블 생성자 구문은 중괄호를 사용합니다.

IN 연산자는 CONTAINSROW 함수와 기능적으로 동일합니다.

Filtered Sales:=CALCULATE (
        [Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
    )

IN 연산자를 테이블 생성자와 함께 효과적으로 사용할 수도 있습니다. 예를 들어 다음 측정값은 제품 색과 범주의 조합으로 필터링합니다.

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
        FILTER( ALL('Product'),
              ( 'Product'[Color] = "Red"   && Product[Product Category Name] = "Accessories" )
         || ( 'Product'[Color] = "Blue"  && Product[Product Category Name] = "Bikes" )
         || ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
        )
    )

IN 연산자를 사용하면 위의 측정값 식은 이제 아래 식과 동일합니다.

Filtered Sales:=CALCULATE (
        [Internet Total Sales],
        FILTER( ALL('Product'),
            ('Product'[Color], Product[Product Category Name]) IN
            { ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
        )
    )

추가 개선 사항

모든 새로운 기능 외에도 Analysis Services, SSDT 및 SSMS에는 다음과 같은 개선 사항이 포함되어 있습니다.

  • 계층 구조 및 열 재사용은 Power BI 필드 목록의 더 유용한 위치에 표시됩니다.
  • 날짜 관계를 사용하면 날짜 필드를 기반으로 날짜 차원에 대한 관계를 쉽게 만들 수 있습니다.
  • Analysis Services의 기본 설치 옵션은 이제 테이블 형식 모드입니다.
  • 새 데이터 가져오기(Power Query) 데이터 원본.
  • SSDT용 DAX 편집기
  • 기존 DirectQuery 데이터 원본은 M 쿼리를 지원합니다.
  • 구조적 데이터 원본에 대한 보기, 편집 및 스크립팅 지원과 같은 SSMS 개선 사항

SSAS 2017에서 사용되지 않는 기능

이 릴리스에서는 다음 기능이 더 이상 사용되지 않습니다.

모드/범주 기능
다차원 데이터 마이닝
다차원 원격으로 연결된 측정값 그룹
테이블 형식 1100 및 1103 호환성 수준의 모델
테이블 형식 테이블 형식 개체 모델 속성 - Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage
도구 추적 캡처용 SQL Server Profiler

SQL Server Management Studio에 포함된 확장 이벤트 프로파일러를 대신 사용할 수 있습니다.
Monitor Analysis Services with SQL Server Extended Events을 참조하세요.
도구 추적 재생용 Server Profiler
대체 기능 대체 항목이 없습니다.
추적 관리 개체 및 추적 API Analysis Services 추적 및 재생 개체용 API를 포함하는 Microsoft.AnalysisServices.Trace 개체. 다음과 같은 여러 부분을 대신 사용할 수 있습니다.

- 추적 구성: Microsoft.SqlServer.Management.XEvent
- 추적 읽기: Microsoft.SqlServer.XEvent.Linq
- 추적 재생: 없음

SSAS 2017에서 지원되지 않는 기능

이 릴리스에서는 다음 기능이 중단되었습니다 .

모드/범주 기능
테이블 형식 VertiPaqPagingPolicy 메모리 속성 값(2)은 메모리 매핑된 파일을 사용하여 디스크에 페이징을 사용하도록 설정합니다.
다차원 원격 파티션
다차원 원격으로 연결된 측정값 그룹
다차원 차원 쓰기(writeback)
다차원 연결된 차원

SSAS 2017의 호환성이 손상되는 변경

이 릴리스에는 호환성이 손상되는 변경 내용 이 없습니다.

SSAS 2017의 동작 변경

analysis Services용 SQL Server 2017 CTP 2.1의 새로운 기능 공지에 자세히 설명된 MDSCHEMA_MEASUREGROUP_DIMENSIONS 및 DISCOVER_CALC_DEPENDENCY 대한 변경 내용입니다.

SQL Server 2016 Analysis Services

SQL Server 2016 Analysis Services에는 향상된 성능, 더 쉬운 솔루션 작성, 자동화된 데이터베이스 관리, 양방향 교차 필터링과의 향상된 관계, 병렬 파티션 처리 등을 제공하는 많은 새로운 향상된 기능이 포함되어 있습니다. 이번 릴리스에서 향상된 기능 대부분의 중심에는 테이블 형식 model 데이터베이스에 대한 새로운 호환성 수준 1200이 있습니다.

SQL Server 2016 SP1(서비스 팩 1) Analysis Services

SQL Server 2016 SP1 다운로드

SQL Server 2016 Service SP1 Analysis Services는 NUMA(Non-Uniform Memory Access) 인식 및 Intel TBB (Intel Threading Building Blocks)를 기반으로 한 최적화된 메모리 할당을 통해 향상된 성능 및 확장성을 제공합니다. 이 새로운 기능은 더 적은 수의 보다 강력한 엔터프라이즈 서버에서 더 많은 사용자를 지원하여 TCO(총 소유 비용)를 낮추는 데 도움이 됩니다.

특히 SQL Server 2016 SP1 Analysis Services는 다음과 같은 주요 영역에서 향상된 기능을 제공합니다.

  • NUMA 인식 - NUMA에 대한 지원을 개선하기 위해 이제 Analysis Services 내의 메모리 내(VertiPaq) 엔진이 각 NUMA 노드에서 별도의 작업 큐를 유지 관리합니다. 따라서 세그먼트에 대해 메모리가 할당된 것과 동일한 노드에서 세그먼트 검색 작업이 실행되도록 합니다. 기본적으로 NUMA 인식은&4;개 이상의 NUMA 노드가 있는 시스템에서만 사용됩니다. 2노드 시스템에서는 일반적으로 원격 할당 메모리에 액세스하는 비용이 NUMA 관련 관리 오버헤드를 보장하지 않습니다.
  • 메모리 할당 - Analysis Services는 모든 코어에 별도의 메모리 풀을 제공하는 확장 가능한 할당자인 Intel Threading Building Blocks로 가속화되었습니다. 코어 수가 증가하면 시스템이 거의 선형으로 확장됩니다.
  • 힙 조각화 - 또한 Intel TBB 기반의 확장 가능한 할당자를 사용하면 Windows 힙에서 발생하는 것으로 나타난 힙 조각화로 인한 성능 문제를 완화할 수 있습니다.

성능 및 확장성 테스트는 대규모의 다중 노드 엔터프라이즈 서버에서 SQL Server 2016 SP1 Analysis Services를 실행하는 경우 쿼리 처리량이 크게 향상되는 것을 보여 주었습니다.

이번 릴리스에서 향상된 기능 대부분은 테이블 형식 모델과 관련이 있지만 다차원 모델에서도 여러 가지 기능이 향상되었습니다. 예를 들어 DB2 및 Oracle과 같은 데이터 원본에 대한 고유 카운트 ROLAP 최적화, Excel 2016의 드릴스루 다중 선택 지원 및 Excel 쿼리 최적화가 있습니다.

SQL Server 2016 GA(일반 공급) Analysis Services

모델링

테이블 형식 1200 모델의 모델링 성능 향상

테이블 형식 1200 모델의 경우 SSDT의 메타데이터 작업은 테이블 형식 1100 또는 1103 모델보다 훨씬 빠릅니다. 비교해 보면, 같은 하드웨어에서 23개 테이블이 포함된 SQL Server 2014 호환성 수준(1103)으로 설정된 모델에 대한 관계를 만드는 데는 3초가 걸리지만, 호환성 수준 1200으로 설정된 모델에서 동일한 관계를 만드는 데는 1초도 걸리지 않습니다.

SSDT의 테이블 형식 1200 모델에 프로젝트 템플릿 추가

이번 릴리스부터는 관계형 및 BI 프로젝트를 빌드하는 데 두 가지 SSDT 버전이 더 이상 필요하지 않습니다. Visual Studio 2015용 SQL Server Data Tools 는 호환성 수준 1200에서 모델을 빌드하는 데 사용되는 Analysis Services 테이블 형식 프로젝트 를 비롯하여 Analysis Services 솔루션용 프로젝트 템플릿을 추가합니다. 다차원 및 데이터 마이닝 솔루션에 대한 다른 Analysis Services 프로젝트 템플릿도 포함되어 있지만 이전 릴리스와 동일한 기능 수준(1100 또는 1103)에 있습니다.

표시 폴더

이제 테이블 형식 1200 모델에 표시 폴더를 사용할 수 있습니다. SQL Server Data Tools에서 정의되고 Excel 또는 Power BI Desktop 등의 클라이언트 애플리케이션에서 렌더링된 표시 폴더를 사용하여 많은 측정값을 개별 폴더로 구성하여 필드 목록을 더 쉽게 탐색하기 위한 시각적 계층 구조를 추가할 수 있습니다.

양방향 교차 필터링

이번 릴리스의 새로운 기능에는 테이블 형식 모델에서 양방향 교차 필터를 사용하는 기본 제공 접근 방식이 있습니다. 이 방식을 사용하면 테이블 관계에서 필터 컨텍스트를 전파하기 위한 수동 DAX 해결 방법이 필요 없습니다. 필터는 높은 수준의 확신도를 기반으로 방향을 설정할 수 있을 경우에만 자동 생성됩니다. 테이블 관계에서 여러 쿼리 경로의 형식에 모호성이 있으면 필터가 자동으로 생성되지 않습니다. 자세한 내용은 SQL Server 2016 Analysis Services의 테이블 형식 모델에 대한 양방향 교차 필터 를 참조하세요.

Translations

이제 번역된 메타데이터를 테이블 형식 1200 모델에 저장할 수 있습니다. 모델의 메타데이터에는 Culture에 대한 필드, 번역된 캡션, 번역된 설명이 포함됩니다. 번역을 추가하려면 SQL Server Data Tools Model>Translations 명령을 사용합니다. 자세한 내용은 테이블 형식 모델의 번역(Analysis Services) 을 참조하세요.

붙여넣은 테이블

이제 모델에 붙여넣은 테이블이 포함되어 있으면 1100 또는 1103 테이블 형식 모델을 1200으로 업그레이드할 수 있습니다. SQL Server Data Tools 사용하는 것이 좋습니다. SSDT에서 CompatibilityLevel을 1200으로 설정한 다음 SQL Server Analysis Services SQL Server 2017 instance 배포합니다. 자세한 내용은 Compatibility Level for Tabular models in Analysis Services 를 참조하세요.

SSDT의 계산된 테이블

계산된 테이블 은 SSDT의 DAX 식 또는 쿼리를 기반으로 하는 모델 전용 생성입니다. 데이터베이스에 배포되면 계산된 테이블을 일반 테이블과 구분할 수 없습니다.

기존 테이블을 특정 역할로 표시할 새 테이블을 만드는 등의 다양한 용도에 계산된 테이블을 사용합니다. 기본적인 예로는 주문 날짜, 배송 날짜 등의 여러 컨텍스트에서 작동하는 날짜 테이블이 있습니다. 지정된 역할에 대한 계산된 테이블을 만들면 테이블 관계를 활성화하여 계산된 테이블을 사용하여 쿼리 또는 데이터 조작을 이용할 수 있습니다. 기존 테이블의 부분을 모델에만 있는 완전히 새로운 테이블로 결합하는 데도 계산된 테이블을 사용할 수 있습니다. 자세한 내용은 계산 테이블 만들기 를 참조하세요.

수식 수정

테이블 형식 1200 모델에서 수식 수정을 사용하면 SSDT는 이름이 변경된 열 또는 테이블을 참조하는 모든 측정값을 자동으로 업데이트합니다.

Visual Studio 구성 관리자 지원

테스트 및 사전 프로덕션 환경과 같은 여러 환경을 지원하기 위해 개발자는 Visual Studio의 구성 관리자를 사용하여 여러 프로젝트 구성을 만들 수 있습니다. 다차원 모델에서는 이미 이 기능이 사용되지만 테이블 형식 모델에서는 사용되지 않습니다. 이번 릴리스부터는 구성 관리자를 사용하여 여러 서버에 배포할 수 있습니다.

인스턴스 관리

SSMS에서 테이블 형식 1200 모델 관리

이번 릴리스에서 테이블 형식 서버 모드의 Analysis Services 인스턴스는 모든 호환성 수준(1100, 1103, 1200)에서 테이블 형식 모델을 실행할 수 있습니다. 최신 SQL Server Management Studio 가 업데이트되어 1200 호환성 수준에서 테이블 형식 모델에 대한 속성을 표시하고 데이터베이스 모델 관리를 제공합니다.

테이블 형식 모델의 여러 테이블 파티션에 대한 병렬 처리

이번 릴리스에는 파티션이 두 개 이상 포함된 테이블에 대한 새로운 병렬 처리 기능이 포함되어 처리 성능이 향상됩니다. 이 기능에 대한 구성 설정은 없습니다. 파티션 구성 및 테이블 처리에 대한 자세한 내용은 테이블 형식 모델 파티션을 참조하세요.

SSMS에서 관리자로 컴퓨터 계정 추가

SQL Server Analysis Services 관리자는 이제 SQL Server Management Studio 사용하여 컴퓨터 계정을 SQL Server Analysis Services 관리자 그룹의 구성원으로 구성할 수 있습니다. 사용자 또는 그룹 선택 대화 상자에서 컴퓨터 도메인의 위치 를 선택하고 Computers 개체 형식을 추가합니다. 자세한 내용은 Analysis Services 인스턴스에 서버 관리 권한 부여를 참조하세요.

Analysis Services에 대한 DBCC

DBCC(Database Consistency Checker)는 내부적으로 실행되어 데이터베이스 로드 시 발생할 수 있는 데이터 손상 문제를 감지하지만, 데이터나 모델에 문제가 있다고 의심될 경우 필요 시 실행될 수도 있습니다. DBCC는 모델이 테이블 형식인지, 아니면 다차원 형식인지에 따라 다른 검사를 실행합니다. 자세한 내용은 Analysis Services 테이블 형식 및 다차원 데이터베이스에 대한 DBCC(데이터베이스 일관성 검사기) 를 참조하세요.

확장 이벤트 업데이트

이 릴리스에서는 SQL Server Analysis Services 확장 이벤트를 구성하고 관리하기 위해 SQL Server Management Studio 그래픽 사용자 인터페이스를 추가합니다. 서버 활동을 실시간 모니터링하거나, 더 신속한 분석을 위해 메모리에 로드된 세션 데이터를 유지하거나, 오프라인 분석을 위해 데이터 스트림을 파일에 저장하도록 라이브 데이터 스트림을 설정할 수 있습니다. 자세한 내용은 SQL Server 확장 이벤트를 사용하여 Analysis Services 모니터링을 참조하세요.

스크립팅

테이블 형식 모델에 대한 PowerShell

이번 릴리스에서는 호환성 수준 1200의 테이블 형식 모델에 대한 PowerShell 기능이 향상되었습니다. 적용되는 모든 cmdlet과 테이블 형식 모드 관련 cmdlet인 Invoke-ProcessASDatabase 및 Invoke-ProcessTable cmdlet을 사용할 수 있습니다.

SSMS 스크립팅 데이터베이스 작업

이제 최신 SSMS(SQL Server Management Studio)에서 스크립트는 Create, Alter, Delete, Backup, Restore, Attach, Detach를 비롯한 데이터베이스 명령에 사용됩니다. 출력은 JSON의 TMSL(Tabular Model Scripting Language)입니다. 자세한 내용은 TMSL(테이블 형식 모델 스크립팅 언어) 참조를 참조 하세요.

Analysis Services DDL 실행 태스크

이제Analysis Services 실행 DDL 태스크 에서도 TMSL(Tabular Model Scripting Language) 명령을 허용합니다.

SSAS PowerShell cmdlet

SSAS PowerShell cmdlet Invoke-ASCmd 에서 TMSL(Tabular Model Scripting Language) 명령을 허용합니다. 기타 SSAS PowerShell cmdlet은 새 테이블 형식 메타데이터를 사용하도록 이후 릴리스에서 업데이트될 수 있습니다(예외는 릴리스 정보에 명시되어 있음). 자세한 내용은 Analysis Services PowerShell Reference 를 참조하세요.

SSMS에서 TMSL(Tabular Model Scripting Language) 지원

최신 버전의 SSMS를 사용하여 테이블 형식 1200 모델에 대한 대부분의 관리 태스크를 자동화하는 스크립트를 만들 수 있습니다. 현재 모든 수준의 Process 및 데이터베이스 수준의 CREATE, ALTER, DELETE 작업을 스크립팅할 수 있습니다.

TMSL이 model, table, relationship 등의 네이티브 설명자를 사용하여 테이블 형식 메타데이터를 설명한다는 점을 제외하고 기능상, TMSL은 다차원 개체 정의를 제공하는 XMLA ASSL 확장에 해당합니다. 스키마에 대한 자세한 내용은 TMSL(테이블 형식 모델 스크립팅 언어) 참조 를 참조하세요.

테이블 형식 모델에 대해 생성된 JSON 기반 스크립트가 다음과 같이 표시될 수 있습니다.

{
  "create": {
    "database": {
      "name": "AdventureWorksTabular1200",
      "id": "AdventureWorksTabular1200",
      "compatibilityLevel": 1200,
      "readWriteMode": "readWrite",
      "model": {}
    }
  }
}

페이로드는 위에 표시된 예제처럼 최소화되거나 전체 개체 정의 집합으로 매우 장식될 수 있는 JSON 문서입니다. TMSL(테이블 형식 모델 스크립팅 언어) 참조 는 구문을 설명합니다.

데이터베이스 수준에서 CREATE, ALTER 및 DELETE 명령은 TMSL 스크립트를 친숙한 XMLA 창에 출력합니다. 이 릴리스에서는 Process와 같은 기타 명령도 스크립팅할 수 있습니다. 이후 릴리스에서 다른 많은 작업에 대한 스크립트 지원이 추가될 수 있습니다.

스크립트 가능한 명령 설명
create 데이터베이스, 연결 또는 파티션을 추가합니다. ASSL에서는 CREATE에 해당합니다.
createOrReplace 이전 버전을 덮어써서 기존 개체 정의(데이터베이스, 연결 또는 파티션)를 업데이트합니다. ASSL에서는 AllowOverwrite가 true로 설정되고 ObjectDefinition이 ExpandFull로 설정된 ALTER에 해당합니다.
삭제 개체 정의를 제거합니다. ASSL에서는 DELETE에 해당합니다.
refresh 개체를 처리합니다. ASSL에서는 PROCESS에 해당합니다.

DAX

DAX 수식 편집 기능 향상

수식 입력줄이 업데이트되어 구문 색 지정을 사용하여 함수, 필드, 측정값을 구분하는 방식으로 더 쉽게 수식을 작성할 수 있습니다. 이 기능은 지능형 함수 및 필드 제안을 제공하고 오류 물결선을 사용하여 DAX 식의 일부가 잘못된 경우 잘못된 부분을 알립니다. 또한 여러 줄(Alt + Enter) 및 들여쓰기(Tab)를 사용할 수 있습니다. 이제 수식 입력줄을 사용하면 측정값의 일부로 메모를 작성할 수 있습니다. "//"를 입력하기만 하면 동일한 줄에서 이러한 문자 뒤의 모든 내용이 주석으로 간주됩니다.

DAX 변수

이번 릴리스에서는 DAX의 변수를 지원합니다. 이제 나중에 다른 측정값 식에 인수로 전달될 수 있는 명명된 변수로 식의 결과를 저장할 수 있습니다. 일단 변수 식에 대한 결과 값이 계산되면 변수가 다른 식에서 참조되더라도 해당 값은 변경되지 않습니다. 자세한 내용은 VAR Function(VAR 함수)을 참조하세요.

새로운 DAX 함수

이번 릴리스에서 DAX는 Power BI에서 보다 빠른 계산 및 향상된 시각화를 지원하기 위해&50;가지 이상의 새로운 함수를 사용합니다. 자세한 내용은 New DAX Functions(새 DAX 함수)를 참조하세요.

완료되지 않은 측정값 저장

완료되지 않은 DAX 측정값을 테이블 형식 1200 모델 프로젝트에 직접 저장하고 계속할 수 있을 때 다시 선택할 수 있습니다.

DAX의 추가 기능 향상

  • 비어 있지 않은 계산 - 비어 있지 않은 계산에 필요한 검색 수를 줄입니다.
  • 측정값 결합 - 동일한 테이블의 여러 측정값이 단일 스토리지 엔진 쿼리로 결합됩니다.
  • 그룹화 집합 - 쿼리에서 다양하게 세분화된 측정값(합계/연도/월)을 요청하는 경우 단일 쿼리는 최하위 수준에서 전송되고 나머지 세분성은 최하위 수준에서 파생됩니다.
  • 중복 조인 제거 - 스토리지 엔진에 대한 단일 쿼리에서 차원 열과 측정값을 모두 반환합니다.
  • IF/SWITCH의 엄격한 평가 - 조건이 false인 분기는 더 이상 스토리지 엔진 쿼리를 생성하지 않습니다. 이전에는 분기가 적극적으로 평가되었지만 결과는 나중에 삭제되었습니다.

개발자

AMO의 테이블 형식 1200 프로그래밍 기능에 대한 Microsoft.AnalysisServices.Tabular 네임스페이스

AMO(Analysis Services 관리 개체)가 업데이트되어 SQL Server 2016 Analysis Services의 테이블 형식 인스턴스를 관리하기 위한 새 테이블 형식 네임스페이스를 포함하고 프로그래밍 방식으로 테이블 형식 1200 모델을 만들거나 수정하는 데이터 정의 언어를 제공합니다. API에 대한 자세한 내용은 Microsoft.AnalysisServices.Tabular 를 참조하세요.

AMO(Analysis Services Management Objects) 업데이트

두 번째 어셈블리인 Microsoft.AnalysisServices.Core.dll 포함하도록 AMO(Analysis Services 관리 개체)가 다시 고려되었습니다. 새 어셈블리는 서버, 데이터베이스 및 역할과 같이 서버 모드와 관계없이 Analysis Services에 광범위한 애플리케이션이 있는 일반 클래스를 분리합니다. 이전에 이들 클래스는 원래 Microsoft.AnalysisServices 어셈블리의 부분이었습니다. 이들 클래스를 새 어셈블리로 이동하면 이후 AMO로 확장할 수 있는 환경이 조성되고 제네릭 API와 컨텍스트별 API를 분명히 구분됩니다. 기존 애플리케이션은 새 어셈블리의 영향을 받지 않습니다. 그러나 어떤 이유로 새 AMO 어셈블리를 사용하여 애플리케이션을 다시 빌드해야 한다면 Microsoft.AnalysisServices.Core에 대한 참조를 추가해야 합니다. 마찬가지로 이제 AMO를 로드하고 호출하는 PowerShell 스크립트는 Microsoft.AnalysisServices.Core.dll을 로드해야 합니다. 스크립트를 업데이트해야 합니다.

BIM 파일에 대한 JSON 편집기

Visual Studio 2015의 코드 보기는 테이블 형식 1200 모델에 대한 JSON 형식으로 BIM 파일을 렌더링합니다. Visual Studio 버전에 따라 BIM 파일이 JSON에서 기본 제공 JSON 편집기를 통해 렌더링되는지, 아니면 단순 텍스트로 렌더링되는지 결정됩니다.

모델의 섹션을 확장 및 축소하는 기능이 포함된 JSON 편집기를 사용하려면 SQL Server Data Tools의 최신 버전 및 Visual Studio 2015(무료 Community Edition을 비롯한 모든 버전)가 필요합니다. SSDT 또는 Visual Studio의 모든 다른 버전의 경우 BIM 파일은 JSON에서 단순 텍스트로 렌더링됩니다. 최소한 빈 모델에는 다음 JSON이 포함됩니다.

  {  
    "name": "SemanticModel",
    "id": "SemanticModel",
    "compatibilityLevel": 1200,
    "readWriteMode": "readWrite",
    "model": {}
  }  

경고

JSON을 직접 편집하지 마세요. 직접 편집하면 모델이 손상될 수 있습니다.

MS-CSDLBI 2.0 스키마의 새로운 요소

[MS-CSDLBI] 2.0 스키마에 정의된 TProperty 복합 형식에 다음 요소가 추가되었습니다.

요소 정의
DefaultValue 쿼리를 계산할 때 사용되는 값을 지정하는 속성입니다. DefaultValue 속성은 선택 사항이지만, 멤버의 값을 집계할 수 없을 경우 자동으로 선택됩니다.
통계 열과 연결된 기본 데이터의 통계 집합입니다. 이러한 통계는 TPropertyStatistics 복합 형식에 의해 정의되고 비즈니스 인텔리전스 주석이 포함된 개념 스키마 정의 파일 형식의 섹션 2.1.13.5에 설명된 대로 계산 시 생성에 큰 비용이 들지 않을 경우에만 제공됩니다.

DirectQuery

새 DirectQuery 구현

이번 릴리스에서는 테이블 형식 1200 모델의 DirectQuery가 크게 향상되었습니다. 다음은 요약입니다.

  • 이제 DirectQuery에서 향상된 성능을 제공하는 보다 간단한 쿼리를 생성합니다.
  • 모델 디자인 및 테스트에 사용되는 샘플 데이터 세트 정의에 대한 추가 제어
  • 이제 테이블 형식 1200 모델의 DirectQuery 모드에서 RLS(행 수준 보안)가 지원됩니다. 이전에는 RLS를 사용하여 DirectQuery 모드에서 테이블 형식 모델을 배포할 수 없도록 했습니다.
  • DirectQuery 모드의 테이블 형식 1200 모델에 대해서는 계산 열이 지원되지 않습니다. 이전에는 계산 열을 사용하여 DirectQuery 모드에서 테이블 형식 모델을 배포할 수 없도록 했습니다.
  • 성능 최적화에 VertiPaq 및 DirectQuery에 대한 중복 조인 제거가 포함됩니다.

DirectQuery 모드의 새 데이터 원본

DirectQuery 모드의 테이블 형식 1200 모델에 지원되는 데이터 원본에는 이제 Oracle, Teradata 및 Microsoft Analytics Platform(이전의 병렬 Data Warehouse)이 포함됩니다. 자세한 내용은 DirectQuery 모드를 참조하세요.

SSAS 2016에서 사용되지 않는 기능

이 릴리스에서는 다음 기능이 더 이상 사용되지 않습니다.

모드/범주 기능
다차원 원격 파티션
다차원 원격으로 연결된 측정값 그룹
다차원 차원 쓰기(writeback)
다차원 연결된 차원
다차원 자동 관리 캐싱을 위한 SQL Server 테이블 알림.
자동 관리 캐싱을 위한 폴링을 대신 사용할 수 있습니다.
자동 관리 캐싱(차원)자동 관리 캐싱(파티션)을 참조하세요.
다차원 세션 큐브. 대체 항목이 없습니다.
다차원 로컬 큐브. 대체 항목이 없습니다.
테이블 형식 테이블 형식 모델 1100 및 1103 호환성 수준은 향후 릴리스에서 지원되지 않을 예정입니다. 대체는 호환성 수준 1200 이상에서 모델을 설정하여 모델 정의를 테이블 형식 메타데이터로 변환하는 것입니다. Compatibility Level for Tabular models in Analysis Services을 참조하세요.
도구 추적 캡처용 SQL Server Profiler

SQL Server Management Studio에 포함된 확장 이벤트 프로파일러를 대신 사용할 수 있습니다.
Monitor Analysis Services with SQL Server Extended Events을 참조하세요.
도구 추적 재생용 Server Profiler
대체 기능 대체 항목이 없습니다.
추적 관리 개체 및 추적 API Analysis Services 추적 및 재생 개체용 API를 포함하는 Microsoft.AnalysisServices.Trace 개체. 다음과 같은 여러 부분을 대신 사용할 수 있습니다.

- 추적 구성: Microsoft.SqlServer.Management.XEvent
- 추적 읽기: Microsoft.SqlServer.XEvent.Linq
- 추적 재생: 없음

SSAS 2016에서 지원되지 않는 기능

이 릴리스에서는 다음 기능이 중단되었습니다 .

기능 대체 기능 또는 해결 방법
CalculationPassValue(MDX) 없음 이 기능은 SQL Server 2005부터 사용되지 않습니다.
CalculationCurrentPass(MDX) 없음 이 기능은 SQL Server 2005부터 사용되지 않습니다.
NON_EMPTY_BEHAVIOR 쿼리 최적화 프로그램 힌트 없음 이 기능은 SQL Server 2008부터 사용되지 않습니다.
COM 어셈블리 없음 이 기능은 SQL Server 2008부터 사용되지 않습니다.
CELL_EVALUATION_LIST 기본 셀 속성 없음 이 기능은 SQL Server 2005부터 사용되지 않습니다.

SSAS 2016의 호환성이 손상되는 변경

.NET 4.0 버전 업그레이드

Analysis Services 관리 개체(AMO), ADOMD.NET 및 TOM(테이블 형식 개체 모델) 클라이언트 라이브러리는 이제 .NET 4.0 런타임을 대상으로 합니다. .NET 3.5를 대상으로 하는 애플리케이션의 경우 새로운 변경 사항이 될 수 있습니다. 이러한 어셈블리의 최신 버전을 사용하는 애플리케이션은 이제 .NET 4.0 이상을 대상으로 해야 합니다.

AMO 버전 업그레이드

이 릴리스는 Analysis Services 관리 개체(AMO) 에 대한 버전 업그레이드이며 특정 상황에서 호환성이 손상되는 변경입니다. AMO로 호출되는 기존 코드와 스크립트는 이전 버전에서 업그레이드하기 전과 동일하게 실행됩니다. 그러나 애플리케이션을 다시 컴파일해야 하는데 SQL Server 2016 Analysis Services instance 대상으로 지정하는 경우 다음 네임스페이스를 추가하여 코드 또는 스크립트가 작동하도록 해야 합니다.

using Microsoft.AnalysisServices;  
using Microsoft.AnalysisServices.Core;  

코드에서 Microsoft.AnalysisServices 어셈블리를 참조할 때마다 Microsoft.AnalysisServices.Core 네임스페이스가 필요합니다. 이전에는 Microsoft.AnalysisServices 네임스페이스에만 포함되었던 개체가 테이블 형식 시나리오와 다차원 시나리오에서 같은 방식으로 사용되는 경우 이번 릴리스에서는 Core 네임스페이스로 이동됩니다. 예를 들어 서버 관련 API는 Core 네임스페이스로 이동됩니다.

이처럼 이제는 네임스페이스가 여러 개 사용되지만 모든 네임스페이스는 같은 어셈블리(Microsoft.AnalysisServices.dll)에 포함됩니다.

XEvent DISCOVER 변경 사항

SQL Server 2016 Analysis Services DISCOVER_XEVENT_TRACE_DEFINITION 용 SSMS에서 XEvent DISCOVER 스트리밍을 더 잘 지원하려면 이 다음 XEvent 추적으로 대체됩니다.

  • DISCOVER_XEVENT_PACKAGES

  • DISCOVER_XEVENT_OBJECT

  • DISCOVER_XEVENT_OBJECT_COLUMNS

  • DISCOVER_XEVENT_SESSION_TARGETS

SSAS 2016의 동작 변경

SharePoint 모드의 Analysis Services

사후 설치 태스크로 더 이상 파워 피벗 구성 마법사를 실행할 필요가 없습니다. 현재 SQL Server 2016 Analysis Services에서 모델을 로드하는 지원되는 모든 SharePoint 버전에 해당합니다.

테이블 형식 모델의 DirectQuery 모드

DirectQuery 는 테이블 형식 모델의 데이터 액세스 모드입니다. 여기서 쿼리 실행은 백 엔드 관계형 데이터베이스에서 수행되며 결과 집합을 실시간으로 검색합니다. 메모리에 맞출 수 없는 매우 큰 데이터 세트나 데이터가 불안정한 경우, 테이블 형식 모델에 대한 쿼리에서 반환된 최근 데이터를 원하는 경우 주로 사용됩니다.

DirectQuery는 지난 몇 번의 릴리스에서 데이터 액세스 모드로 존재해왔습니다. SQL Server 2016 Analysis Services에서는 테이블 형식 모델이 호환성 수준 1200 이상이라고 가정하여 구현이 약간 수정되었습니다. DirectQuery는 이전보다 제한이 적습니다. 또한 데이터베이스 속성도 다릅니다.

기존 테이블 형식 모델에서 DirectQuery를 사용하는 경우 현재 호환성 수준 1100 또는 1103에서 모델을 유지하고 해당 수준에 대해 구현된 것으로 DirectQuery를 계속 사용할 수 있습니다. 또는 DirectQuery의 향상된 기능을 활용하기 위해 1200 이상으로 업그레이드할 수 있습니다.

이전 호환성 수준의 설정에 최신 1200 이상 호환성 수준에 정확한 대응 항목이 없으므로 DirectQuery 모델의 현재 위치 업그레이드는 없습니다. DirectQuery 모드에서 실행되는 기존 테이블 형식 모델이 있는 경우 SQL Server Data Tools 모델을 열고 DirectQuery를 끄고 호환성 수준 속성을 1200 이상으로 설정한 다음 DirectQuery 속성을 다시 구성해야 합니다. 자세한 내용은 DirectQuery 모드 를 참조하세요.

정의

사용되지 않는 기능은 향후 릴리스에서 제품에서 중단되지만 이전 버전과의 호환성을 유지하기 위해 여전히 지원되고 현재 릴리스에 포함되어 있습니다. 향후 릴리스와의 호환성을 유지하기 위해 신규 및 기존 프로젝트에서 사용되지 않는 기능을 사용하지 않는 것이 좋습니다. 사용되지 않는 기능에 대한 설명서는 업데이트되지 않습니다.

지원되지 않는 기능은 이전 릴리스에서 더 이상 사용되지 않습니다. 현재 릴리스에 계속 포함될 수 있지만 더 이상 지원되지 않습니다. 중단된 기능은 명시된 릴리스 또는 향후 릴리스에서 완전히 제거될 수 있습니다.

호환성이 손상되는 변경으로 인해 현재 릴리스로 업그레이드한 후 기능, 데이터 모델, 애플리케이션 코드 또는 스크립트가 더 이상 작동하지 않습니다.

동작 변경은 이전 릴리스와 비교하여 현재 릴리스에서 동일한 기능이 작동하는 방식에 영향을 줍니다. 중요한 동작 변경 내용만 설명합니다. 사용자 인터페이스의 변경 내용은 포함되지 않습니다. 기본값 변경, 업그레이드 또는 복원 기능을 완료하는 데 필요한 수동 구성 또는 기존 기능의 새 구현은 모두 동작 변경의 예입니다.