SQL Server Analysis Services - Microsoft · SQL Server Oracle MySQL JSON File Excel File Power...

Post on 20-May-2020

24 views 0 download

Transcript of SQL Server Analysis Services - Microsoft · SQL Server Oracle MySQL JSON File Excel File Power...

SQL Server Analysis ServicesProtocol and Test Suite Intro

Max Wang

SQL OIPI Test Development Team

Agenda

Understand SSAS

'Who' is SSAS?

SemanticData Models

I’m an Analytical Data Engine

Decision Support

Business Analytics

Business Report&

Data Visualization

Where is SSAS?

SQL Server DBMS

Microsoft Business Intelligence

SQL ServerIntegration

Services

Data

SQL ServerAnalysis Services

SQL ServerReporting Services

SQL Server Oracle MySQL JSON File Excel File

Power Pivot in Excel

SharePoint

Power BI

APPs & Services

How does Semantic Model work?

Semantic Model Analysis Database

Data Warehouse

User

Reports

Deploy

AssignPermission

Get Data

Reporting Services

Why don’t just Query?

SSAS Semantic Modeling

Multidimensional

MS-SSAS

MS-SSAS-T

Tabular

1/3

1/10

Data Access of Multidimensional Model

ReportMultidimensional

Model

RelationalData Source

RetrieveData

DataSource Cube

Data Access of Tabular Model (Cached Mode)

In-MemoryCache

TabularModel

Report

RetrieveData

Data SourceData Feed File

Analysis Database

Query

VertiPaq

Data Access of Tabular Model (DirectQuery Mode)

TabularModel

ReportDirectQuery

Single

SQL Server

I heard there is an Azure Analysis Services...

Tabular 1200Tabular 1400

Tabular 1200Tabular 1400

Tabular 110xMultidimensional

Cloud

On-premises

Data MiningPowerPivot for SharePoint

More Details

Typical Message Sequence

Client

Server

Authentication Request (TCP)

Authentication Response (TCP)

SSAS Operation Request (Discover, Execute)

SSAS Operation Response (Discover Execute)

Create Connection

New Session Request

New Session Response

End of Session Request

End of Session ResponseClose Connection

Operations

Client Server

Authenticate Request

Authenticate Response

Discover Request

Discover Response

Execute Request

Execute Response

Generating a message

Encryp

tion

?

SOAP Message

SSAS Request

SSAS Response

DIME Bin

ary XM

L?

Co

mp

ressio

n?HTTP

DIME RecordTYPE Field

HTTP HeaderContent-Type

TCP IP

TCP

HTTP

HTTPS

GSS-API(RFC4178)

Parsing a message

Deco

de B

inary X

ML?

Deco

mp

ress?

Decryp

t?

CombineDIME

Records

SOAP Message

SSAS Request

SSAS Response

TCPIP

TCP

HTTP

Structure of SSAS message

Scripting Language

SOAPXMLA

Scripting Language Support

Version Multi-dimensional

Tabular 110x

Tabular 1200

Tabular 1400

SQL Server2019

ASSL ASSL TMSL TMSL

SQL Server 2017

ASSL ASSL TMSL TMSL

SQL Server 2016

ASSL ASSL TMSL TMSL

SQL Server 2014

ASSL ASSL NA NA

SQL Server 2012

ASSL ASSL NA NA

Analysis

Services

Scripting

Language

Tabular

Model

Scripting

Language

ASSL Sample

<Delete xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"><Object>

<DatabaseID>AdventureWorksDW2008_Create</DatabaseID></Object>

</Delete>

MultidimensionalTabular XMLA (for Compatibility Level 110x)

ASSL in XMLA

ASSL

TMSL Sample

"refresh": {"type": "automatic","objects": [{

"database": "Adventure Works "}

]}

Tabular JSON (for Compatibility Level 1200+)

TMSL in XMLA

TMSL

SSAS Objects - Multidimensional

Database

Assembly

Role

Trace

Cube

DataSource

DataSourceView

Dimension

Assembly

DatabasePermission

Role

Action

MeasureGroup

KPI

Measure

AggregationDesign

MDXScript

CubeDimensionPermission

CellPermission

MeasureGroupDimension

Partition

Server

Account

Perspective

CubePermission

Aggregation

CubeDimension

MDXScript

Query Language of Multidimensional

Cube

Car Sales

Jan. Feb. Mar. Apr. May.Time

Dimension

Beijing

Shanghai

Shenzhen

Chongqing

Wuhan

LocationDimension

BlackBlue

SilverRedColor

Dimension

Haidian

Fengtai

Chaoyang

DrillDown

China

RollUp

Black

Slice

1st Quarter

Dice

SwitchLocation &Time Dimension

Pivot

Miraculous Dimension

SSAS Objects - Tabular

Model

DataSource

Table

Relationship

Perspective

Culture

Role

Column

Partition

Measure

Hierarchy

PerspectiveTable

ObjectTranslation

DatabaseServerPerspective

Column

PerspectiveMeasure

PerspectiveHierarchy

LinguisticMetadata

RoleMembership

TablePermission

ExpressionExpression

Query Language of Tabular

MDX Query

New Calculation Group in SSAS 2019

Sales MTD

Sales QTD

Sales YTDSales Measure

Sales Table

Order Table

Sales ColumnInternetTotalSales

Order MTD

Order QTD

Order YTDOrders Measure

Orders Column

Calculation Groups sample

MTD QTD YTD

Calculation Items

Calculation Group

Sales Table

Order Table

Table

Calculation Groups sample

Simpler the better

Model Structure

Query & Calculate

Table

Column

Partition

Measure

Hierarchy

DAXIn-memory Database

VertiPaq Engine

Self-Service BI

Better Performance

AMO-TOM Assemblies

Test Suite

Open Specifications program

Interoperability Test Tools

• Microsoft Message Analyzer• Microsoft Protocol Test Suites• OData Validator• Plugfests and events• Interoperability labs• Microsoft Office Binary File Format Validator• Microsoft Exchange RPC Extractor

Why we need Test Suites?

Ensure the quality of Microsoft Open Specification

Help to evaluate partner implementations

Extend and integrate to customized product

Test Suites workflow

Open Specification

Requirement Specification

Test Suite

High Quality

Open Specification

Fix

Issue

Test Suite

SUTTestSuite

Demo

Resources

For Developers:AMO: https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/analysis-management-objects/amo-classes-introduction?view=sql-server-2017TOM: https://docs.microsoft.com/en-us/sql/analysis-services/tabular-model-programming-compatibility-level-1200/tabular-model-programming-for-compatibility-level-1200?view=sql-server-2017SQL Server 2016 Feature Pack download page: https://www.microsoft.com/en-us/download/details.aspx?id=52676SQL Server 2017 Feature Pack download page: https://www.microsoft.com/en-us/download/details.aspx?id=55992TestSuite Git: https://github.com/Microsoft/ProtocolTestFramework

For Newest News:Analysis Services Team Blog: https://blogs.msdn.microsoft.com/analysisservices/Open Specifications Dev Center: https://msdn.microsoft.com/en-us/openspecifications/

For BI Users:SSDT: https://docs.microsoft.com/en-us/sql/ssdt/sql-server-data-tools?view=sql-server-2017SSRS: https://docs.microsoft.com/en-us/sql/reporting-services/tools/reporting-services-tools?view=sql-server-2017Power BI: https://powerbi.microsoft.com/en-us/Power BI Blog: https://powerbi.microsoft.com/en-us/blog/Microsoft BI: https://www.microsoft.com/en-us/sql-server/business-intelligence