Taller de Inteligencia de Negocios SQL Server Analysis Services SSAS Sesión 9.
Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT...
Transcript of Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT...
![Page 1: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/1.jpg)
WHO NEEDS SSAS WHEN YOU’VE GOT SQL?
Meagan Longoria
Colorado Springs SQL User Group
July 2016
![Page 2: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/2.jpg)
GETTING STARTED
Slides are on my blog:
DataSavvy.wordpress.com/Presentations.
Feel free to share questions and comments
throughout the presentation.
![Page 3: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/3.jpg)
ABOUT ME
Meagan Longoria
Solutions Consultant with BlueGranite
Organizer of SQL Saturday Kansas City (Sept 24, 2016)
Blog: http://datasavvy.wordpress.com
Twitter: @mmarie
LinkedIn: www.linkedin.com/in/meaganlongoria/
![Page 4: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/4.jpg)
WHY ARE YOU HERE?
Developer, DBA, Manager, Other?
Experience with SSAS?
Multidimensional or Tabular?
Reasons for Considering SSAS?
![Page 5: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/5.jpg)
WHY SSAS?
![Page 6: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/6.jpg)
IN THE BEGINNING
1998• SQL Server 7 OLAP Services
• MOLAP, ROLAP, HOLAP, MDX
2000
• Analysis Services 2000
• Data mining, parent-child dimensions, dimension security, distinct count
• Only one fact table per cube
![Page 7: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/7.jpg)
2005
• SQL Server Analysis Services 2005
• Unified Dimensional Model, AMO
2008
• SQL Server Analysis Services 2008
• Attribute relationships and aggregations
THEN CAME
![Page 8: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/8.jpg)
THEN THINGS GOT INTERESTING
2010• Power Pivot 1.0 released
2012
• SQL Server Analysis Services 2012
• Tabular & DAX, Multidimensional
2015• PowerBIV2 & PowerBI.com
2016
• SQL Server Analysis Services 2016:
• Tabular Model Scripting Language, parallel processing for multiple table partitions, bi-directional cross-filtering, enhanced direct query
![Page 9: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/9.jpg)
IN THE MEANTIME
The SQL Server Database Engine Grew Up
• Columnstore Indexes
• New analytic functions
• Memory-optimized tables
• Row-level security
![Page 10: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/10.jpg)
HAVE YOU HAD THE THOUGHT
With the features available in the SQL 2014
and 2016 engine…
Is SSAS still useful?
![Page 11: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/11.jpg)
HAVE YOU HAD THE THOUGHT
IT DEPENDS
![Page 12: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/12.jpg)
WHY DO WE USE SSAS
Speed
Security
Multi-dimensional analysis
Avoid resource contention with the source system
Consolidate from multiple sources
Shared metadata (joins, hierarchies, KPIs, etc.)
![Page 13: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/13.jpg)
BI SEMANTIC MODEL ARCHITECTURE
![Page 14: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/14.jpg)
MY SUGGESTION BASED UPON SQL 2014
If all you need is increased speed while querying
large amounts of data, the relational engine may
provide your solution.
Shared metadata, security, and ease of ad hoc
analysis may make SSAS worth consideration.
![Page 15: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/15.jpg)
WHY DO WE USE SSAS
Speed
Security
Multi-dimensional analysis
Avoid resource contention with the source system
Consolidate from multiple sources
Shared metadata (joins, hierarchies, KPIs, etc.)
![Page 16: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/16.jpg)
MY SUGGESTION BASED UPON SQL 2016
It’s the metadata, stupid!*
*Note: I’m not calling you stupid. This is pop culture/history reference.
![Page 17: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/17.jpg)
THE FUTURE IS HERE AND OLAP IS IN IT
![Page 18: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/18.jpg)
UNDERSTAND MODES & FEATURES
![Page 19: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/19.jpg)
CHOOSE YOUR MODE
![Page 20: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/20.jpg)
MULTIDIMENSIONAL
• OLAP engine
• MDX
• Can be larger than server memory
• Multiple cubes per database
• Script with Biml
• ROLAP
• Process partitions in parallel
• Data mining
• In-memory xVelocity Engine
• DAX (can translate MDX)
• In-memory means it must fit on server
• Single model per database
• Tabular Model Scripting Language in 2016
• Direct query w/ DAX limitations until 2016
• Process partitions serially until 2016
• Better performance on distinct counts
TABULAR
DIFFERENCES – ENGINE/DATABASE
![Page 21: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/21.jpg)
DEMO: SSAS IN MANAGEMENT STUDIO
![Page 22: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/22.jpg)
MULTIDIMENSIONAL
• Native parent-child hierarchies
• Many-to-many relationships
• Native drillthrough
• Writeback
• Named sets
• Role-playing dimensions
• Dimension attributes for
optimization, discretization, default
member, aggregation
• Parent-child hierarchies through DAX
• M2M through DAX and many calculations
• Drillthrough with BIDS Helper
• Integrate different data sources
• Flexible model (no true dimension/fact)
• Role-playing dimension with calculated table
in 2016
• Upgrade path from Power Pivot,
workaround to upgrade from Power BI
TABULAR
DIFFERENCES – FEATURES
![Page 23: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/23.jpg)
DEMO: ATTRIBUTES, RELATIONSHIPS & ROLE PLAYING DIMENSIONS
![Page 24: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/24.jpg)
DEMO: MANY-TO-MANY RELATIONSHIPS & PARENT-CHILD HIERARCHIES
![Page 25: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/25.jpg)
USE OF SSAS WITH CLIENT TOOLS
![Page 26: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/26.jpg)
COMMONLY USED CLIENT TOOLS
• Excel: Pivot Tables and Cube Functions
• SSRS: Uses ADOMD client; MDX or GUI
• .NET: ADOMD or OLEDB
• Alternative: SQL Server using OPENROWSET
![Page 27: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/27.jpg)
CLIENT TOOLS QUERYING SSAS
![Page 28: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/28.jpg)
THE PAYOFF: MIXED USE ENVIRONMENTS
• SSAS database provides shared semantic layer
• Canned reports through SSRS
• Ad hoc browsing through PowerBI, Excel, or Tableau
• Applications with embedded reporting using ADOMD
connection
![Page 29: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/29.jpg)
FURTHER READING: SSAS
• Why use SSAS: http://www.jamesserra.com/archive/2013/08/why-use-a-ssas-
cube/
• Why Analysis Services: http://www.angelsbiblog.com/2013/01/why-analysis-
services.html
• https://msdn.microsoft.com/en-us/library/hh212940.aspx
• Why do I need a cube: http://blog.datainspirations.com/2011/05/11/sqlu-ssas-
week-why-do-i-need-a-cube-how-do-i-get-started/
• AtScale OLAP on Hadoop: http://talkincloud.com/iaas/atscale-partners-
microsoft-big-data
• Differences between OLAP & Tabular:
http://www.codemag.com/Article/1308091
• Choosing a tabular or multidimensional experience:
https://msdn.microsoft.com/en-us/library/Hh994774.aspx
• What’s new in SSAS 2016:
https://msdn.microsoft.com/en-us/library/bb522628.aspx
![Page 30: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/30.jpg)
FURTHER READING: SSAS
• PowerPivot vs SSAS Tabular vs SSAS MD:
http://www.sqlchick.com/entries/2012/3/4/decisions-powerpivot-ssas-tabular-
or-ssas-multidimensional-m.html
• Large Scale Tabular SSAS whitepaper:
http://sqlblog.com/blogs/marco_russo/archive/2014/06/05/white-paper-on-
analysis-services-tabular-large-scale-solution-ssas-tabular.aspx
• Optimizing M2M calculations: https://www.sqlbi.com/articles/optimize-many-to-
many-calculation-in-dax-with-summarize-and-cross-table-filtering/
• SSAS MOLAP Performance Guide:
https://msdn.microsoft.com/en-us/library/Dn749781.aspx
• Establishing Connections in ADOMD.NET: https://msdn.microsoft.com/en-
us/library/ms123468.aspx
• Direct Query Mode (SSAS Tabular): https://msdn.microsoft.com/en-
us/library/hh230898.aspx
• Calculated Tables in Power BI: http://www.radacad.com/scenarios-of-using-
calculated-tables-in-power-bi
![Page 31: Who Needs SSAS When You’ve Got SQL? - · PDF fileWHO NEEDS SSAS WHEN YOU’VE GOT SQL? Meagan Longoria Colorado Springs SQL User Group July 2016](https://reader030.fdocuments.us/reader030/viewer/2022020120/5a849a057f8b9a87368c1cbc/html5/thumbnails/31.jpg)
QUESTIONS/COMMENTS
Meagan Longoria
Solutions Consultant with BlueGranite
Blog: http://datasavvy.wordpress.com
Twitter: @mmarie
LinkedIn: www.linkedin.com/in/meaganlongoria/