Introduction to Azure Analysis Services
Shabnam Watson
Shabnam WatsonBI Consultant
Work: BI Consultant17 Years of experience developing data warehouse and business intelligence solutions with focus on Analysis Services and Power BI.
BackgroundMaster's degree in computer science. Certified Business Intelligence Professional (CBIP) by The Data Warehouse Institute (TDWI).
SpeakingPASS Summit, SQL Saturdays, Women In Technology Virtual Chapter and Atlanta SQL Server user groups.
/ShabnamWatson
@shbWatson
BLOG: https://shabnamwatson.wordpress.com
What’s covered
• Intro to Analysis Services Tabular.• How to provision Azure Analysis Services servers• Cost• Create/Deploy a model using Visual Studio• Use PBI Desktop to explore data
About you:
SQL Developer BI Developer DevOpsDBAs
All Photos by Unknown Author is licensed under CC BY-SA
What is Analysis Services?
Enterprise BI Engine optimized for BI queries20 years old
Data SourceETL
Analysis ServicesCubes/Models
Reports
This Photo by Unknown Author is licensed under CC BY-SA
Ghost photo by Unknown Author is licensed under CC BY-NC-ND
The elephant in the room
This Photo by Unknown Author is licensed under CC BY-NC-ND
Azure Analysis Servicesor Power BI?
Oh, the places…
On-Prem
SSAS
Enterprise BI Self Service BI
CloudAAS PBI Service
Enterprise and Self Service BI
This Photo by Unknown Author is licensed under CC BY-NC-ND
SQL Server Analysis Services (SSAS)
On-Prem Reporting Tools
Power BI Report Server
Development Management Tools
SSAS Databases
Azure Analysis Services (AAS)
Cloud Reporting Tools
Power BI Report Server
Development Management Tools
AAS Databases
Power BI Service
Cloud Reporting Tools
Power BI Report Server
XMLA End Point Development Management Tools
PBI Service
Datasets
Premium
Power BI: Super Set of Analysis Services
Cloud Reporting Tools
Power BI Report Server
Development Management Tools
?
PBI Service
XMLA End PointPremium
Relational Model vs. Tabular Model
Relational Model
5/21/201913 |
Date Key Product Key Order Qty Sales Amount20180602 528 10 500
Internet Sales
Date Key Year Quarter Month Day20180602 2018 2 June 6
Date
Product Key Product Name Color528 Tire Tube Black
Product
Relational Model
5/21/201914 |
Select Year, SUM([Order Qty]) as OrdersFrom [Internet Sales]Inner Join [Date]On [Internet Sales].DateKey = [Date].DateKeyGroup By YearOrder BY year
ProductInternet Sales
Date
Date KeyProduct KeyOrder QtySales Amount
Date KeyYearQuarterMonthDay
Product KeyProduct NameColor
tabletable
table
Tabular Semantic Model
5/21/201915 |
ProductInternet Sales
Date
Date KeyProduct KeyOrder QtySales Amount
Date KeyYearQuarterMonthDay
Product KeyProduct NameColor
tabletable
table
Order Quantity := SUM([OrderQuantity])
Relationships between tables already definedCalculations predefined: DAX
DAX: Data Analysis Expressions
• Measures• Calculated columns and tables• Query
Measure Name := DAX ExpressionOrder Quantity := SUM([OrderQuantity])
Tabular Model Storage Modes
Tabular Storage Mode Query Time Processing TimeIn Memory: VertiPaqDirectQuery
Data Source
Analysis Services
Report
VertiPaq
5/21/201918 |
Fact Tables
Dimension Tables
Row Storage or CCIOn disk
ProductInternet Sales
Date
Analysis Services Model
User Queries
SQL Database
DAX Calcs
Column by column In MemoryQuery Results are cached
In Memory vs. Direct QueryIn Memory (VertiPaq) Direct QueryData in SSAS/AS memory Data in sourceColumnar SQL Server choiceNo DAX restrictions Some functions optimized, some only
allowed in measuresCalculated tables allowed Calculated tables not allowedPartitions allowed One partition only (plus sample)Multiple data sources One data source
Tabular Compatibility LevelsCompatibility Level Scripting Language SSAS Version
1500 TMSL SQL Server 2019 CTP
1400 TMSL SQL Server 2017/Azure AS
1200 TMSL SQL Server 2016
1103 ASSL (XMLA) SQL Server 2014
1100 ASSL (XMLA) SQL Server 2012
How to set up Azure AS?Azure PortalAzure subscriptionResource Group
On-premises data gateway if …
Much faster than setting up SSAS on a local server
Azure AS Pricing:Tier Level QPU Memory GB Monthly Cost $Developer D1 20 3 98Basic B1 40 10 319Basic B2 80 20 639Standard* S0 40 10 602Standard S1 100 25 1,510Standard S2 200 50 3,020Standard S4 400 100 6,033Standard S8 320 200 7,722Standard S9 640 400 15,445Pricing assumes running full time. 25 QPU approximately equal to 1 virtual core
ReplicasRead only copiesTotal of 8
When concurrent users > QPUProcessing during heavy use
Replicas synced when created, after that have to be synced after each process.
Price Calculator: S9
https://azure.microsoft.com/en-us/pricing/calculator/?service=analysis-services
BISM Normalizer
Deployment Cycle
While working in Visual StudioWorkspace Server
Deployment Server: Processing
Read onlyreplicas
Sync
Demo
Automation: ProvisionNew-AzAnalysisServicesServer
-ResourceGroupName “Analysis-Services“-Name "servername“-Sku "S0"-Location "eastus2"
Service Pause/StartSuspend-AzAnalysisServicesServer -ResourceGroupName "Analysis-Services" -Name "servername"
Resume-AzAnalysisServicesServer -ResourceGroupName "Analysis-Services" -Name "servername"
Back to the elephant in the room
Should I use Azure Analysis ServiceOr Power BI?
This Photo by Unknown Author is licensed under CC BY-ND
Why Azure AS?Existing on-prem solution/skills and your data source is moving to the cloud.No actual server to maintain, patch.Best hardware requirements for best performance.Get the latest features.Scaling up/out easily done.Connect from most front end tools.Dedicated capacity up to 400 GB.Don’t have Power BI Premium – Still want one version of truth: governance, quality control.Price?
Power BI Pricing:
Power BI Pro: $9.99 per user per month – 1GBPower BI Premium: $4,995 per month - 10 GB
Power BI Pricing:
Power BI Premium: $4,995 per month*10 GB per model – 100 TB total storage
AAS tier Level QPU Memory GB Monthly Cost $Standard S2 200 50 3,020Standard S4 400 100 6,033
* https://powerbi.microsoft.com/en-us/pricing/
Self Service BI – Enterprise BISelf Service EnterpriseMany small models Few modelsLittle governance More governanceHard to QA all models A coupe of models to QAFast development Slower development
From PBI model to Azure AS modelConnect to PBI file from Power BI Helper / DAX Studio and get the port numberConnect to localhost:/port number from SSMSScript database Run script on target SSAS/AS serverImport back into Visual Studio
Thank you!
What question do you have for me?
Contact/ShabnamWatson@[email protected]
https://shabnamwatson.wordpress.com
SSAS GeneralClient Connectivity LibrariesWhat’s new in SSAS 2017Sample databasesDAX ReferenceTMSL Language ReferenceDirect Query ModeTabular Model ExplorerPower Query (M) Reference
ReferencesAzure Analysis ServicesAnalysis Services TutorialsPower BI ServicePower BI Architecture Diagram