Let’s Build a Tabular Model in Azure Analysis Services is in Azure? Seriously!? Let's build a model! 2019-03-23 Phillip Labry
SQL Saturday #825 Thank you Sponsors! Event After Party Please visit the sponsors and enter their end-of-day raffles. Event After Party After party is at Bar Louie in Naperville Want More Free Training? https://chicago.pass.org/
Phillip Labry Solution Architect IT development for over 25 years Developer, DBA, BI Architect, Consultant Experience with Manufacturing, Telecom, Banking, Retail, Government, Insurance, Healthcare, Consulting, Energy, Finance Twitter: @phillipLabry Blog: http://phillip.labry.com
Today’s scenario
Today’s scenario
Basic Terms Measure Numeric value that can be aggregated (Sales Amount) Fact Collection of fields mainly consisting of Measures Dimension Table of values that describes a fact (people, places, things) Star Schema Dimension tables radiating out from a related fact table Snowflake Schema Dimensions related to other dimensions Aggregate A mathematical summarization of measures Attribute Another name for Column(used in Dimensions)
What is Analysis Services? Analytical database designed to be business facing Optimized for aggregating huge data sets Two flavors: OLAP and Tabular Two Query languages: MDX and DAX
Benefits of Azure Analysis Services Scale up, down, in, out and pause No hardware required Inherent redundancy Explore data from anywhere Use the tools you love and know SSMS, SSDT, Power BI, Excel
Why Azure Analysis Services? Upsize from Power BI Faster data refreshes Adjust for peak workloads New features quicker Save on hardware costs, IT infrastructure Data Security
Model Types In Memory Direct Query
Supported data sources – On Premises In Memory and Direct Query SQL Server PDW / APS Oracle Teradata
Supported data sources – On Premises In Memory only Access Database Exchange OData Feed SAP HANA Active Directory Folder ODBC query SAP Business Warehouse Analysis Services IBM Informix OLE DB SharePoint Analytics Platform System JSON document Postgre SQL Database Sybase Database Dynamics CRM Lines from binary Salesforce Objects XML table Excel workbook MySQL Database Salesforce Reports
Supported data sources - Azure In-memory DirectQuery Azure SQL Database Yes Azure SQL Data Warehouse Azure Blob Storage No Azure Table Storage Azure Cosmos DB Azure Data Lake Store Azure HDInsight HDFS Azure HDInsight Spark
BI Semantic Model: Vision (2012) Data model Business logic and queries Data access ROLAP MOLAP xVelocity Direct Query MDX DAX Multi- dimensional Tabular Third-party applications Reporting Services Excel PowerPivot Databases LOB Applications Files OData Feeds Cloud Services SharePoint Insights Power View
BI Semantic Model (Azure Analysis Services)
For Development DO NOT CHOOSE PRODUCTION SERVER FOR WORKSPACE Use Developer Tier pricing Remember to pause your machines
Dimensions Wide and shallow Describe facts Can contain hierarchies Can contain calculated columns
Hierarchies Predefine common hierarchies for the users Hierarchies are defined from largest group to smallest Year Quarter Month Hide columns used for hierarchies where appropriate
Fact Tables Deep and narrow Mostly measures(Numbers) Keys to dimensions(Ints) Natural repository for calculated measures
Calculated columns and Measures Created in the model only Calculated measures execute when called based on filter context Calculated columns are created on data load and persist in memory
Requirements Azure account Azure Active Directory Tenant(MS live accounts are not supported) Directory integration between AAD and on premises AD is recommended but not required Resource Group Create a server
Demo
Current Pricing QPUS MEMORY (GB) Hourly Price Monthly Price B1 40 10 $0.43/hr ~$313.90 B2 80 20 $0.86/hr ~$627.80 Developer 3 $0.132/hr ~$96.36
Current Pricing QPUS MEMORY (GB) Hourly Price Monthly Price S0 40 10 $0.81/hr ~$591.30 S1 100 25 $2.03/hr ~$1,481.90 S2 200 50 $4.06/hr ~$2,963.80 S4 400 $8.11/hr ~5,920.30 S8 320 S9 640
Tips for development Clean table names on first import Settle on column names before creating any calculated columns or measures Flatten out snowflakes where possible Avoid creating calculated columns for intermediate measures Use views for source data Use meaningful and verbose names Use attribute properties and formatting
Current Azure Analysis Services challenges Preview only Backups Limited source data No Power BI connectivity
Additional resources https://www.sqlbi.com/ https://blog.pragmaticworks.com/ https://blog.crossjoin.co.uk/ https://docs.microsoft.com/en-us/azure/analysis-services
Thank you @PhillipLabry @RedshirtData