적용 대상: SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
이 문서에서는 최신 버전의 SSAS(SQL Server Analysis Services)의 새로운 기능, 개선 사항, 사용되지 않는 기능 및 중단된 기능, 동작 및 호환성이 손상되는 변경 내용을 요약합니다.
SQL Server 2025 Analysis Services(미리 보기)
성능 향상
Excel에서 계산 그룹 및 서식 문자열이 있는 모델
메모리 사용량을 줄이고 응답성을 향상시키기 위해 계산 그룹 및 형식 문자열이 있는 모델에 대한 MDX 쿼리의 성능이 크게 향상되었습니다. 최신 변경 내용은 다음 중 하나 또는 둘 다를 포함하는 모델에서 Excel에서 분석 작업의 성능과 안정성을 크게 향상시킵니다.
측정값에 대한 동적 서식 문자열
서식 문자열이 있는 계산된 항목
자세한 내용은 동적 형식 문자열을 참조하세요.
DirectQuery에 대한 병렬 쿼리 실행
DirectQuery 모드에서 병렬 처리가 개선되어 복잡한 쿼리에 대한 응답 시간이 빨라집니다. 기본적인 아이디어는 단일 DAX 쿼리에 대해 여러 쿼리를 데이터 원본에 병렬 처리하여 쿼리 성능을 최대화하는 것입니다. 이 쿼리 병렬 처리는 데이터 원본 지연 및 네트워크 대기 시간이 쿼리 성능에 미치는 영향을 줄입니다. 자세한 내용은 이 블로그를 참조 하세요.
Horizontal Fusion
SSAS 2025는 DAX에서 생성된 SQL 쿼리 수를 줄여 DirectQuery 효율성을 향상시키는 쿼리 성능 최적화인 Horizontal Fusion의 최신 버전을 통합합니다. 자세한 내용은 다음을 참조하세요. 수평 융합 발표.
DAX 함수 및 기능
시각적 계산
DAX를 작성하는 방법은 시각적 계산이 도입된 오늘날에 변경됩니다. 비주얼 계산은 시각 요소에서 직접 정의되고 실행되는 DAX 계산입니다. 시각적 계산은 열, 측정값 또는 기타 시각적 계산을 포함하여 시각적 요소의 데이터를 참조할 수 있습니다. 이 방법은 의미 체계 모델의 복잡성을 제거하고 DAX 작성 프로세스를 간소화합니다. 시각적 계산을 사용하여 누계 합계 또는 이동 평균과 같은 일반적인 비즈니스 계산을 완료할 수 있습니다. 시각적 계산을 사용하도록 설정하고 사용하는 방법에 대한 자세한 내용은 시각적 계산 개요를 참조하세요.
값 필터 동작
값 필터 동작을 제어하는 새로운 옵션이 도입되었습니다. "독립 값 필터" 설정을 사용하도록 설정하면 사용자는 동일한 테이블에 있는 여러 필터를 단일 병합된 필터로 자동 결합하는 것을 방지할 수 있습니다. 이러한 변경은 더 큰 유연성을 제공하므로 보다 정확하고 독립적인 필터링을 통해 특정 모델링 요구 사항을 충족하고 데이터 쿼리의 정확도와 제어를 향상할 수 있습니다. SSAS에 대해 이 속성을 설정하려면 ValueFilterBehavior 속성에 따라 테이블 형식 개체 모델 또는 TMSL을 사용할 수 있습니다. 자세한 내용은 값 필터 동작을 참조하세요.
계산 그룹에 대한 선택 식
선택 식을 사용하면 특정 조건이 충족될 때 계산이 작동하는 방식을 세부적으로 제어할 수 있습니다. 선택 식은 여러 계산 항목이 선택되거나 계산 그룹에서 특정 항목이 선택되지 않은 경우를 처리하기 위한 추가 논리를 도입합니다. 자세한 내용은 방문하십시오: 계산 그룹.
DAX 함수 개선 사항
SSAS 2025에는 다음과 같은 여러 가지 새로운 DAX 함수 및 향상된 기능이 지원됩니다.
LINEST 및 LINESTX: 이 두 함수는 최소 제곱 메서드를 사용하여 선형 회귀를 수행하여 지정된 데이터에 가장 적합한 직선을 계산하고 해당 줄을 설명하는 테이블을 반환합니다. 이러한 함수는 알려진 값(X)이 지정된 경우 알 수 없는 값(Y)을 예측하는 데 특히 유용합니다. 자세한 내용은 LINEST DAX 함수 및 LINESTX DAX 함수를 참조하세요.
정보 함수: 기존 TMSCHEMA DMV는 이제 DAX 함수의 새로운 제품군으로 사용할 수 있으며, 이를 통해 DAX 내에서 직접 의미 체계 모델에 대한 메타데이터를 쿼리할 수 있으며, 향상된 진단 및 분석을 위해 다른 DAX 함수와 통합할 수 있습니다. 자세한 내용은 DAX 함수 정보를 방문하세요.
APPROXIMATEDISTINCTCOUNT: 이 함수는 현재 DirectQuery 모드에서 사용할 수 있으며 쿼리 성능에 최적화된 데이터 원본에서 해당 집계 작업을 호출하여 열에 있는 고유 값의 예상 수를 반환합니다. 자세한 내용은 지원되는 데이터 원본을 나열하는 Approximatedistinctcount DAX 함수를 참조하세요.
창 함수: 이 함수는 절대 또는 상대 위치 지정을 사용하여 결과의 조각을 검색합니다. WINDOW 함수를 사용하면 실행 중인 합계 추가, 값 범위 선택에 의존하는 이동 평균 또는 유사한 계산과 같은 계산을 더 쉽게 수행할 수 있습니다. 또한 ORDERBY 및 PARTITIONBY라는 두 개의 도우미 함수가 함께 제공됩니다. 자세한 내용은 Window DAX 함수를 참조하세요.
MINX/MAXX: MINX 및 MAXX DAX 함수에 선택적 변형 매개 변수를 추가했습니다. 일반적으로 이러한 함수는 텍스트 및 숫자와 같은 변형 또는 혼합 데이터 형식이 있는 경우 텍스트 및 부울 값을 무시합니다. 이제 새 선택적 variant 매개 변수를 TRUE로 설정하면 함수는 텍스트 값을 고려합니다. 자세한 내용은 MINX DAX 함수 및 MAXX DAX 함수를 참조하세요.
추가 기능
클라이언트 라이브러리 업데이트
고객은 이진 XML 지원, TMDL 직렬화 등과 같은 성능, 안정성 및 기능 향상을 활용하기 위해 최신 Analysis Services 라이브러리로 업그레이드하는 것이 좋습니다. 특히 XMLA 기반 통신을 일반 텍스트 XML에서 이진 XML로 전환하고 .NET 클라이언트 라이브러리에 압축을 사용하도록 설정했습니다. 자세한 내용은 xmla 기반 도구 블로그의 통신 성능 향상을 참조하세요. Analysis Services 클라이언트 라이브러리 다운로드 페이지에서 항상 최신 클라이언트 라이브러리 버전을 찾을 수도 있습니다.
유니코드 문자 처리 기능 향상
SSAS는 이제 DAX의 중국 정부 표준 GB18030 같은 문자 표준에 대한 유니코드 서로게이트 쌍 지원을 제공하여 업데이트된 유니코드 표준을 지원합니다.
진단에 대한 실행 메트릭
이제 실행 메트릭이 XEvents 및 Profiler 추적을 통해 노출되므로 고객이 쿼리 성능을 보다 효과적으로 분석할 수 있습니다.
장애 조치 클러스터 지원
자세한 내용은 업그레이드된 암호화 스키마에 대한 이 문서를 참조하세요.
SSAS 2025에서 사용이 중단된 기능 및 호환성을 깨뜨리는 변경 사항
SharePoint용 Excel PowerPivot이 사용되지 않음
설치 관리자에서 SharePoint용 Excel PowerPivot 모드를 제거했습니다. 이 기능은 이전 릴리스에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다.
SQL 클라이언트 어셈블리 업데이트
SSAS 2025는 이제 최신 SQL 클라이언트 라이브러리를 사용합니다. 고객은 새 공급자 이름(Microsoft.Data.SqlClient)을 반영하도록 모델 정의를 업데이트해야 할 수 있습니다.
HTTP 액세스 변경
SQL Server Analysis Services 2025부터 msmdpump.dll 통한 HTTP 연결은 기본적으로 사용하지 않도록 설정됩니다. msmdpump.dll 통한 모든 연결은 HTTPS와 같은 보안 채널을 통해 이루어져야 합니다. 자세한 내용은 HTTP 액세스 구성을 참조하세요.
알려진 문제
Windows Arm64가 지원되지 않음
SSAS 2025는 Windows Arm64에서 지원되지 않습니다. 현재 NUMA 노드당 최대 64개의 코어가 있는 Intel 및 AMD x86-64 CPU만 지원됩니다.
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 연결 문자열 속성을 지정하여 쿼리당 허용되는 메모리를 추가로 줄일 수 있습니다. 킬로바이트 단위로 지정된 이 속성은 연결에 대한 QueryMemoryLimit 서버 메모리 속성 값을 재정의합니다.
쿼리 인터리빙 - 빠른 취소 기능이 있는 짧은 쿼리 편향
이 버전에서는 Threadpool\SchedulingBehavior 속성 설정에 대해 빠른 취소가 가능한 짧은 쿼리 편향을 지정하는 새 값을 도입했습니다. 이 속성 설정은 동시성 높은 시나리오에서 사용자 쿼리 응답 시간을 향상시킵니다. 자세한 내용은 쿼리 인터리빙 - 구성을 참조하세요.
테이블 형식 모델 1600 호환성 수준
이 버전에서는 테이블 형식 모델에 대한 1600 호환성 수준을 도입했습니다. 1600 호환성 수준은 Power BI 및 Azure Analysis Services의 최신 기능과 일치합니다.
SSAS 2022에서 사용되지 않는 기능
이 버전에서는 더 이상 사용되지 않는 기능이 발표되지 않습니다.
SSAS 2022에서 지원되지 않은 기능
이 버전에서는 다음 기능이 지원되지 않습니다 .
모드/범주 | 특징 |
---|---|
표 형식의 | 1100 및 1103 호환성 수준 |
다차원 | 데이터 마이닝 |
파워 피벗 모드 | SharePoint용 파워 피벗 |
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뿐만 아니라 NATURALLEFTOUTERJOIN 및 NATURALINNERJOIN, ISONORAFTER 및 GROUPBY입니다. SELECTCOLUMNS 및 UNION 도 SuperDAX 함수입니다.
DAX가 다차원 모델에서 작동하는 방식과 알아야 할 중요한 패턴 및 제약 조건에 대해 자세히 알아보려면 다차원 모델에 대한 DAX를 확인해야 합니다.
SQL Server 2019 Analysis Services GA(일반 공급)
테이블 형식 모델 호환성 수준
이 릴리스에서는 테이블 형식 모델에 대한 1500 호환성 수준을 소개합니다.
쿼리 인터리빙
쿼리 인터리빙은 높은 동시성 시나리오에서 사용자 쿼리 응답 시간을 향상시킬 수 있는 테이블 형식 모드 시스템 구성입니다. 쿼리 인터리빙은 짧은 쿼리 편향을 통해 동시 쿼리가 CPU 리소스를 공유할 수 있도록 합니다. 자세한 내용은 쿼리 인터리빙을 참조하세요.
테이블 형식 모델의 계산 그룹
계산 그룹은계산 항목으로 일반적인 측정값 식을 그룹화하여 중복 측정값 수를 크게 줄일 수 있습니다. 계산 그룹은 보고 클라이언트에 단일 열이 있는 테이블로 표시됩니다. 열의 각 값은 측정값에 적용할 수 있는 재사용 가능한 계산 또는 계산 항목을 나타냅니다. 계산 그룹에는 여러 계산 항목이 있을 수 있습니다. 각 계산 항목은 DAX 식으로 정의됩니다. 자세한 내용은 계산 그룹을 참조하세요.
Power BI 캐시 새로 고침에 대한 거버넌스 설정
ClientCacheRefreshPolicy 속성 설정은 이제 SSAS 2019 이상에서 지원됩니다. 이 속성 설정은 Azure Analysis Services에서 이미 사용할 수 있습니다. Power BI 서비스는 Live Connect 보고서의 초기 로드를 위해 대시보드 타일 데이터 및 보고서 데이터를 캐시하므로 과도한 수의 캐시 쿼리가 엔진에 제출되고 극단적인 경우 서버가 오버로드됩니다. ClientCacheRefreshPolicy 속성을 사용하면 서버 수준에서 이 동작을 재정의할 수 있습니다. 자세한 내용은 일반 속성을 참조하세요.
온라인 연결
이 기능은 테이블 형식 모델을 온라인 작업으로 연결하는 기능을 제공합니다. 온라인 연결 기능은 온-프레미스 쿼리 스케일 아웃 환경에서 읽기 전용 복제본을 동기화하는 데 사용할 수 있습니다. 온라인 연결 작업을 수행하려면 XMLA 연결 명령의 AllowOverwrite 옵션을 사용합니다.
이 작업을 수행하려면 새 버전을 로드하는 동안 이전 버전을 온라인 상태로 유지하기 위해 모델 메모리의 두 배가 필요할 수 있습니다.
일반적인 사용 패턴은 다음과 같습니다.
DB1(버전 1)은 읽기 전용 서버 B에 이미 연결되어 있습니다.
DB1(버전 2)은 쓰기 서버 A에서 처리됩니다.
DB1(버전 2)은 분리되어 서버 B가 액세스할 수 있는 위치(공유 위치 또는 robocopy 등을 사용)에 배치됩니다.
AllowOverwrite=True를 사용하는 Attach 명령은 서버 B에서 DB1(버전 2)의 새 위치로 실행됩니다.
이 기능이 없으면 관리자는 먼저 데이터베이스를 분리한 다음 새 버전의 데이터베이스를 연결해야 합니다. 이로 인해 사용자가 데이터베이스를 사용할 수 없는 경우 가동 중지 시간이 발생하며 이에 대한 쿼리가 실패합니다.
이 새 플래그를 지정하면 데이터베이스의 버전 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는 SQL Server 2012 이후 가장 중요한 몇 가지 향상된 기능을 확인합니다. 테이블 형식 모드의 성공(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 호환성 수준을 선택할 수 있습니다.
Visual Studio에서 기존 테이블 형식 모델을 업그레이드하려면 솔루션 탐색기에서 Model.bim을 마우스 오른쪽 단추로 클릭한 다음 속성에서 호환성 수준 속성을 SQL Server 2017(1400)로 설정합니다.
기존 모델을 1400으로 업그레이드한 후에는 다운그레이드할 수 없다는 점에 유의해야 합니다. 1200 모델 데이터베이스의 백업을 유지해야 합니다.
최신 데이터 가져오기 환경
데이터 원본에서 테이블 형식 모델로 데이터를 가져오는 경우 SSDT는 1400 호환성 수준에서 모델에 대한 최신 데이터 가져오기 환경을 도입합니다. 이 새로운 기능은 Power BI Desktop 및 Microsoft Excel 2016의 유사한 기능을 기반으로 합니다. 최신 데이터 가져오기 환경은 데이터 가져오기 쿼리 작성기 및 M 식을 사용하여 엄청난 데이터 변환 및 데이터 매시업 기능을 제공합니다.
최신 데이터 가져오기 환경은 광범위한 데이터 원본을 지원합니다. 앞으로 업데이트에는 더 많은 지원이 포함됩니다.
강력하고 직관적인 사용자 인터페이스를 사용하면 데이터 및 데이터 변환/매시업 기능을 그 어느 때보다 쉽게 선택할 수 있습니다.
최신 데이터 가져오기 환경 및 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"
}
비정형 계층 구조
테이블 형식 모델에서는 부모-자식 계층을 모델링할 수 있습니다. 수준이 다른 계층을 비정형 계층이라고도 합니다. 기본적으로 비정형 계층은 가장 낮은 자식 아래의 수준에 공백이 표시된 채로 나타납니다. 다음은 조직도에서 비정형 계층 구조의 예입니다.
이 릴리스에서는 멤버 숨기기 속성을 소개합니다. 계층 구조에 대한 멤버 숨기기 속성을 설정하여 빈 멤버를 숨길 수 있습니다.
비고
모델의 빈 멤버는 빈 문자열이 아닌 DAX 빈 값으로 표시됩니다.
빈 멤버 숨기기로 설정하고 모델을 배포하면 Excel과 같은 보고 클라이언트에 보다 쉽게 읽을 수 있는 계층 구조 버전이 표시됩니다.
세부 정보 행
이제 측정값에 기여하는 사용자 지정 행 집합을 정의할 수 있습니다. 세부 행은 다차원 모델의 기본 드릴스루 액션과 유사합니다. 이렇게 하면 최종 사용자가 집계된 수준보다 더 자세히 정보를 볼 수 있습니다.
다음 피벗 테이블은 Adventure Works 샘플 테이블 형식 모델의 연간 Internet Total Sales를 보여 줍니다. 측정값에서 집계된 값이 있는 셀을 마우스 오른쪽 단추로 클릭한 다음 세부 정보 표시 를 클릭하여 세부 정보 행을 볼 수 있습니다.
기본적으로 Internet Sales 테이블의 연결된 데이터가 표시됩니다. 테이블에 고객 이름 및 주문 정보와 같은 유용한 정보를 표시하는 데 필요한 열이 없을 수 있으므로 이 제한된 동작은 사용자에게 의미가 없는 경우가 많습니다. 세부 정보 행을 사용하면 측정값에 대해 Detail Rows Expression 속성을 지정할 수 있습니다.
측정값에 대한 세부 행 식 속성
측정값에 대한 Detail Rows Expression 속성을 사용하면 모델 작성자가 최종 사용자에게 반환된 열과 행을 사용자 지정할 수 있습니다.
SELECTCOLUMNS DAX 함수는 일반적으로 세부 정보 행 식에 사용됩니다. 다음 예제에서는 샘플 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 값의 행만 표시됩니다.
테이블의 기본 세부 정보 행 식 속성
테이블에는 측정값 외에도 세부 정보 행 식을 정의하는 속성도 있습니다. 기본 세부 정보 행 식 속성은 테이블 내의 모든 측정값에 대한 기본값으로 사용됩니다. 자체 식이 정의되지 않은 측정값은 테이블에서 식을 상속하고 테이블에 대해 정의된 행 집합을 표시합니다. 이렇게 하면 식을 다시 사용할 수 있으며 나중에 테이블에 추가된 새 측정값은 식을 자동으로 상속합니다.
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의 기본 설치 옵션은 이제 테이블 형식 모드입니다.
- 새 데이터 가져오기(파워 쿼리) 데이터 원본
- SSDT용 DAX 편집기
- 기존 DirectQuery 데이터 원본은 M 쿼리를 지원합니다.
- 구조적 데이터 원본에 대한 보기, 편집 및 스크립팅 지원과 같은 SSMS 개선 사항
SSAS 2017에서 사용되지 않는 기능
이 릴리스에서는 다음 기능이 사용되지 않습니다.
모드/범주 | 특징 |
---|---|
다차원 | 데이터 마이닝 |
다차원 | 원격 연결된 측정값 그룹 |
표 형식의 | 1100 및 1103 호환성 수준의 모델 |
표 형식의 | 테이블 형식 개체 모델 속성 - Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage |
도구 | 추적 캡처용 SQL Server Profiler 대신 SQL Server Management Studio에 포함된 확장 이벤트 프로파일러를 사용합니다. SQL Server 확장 이벤트를 사용하여 Analysis Services 모니터링을 참조하세요. |
도구 | 트레이스 재생용 서버 프로파일러 교체. 대체 항목은 없습니다. |
추적 관리 개체 및 추적 API | Microsoft.AnalysisServices.Trace 개체(Analysis Services 추적 및 재생 개체에 대한 API 포함) 교체는 여러 부분으로 구성됩니다. - 추적 구성: Microsoft.SqlServer.Management.XEvent - 추적 읽기: Microsoft.SqlServer.XEvent.Linq - 추적 재생: 없음 |
SSAS 2017에서 지원되지 않은 기능
이 릴리스에서는 다음 기능이 지원되지 않습니다 .
모드/범주 | 특징 |
---|---|
표 형식의 | VertiPaqPagingPolicy 메모리 속성 값(2)은 메모리 매핑 파일을 사용하여 디스크에 페이징을 활성화합니다. |
다차원 | 원격 파티션 |
다차원 | 원격 연결된 측정값 그룹 |
다차원 | 차원 쓰기 저장 |
다차원 | 연결된 차원 |
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에는 향상된 성능, 더 쉬운 솔루션 작성, 자동화된 데이터베이스 관리, 양방향 교차 필터링을 통한 향상된 관계, 병렬 파티션 처리 등을 제공하는 많은 새로운 향상된 기능이 포함되어 있습니다. 이 릴리스의 가장 향상된 기능의 핵심은 테이블 형식 모델 데이터베이스에 대한 새로운 1200 호환성 수준입니다.
SQL Server 2016 서비스 팩 1(SP1) 분석 서비스
SQL Server 2016 서비스 SP1 Analysis Services는 Intel TBB( Intel 스레딩 빌딩 블록 )를 기반으로 NUMA(Non-Uniform Memory Access) 인식 및 최적화된 메모리 할당을 통해 향상된 성능과 확장성을 제공합니다. 이 새로운 기능은 더 적은 수의 강력한 엔터프라이즈 서버에서 더 많은 사용자를 지원하여 TCO(총 소유 비용)를 낮추는 데 도움이 됩니다.
특히 SQL Server 2016 SP1 Analysis Services는 다음과 같은 주요 영역에서 향상된 기능을 제공합니다.
- NUMA 인식 - 더 나은 NUMA 지원을 위해 Analysis Services 내의 메모리 내 엔진(VertiPaq)은 이제 각 NUMA 노드에 별도의 작업 큐를 유지 관리합니다. 이렇게 하면 세그먼트 검색 작업이 세그먼트 데이터에 대해 메모리가 할당되는 동일한 노드에서 실행됩니다. NUMA 인식은 4개 이상의 NUMA 노드가 있는 시스템에서만 기본적으로 사용하도록 설정됩니다. 2노드 시스템에서 원격 할당 메모리에 액세스하는 비용은 일반적으로 NUMA 관련 관리 오버헤드를 보증하지 않습니다.
- 메모리 할당 - Analysis Services는 모든 코어에 대해 별도의 메모리 풀을 제공하는 확장 가능한 할당자인 Intel 스레딩 빌딩 블록으로 가속화되었습니다. 코어 수가 증가함에 따라 시스템은 거의 선형적으로 확장할 수 있습니다.
- 힙 조각화 - 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의 테이블 형식 모델에 대한 양방향 교차 필터 를 참조하세요.
번역
이제 변환된 메타데이터를 테이블 형식 1200 모델에 저장할 수 있습니다. 모델의 메타데이터에는 Culture 필드, 번역된 캡션 및 번역된 설명이 포함됩니다. 번역을 추가하려면 SQL Server Data Tools에서 모델>번역 명령을 사용합니다. 자세한 내용은 테이블 형식 모델(Analysis Services)의 번역 을 참조하세요.
붙여넣은 테이블
이제 모델에 붙여넣은 테이블이 포함된 경우 1100 또는 1103 테이블 형식 모델을 1200으로 업그레이드할 수 있습니다. SQL Server Data Tools를 사용하는 것이 좋습니다. SSDT에서 CompatibilityLevel 을 1200으로 설정한 다음 SQL Server Analysis Services의 SQL Server 2017 인스턴스에 배포합니다. 자세한 내용은 Analysis Services의 테이블 형식 모델에 대한 호환성 수준을 참조하세요.
SSDT의 계산된 테이블
계산 테이블은 SSDT의 DAX 식 또는 쿼리를 기반으로 하는 모델 전용 생성입니다. 데이터베이스에 배포되는 경우 계산 테이블은 일반 테이블과 구별할 수 없습니다.
계산된 테이블에는 특정 역할에 기존 테이블을 노출하는 새 테이블 만들기를 포함하여 여러 가지 용도가 있습니다. 클래식 예제는 여러 컨텍스트(주문 날짜, 배송 날짜 등)에서 작동하는 Date 테이블입니다. 지정된 역할에 대한 계산 테이블을 만들면 이제 테이블 관계를 활성화하여 계산 테이블을 사용하여 쿼리 또는 데이터 상호 작용을 용이하게 할 수 있습니다. 계산 테이블의 또 다른 용도는 기존 테이블의 일부를 모델에만 존재하는 완전히 새로운 테이블로 결합하는 것입니다. 자세한 내용은 계산 테이블 만들기 를 참조하세요.
수식 수정
테이블 형식 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 관리자 그룹의 구성원으로 구성할 수 있습니다. 사용자 또는 그룹 선택 대화 상자에서 컴퓨터 도메인의 위치를 설정한 다음 컴퓨터 개체 형식을 추가합니다. 자세한 내용은 Analysis Services 인스턴스에 서버 관리 권한 부여를 참조하세요.
Analysis Services에 대한 DBCC
DBCC(데이터베이스 일관성 검사기)는 내부적으로 실행되어 데이터베이스 로드 시 잠재적인 데이터 손상 문제를 검색하지만 데이터 또는 모델의 문제가 의심되는 경우 요청 시 실행할 수도 있습니다. DBCC는 모델이 테이블 형식인지 다차원인지에 따라 다른 검사를 실행합니다. 자세한 내용은 Analysis Services 테이블 형식 및 다차원 데이터베이스에 대한 DBCC(데이터베이스 일관성 검사기) 를 참조하세요.
확장 이벤트 업데이트
이 릴리스에서는 SQL Server Management Studio에 그래픽 사용자 인터페이스를 추가하여 SQL Server Analysis Services 확장 이벤트를 구성하고 관리합니다. 실시간 데이터 스트림을 설정하여 서버 활동을 실시간으로 모니터링하거나, 세션 데이터를 메모리에 로드하여 더 빠르게 분석하거나, 오프라인 분석을 위해 파일에 데이터 스트림을 저장할 수 있습니다. 자세한 내용은 SQL Server 확장 이벤트를 사용하여 Analysis Services 모니터링을 참조하세요.
스크립팅
테이블 형식 모델에 대한 PowerShell
이 릴리스에는 호환성 수준 1200의 테이블 형식 모델에 대한 PowerShell 기능이 포함되어 있습니다. 적용 가능한 모든 cmdlet과 테이블 형식 모드와 관련된 cmdlet(Invoke-ProcessASDatabase 및 Invoke-ProcessTable cmdlet)을 사용할 수 있습니다.
SSMS 스크립팅 데이터베이스 작업
최신 SSMS(SQL Server Management Studio)에서 만들기, 변경, 삭제, 백업, 복원, 연결, 분리를 비롯한 데이터베이스 명령에 대해 스크립트가 사용하도록 설정되었습니다. 출력은 JSON의 TMSL(테이블 형식 모델 스크립팅 언어)입니다. 자세한 내용은 TMSL(테이블 형식 모델 스크립팅 언어) 참조 를 참조하세요.
Analysis Services DDL 실행 작업
Analysis Services DDL 실행 태스크는 이제 TMSL(테이블 형식 모델 스크립팅 언어) 명령도 허용합니다.
SSAS PowerShell cmdlet
SSAS PowerShell cmdlet Invoke-ASCmd 는 이제 TMSL(테이블 형식 모델 스크립팅 언어) 명령을 수락합니다. 다른 SSAS PowerShell cmdlet은 새 테이블 형식 메타데이터를 사용하도록 향후 릴리스에서 업데이트될 수 있습니다(릴리스 정보에서 예외가 호출됨). 자세한 내용은 Analysis Services PowerShell 참조를 참조하세요.
SSMS에서 지원되는 TMSL(테이블 형식 모델 스크립팅 언어)
최신 버전의 SSMS를 사용하여 이제 테이블 형식 1200 모델에 대한 대부분의 관리 작업을 자동화하는 스크립트를 만들 수 있습니다. 현재 다음 작업을 스크립터할 수 있습니다. 모든 수준의 프로세스와 데이터베이스 수준에서 CREATE, ALTER, DELETE를 사용할 수 있습니다.
기능적으로 TMSL은 다차원 개체 정의를 제공하는 XMLA ASSL 확장과 동일합니다. 단, TMSL은 모델, 테이블 및 관계 와 같은 네이티브 설명자를 사용하여 테이블 형식 메타데이터를 설명합니다. 스키마에 대한 자세한 내용은 TMSL(테이블 형식 모델 스크립팅 언어) 참조 를 참조하세요.
테이블 형식 모델에 대해 생성된 JSON 기반 스크립트는 다음과 같을 수 있습니다.
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
페이로드는 위에 표시된 예제처럼 최소화되거나 전체 개체 정의 집합으로 매우 장식될 수 있는 JSON 문서입니다. TMSL(테이블 형식 모델 스크립팅 언어) 참조 는 구문을 설명합니다.
데이터베이스 수준에서 CREATE, ALTER 및 DELETE 명령은 익숙한 XMLA 창에 TMSL 스크립트를 출력합니다. 프로세스와 같은 다른 명령도 이 릴리스에서 스크립깅할 수 있습니다. 다른 많은 작업에 대한 스크립트 지원은 이후 릴리스에서 추가될 수 있습니다.
스크립트 가능 명령 | 설명 |
---|---|
창조하다 | 데이터베이스, 연결 또는 파티션을 추가합니다. ASSL에 해당하는 항목은 CREATE입니다. |
createOrReplace | 이전 버전을 덮어써 기존 개체 정의(데이터베이스, 연결 또는 파티션)를 업데이트합니다. ASSL의 대응은 AllowOverwrite가 true로 설정되고 ObjectDefinition이 ExpandFull로 설정된 ALTER입니다. |
삭제 | 개체 정의를 제거합니다. ASSL은 DELETE에 해당합니다. |
리프레쉬 | 개체를 처리합니다. ASSL에 해당하는 프로세스입니다. |
DAX (독일 주식 지수)
향상된 DAX 수식 편집
수식 입력줄을 업데이트하면 구문 색 지정을 사용하여 함수, 필드 및 측정값을 구분하여 수식을 보다 쉽게 작성할 수 있으며, 지능형 함수 및 필드 제안을 제공하고 오류 물결 기호를 사용하여 DAX 식의 일부가 잘못된지 알려줍니다. 또한 여러 줄(Alt + Enter) 및 들여쓰기(Tab)를 사용할 수 있습니다. 이제 수식 입력줄을 사용하면 측정값의 일부로 주석을 작성할 수 있습니다. "//"를 입력하기만 하면 같은 줄에 있는 이러한 문자 뒤의 모든 내용이 주석으로 간주됩니다.
DAX 변수
이제 이 릴리스에는 DAX의 변수에 대한 지원이 포함됩니다. 이제 변수는 식의 결과를 명명된 변수로 저장한 다음 다른 측정값 식에 인수로 전달할 수 있습니다. 변수 식에 대해 결과 값을 계산한 후에는 변수가 다른 식에서 참조되더라도 해당 값은 변경되지 않습니다. 자세한 내용은 VAR 함수를 참조하세요.
새로운 DAX 함수
이 릴리스에서 DAX는 Power BI에서 더 빠른 계산 및 향상된 시각화를 지원하기 위해 50개가 넘는 새로운 함수를 도입했습니다. 자세한 내용은 새 DAX 함수를 참조하세요.
불완전한 측정값 저장
이제 불완전한 DAX 측정값을 테이블 형식 1200 모델 프로젝트에 직접 저장하고 계속할 준비가 되면 다시 선택할 수 있습니다.
추가 DAX 기능 개선
- 비어있지 않은 계산 - 비어있지 않은 경우 필요한 검사 수를 줄입니다.
- Measure Fusion - 동일한 테이블의 여러 측정값이 단일 스토리지 엔진 - 쿼리로 결합됩니다.
- 그룹화 집합 - 쿼리가 여러 세분성(Total/Year/Month)에서 측정값을 요청하면 단일 쿼리가 가장 낮은 수준으로 전송되고 나머지 세분성은 가장 낮은 수준에서 파생됩니다.
- 중복 조인 제거 - 스토리지 엔진에 대한 단일 쿼리는 차원 열과 측정값을 모두 반환합니다.
- IF/SWITCH의 엄격한 평가 - 조건이 false인 분기는 더 이상 스토리지 엔진 쿼리가 발생하지 않습니다. 이전에는 분기가 열심히 평가되었지만 나중에 결과가 삭제되었습니다.
개발자
AMO의 테이블 형식 1200 프로그래밍 기능을 위한 Microsoft.AnalysisServices.Tabular 네임스페이스
AMO(Analysis Services Management Objects)는 SQL Server 2016 Analysis Services의 테이블 형식 모드 인스턴스를 관리하기 위한 새 테이블 형식 네임스페이스를 포함하고 테이블 형식 1200 모델을 프로그래밍 방식으로 만들거나 수정하기 위한 데이터 정의 언어를 제공하도록 업데이트되었습니다. Microsoft.AnalysisServices.Tabular를 방문하여 API를 읽어보십시오.
Analysis Services 관리 개체 (AMO) 업데이트
두 번째 어셈블리 Microsoft.AnalysisServices.Core.dll포함하도록 AMO(Analysis Services Management Objects)가 다시 고려되었습니다. 새 어셈블리는 서버 모드와 관계없이 Analysis Services에서 광범위한 애플리케이션이 있는 서버, 데이터베이스 및 역할과 같은 공통 클래스를 구분합니다. 이전에는 이러한 클래스가 원래 Microsoft.AnalysisServices 어셈블리의 일부였습니다. 새 어셈블리로 이동하면 제네릭 API와 컨텍스트별 API를 명확하게 구분하여 향후 AMO로 확장할 수 있는 길을 열어줍니다. 기존 애플리케이션은 새 어셈블리의 영향을 받지 않습니다. 그러나 어떤 이유로든 새 AMO 어셈블리를 사용하여 애플리케이션을 다시 빌드하도록 선택하는 경우 Microsoft.AnalysisServices.Core에 대한 참조를 추가해야 합니다. 마찬가지로 AMO를 로드하고 호출하는 PowerShell 스크립트는 이제 Microsoft.AnalysisServices.Core.dll로드해야 합니다. 스크립트를 반드시 업데이트해야 합니다.
BIM 파일에 대한 JSON 편집기
이제 Visual Studio 2015의 코드 뷰는 테이블 형식 1200 모델에 대해 BIM 파일을 JSON 형식으로 렌더링합니다. Visual Studio 버전은 기본 제공 JSON 편집기를 통해 BIM 파일이 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 속성은 선택 사항이지만 멤버의 값을 집계할 수 없으면 자동으로 선택됩니다. |
통계 | 열과 연결된 기본 데이터의 통계 집합입니다. 이러한 통계는 TPropertyStatistics 복합 형식으로 정의되며, 비즈니스 인텔리전스 주석이 포함된 개념 스키마 정의 파일 형식의 섹션 2.1.13.5에 설명된 대로 생성 비용이 계산 비용이 들지 않는 경우에만 제공됩니다. |
다이렉트쿼리
새 DirectQuery 구현
이 릴리스에서는 테이블 형식 1200 모델의 DirectQuery가 크게 향상되었습니다. 다음은 요약입니다.
- 이제 DirectQuery는 더 나은 성능을 제공하는 더 간단한 쿼리를 생성합니다.
- 모델 디자인 및 테스트에 사용되는 샘플 데이터 세트 정의에 대한 추가 제어
- 이제 DirectQuery 모드에서 테이블 형식 1200 모델에 대해 RLS(행 수준 보안)가 지원됩니다. 이전에는 RLS가 있으면 DirectQuery 모드에서 테이블 형식 모델을 배포할 수 없습니다.
- 이제 DirectQuery 모드에서 테이블 형식 1200 모델에 대해 계산 열이 지원됩니다. 이전에는 계산 열이 있으므로 DirectQuery 모드에서 테이블 형식 모델을 배포할 수 없습니다.
- 성능 최적화에는 VertiPaq 및 DirectQuery에 대한 중복 조인 제거가 포함됩니다.
DirectQuery 모드에 대한 새 데이터 원본
DirectQuery 모드에서 테이블 형식 1200 모델에 대해 지원되는 데이터 원본에는 이제 Oracle, Teradata 및 Microsoft Analytics Platform(이전의 병렬 데이터 웨어하우스)이 포함됩니다. 자세한 내용은 DirectQuery 모드를 참조하세요.
SSAS 2016에서 사용되지 않는 기능
이 릴리스에서는 다음 기능이 사용되지 않습니다.
모드/범주 | 특징 |
---|---|
다차원 | 원격 파티션 |
다차원 | 원격 연결된 측정값 그룹 |
다차원 | 차원 쓰기 저장 |
다차원 | 연결된 차원 |
다차원 | 사전 관리 캐싱에 대한 SQL Server 테이블 알림입니다. 대안은 사전 캐싱을 위해 폴링을 사용하는 것입니다. 자동 관리 캐싱(차원) 및 자동 관리 캐싱(파티션)을 참조하세요. |
다차원 | 세션 큐브. 대체 항목은 없습니다. |
다차원 | 로컬 큐브. 대체 항목은 없습니다. |
표 형식의 | 테이블 형식 모델 1100 및 1103 호환성 수준은 향후 릴리스에서 지원되지 않습니다. 대체는 호환성 수준 1200 이상에서 모델을 설정하여 모델 정의를 테이블 형식 메타데이터로 변환하는 것입니다. Analysis Services의 테이블 형식 모델에 대한 호환성 수준을 참조하세요. |
도구 | 추적 캡처용 SQL Server Profiler 대신 SQL Server Management Studio에 포함된 확장 이벤트 프로파일러를 사용합니다. SQL Server 확장 이벤트를 사용하여 Analysis Services 모니터링을 참조하세요. |
도구 | 트레이스 재생용 서버 프로파일러 교체. 대체 항목은 없습니다. |
추적 관리 개체 및 추적 API | Microsoft.AnalysisServices.Trace 개체(Analysis Services 추적 및 재생 개체에 대한 API 포함) 교체는 여러 부분으로 구성됩니다. - 추적 구성: 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 버전 업그레이드
이제 AMO(Analysis Services Management Objects), ADOMD.NET 및 TOM(테이블 형식 개체 모델) 클라이언트 라이브러리가 .NET 4.0 런타임을 대상으로 합니다. 이는 .NET 3.5를 대상으로 하는 애플리케이션의 호환성이 손상되는 변경일 수 있습니다. 이러한 어셈블리의 최신 버전을 사용하는 애플리케이션은 이제 .NET 4.0 이상을 대상으로 해야 합니다.
AMO 버전 업그레이드
이 릴리스는 AMO(Analysis Services Management Objects)의 버전 업그레이드이며, 특정 상황에서 호환성을 해치는 변경입니다. AMO를 호출하는 기존 코드 및 스크립트는 이전 버전에서 업그레이드하는 것처럼 이전처럼 계속 실행됩니다. 그러나 애플리케이션을 다시 컴파일 해야 하고 SQL Server 2016 Analysis Services 인스턴스를 대상으로 하는 경우 다음 네임스페이스를 추가하여 코드 또는 스크립트가 작동하도록 해야 합니다.
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
이제 코드에서 Microsoft.AnalysisServices 어셈블리를 참조할 때마다 Microsoft.AnalysisServices.Core 네임스페이스가 필요합니다. 이전에 Microsoft.AnalysisServices 네임스페이스에만 있던 개체는 테이블 형식 및 다차원 시나리오에서 동일한 방식으로 사용되는 경우 이 릴리스의 Core 네임스페이스로 이동됩니다. 예를 들어 서버 관련 API는 Core 네임스페이스로 재배치됩니다.
이제 네임스페이스가 여러 개 있지만 둘 다 동일한 어셈블리(Microsoft.AnalysisServices.dll)에 있습니다.
XEvent DISCOVER 변경 내용
SSMS에서 SQL Server 2016 Analysis Services의 XEvent DISCOVER 스트리밍을 더 잘 지원하기 위해, DISCOVER_XEVENT_TRACE_DEFINITION
가 다음 XEvent 추적으로 대체됩니다.
이벤트 패키지 발견하기
DISCOVER_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
SSAS 2016의 동작 변경
SharePoint 모드의 Analysis Services
더 이상 설치 후 작업으로 Power Pivot 구성 마법사를 실행할 필요가 없습니다. 이는 현재 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 모드 를 참조하세요.
정의
사용되지 않는 기능은 향후 릴리스에서 제품에서 중단되지만 이전 버전과의 호환성을 유지하기 위해 여전히 지원되고 현재 릴리스에 포함됩니다. 향후 릴리스와의 호환성을 유지하기 위해 신규 및 기존 프로젝트에서 사용되지 않는 기능을 사용하지 않는 것이 좋습니다. 사용되지 않는 기능에 대한 설명서는 업데이트되지 않습니다.
지원되지 않는 기능은 이전 릴리스에서 더 이상 사용되지 않습니다. 현재 릴리스에 계속 포함될 수 있지만 더 이상 지원되지 않습니다. 지원되지 않은 기능은 명시된 릴리스 또는 이후 릴리스에서 완전히 제거될 수 있습니다.
호환성이 손상되는 변경으로 인해 현재 릴리스로 업그레이드한 후 기능, 데이터 모델, 애플리케이션 코드 또는 스크립트가 더 이상 작동하지 않습니다.
동작 변경은 이전 릴리스와 비교하여 현재 릴리스에서 동일한 기능이 작동하는 방식에 영향을 줍니다. 중요한 동작 변경 내용만 설명합니다. 사용자 인터페이스의 변경 내용은 포함되지 않습니다. 기본값 변경, 업그레이드 또는 복원 기능을 완료하는 데 필요한 수동 구성 또는 기존 기능의 새 구현은 모두 동작 변경의 예입니다.