6. SQL Server Analysis Services Modes
• UDM (Multidimensional / Data Mining)
– Also called OLAP cubes
• BISM (Tabular)
– Business Intelligence Semantic Model
• PowerPivot for SharePoint
7. Why Use BISM?
• Quick and simple to set up (flexible model)
– Fast – in memory by default w/Vertipaq
– Connects to many types of data - flexible
– Overcomes the limits of PowerPivot
– Granular (role-based) security model
• Integrates with PowerView (data source in SPS)
12. How to Create / View models for BISM?
• Design in SSDT (or import from PowerPivot)
• Open in Excel, SharePoint or PowerView
• Can be used as data sources for SSRS in
SharePoint….
14. Parts of BISM
• Tabular Model Project in SSDT
• New or Import
• BISM – new or from PowerPivot via Excel
• Workspace Database (in memory by default)
• Views in BISM
• Data & Calculation
• Diagram
• Toolbars—create KPI, etc…
• Perspectives are supported as well
16. Enhancing Models
• Sort or Filter Table data
• Add Relationships
(diagram view)
• Add Hierarchies (diagram
view)
• Adding Calculated
Columns via DAX
• Adding Measures and
KPIs via DAX
• Improving Usability for
clients
17. Diagram View of BISM in SSDT
• Manage Relationships
• Create Hierarchies
18. What is DAX - Data Analysis Expressions
• Data-expression Query Language (Excel-like
simplified version of MDX
• Over 170 functions (64 functions for aggregation)
• Ability to reference data in other tables in the model
(sumx, averagex, related [many-to-one], relatedtable
[one-to-many] etc…)
20. How to use DAX with BISM modeling
• Define formula & Add to model
• DAX query language & query plans in 2012
– Uses ‘Evaluate’
• Samples
– = SalesTable [SalesTotalColumn] – SalesTable [SalesCostColumn]
– = FORMAT (SalesTable [SalesDate], “MMM”)
– = RELATED (DimCustomerSales[SalesAmount]) – RELATED
(DimCustomerCosts[SalesCost])
Relationship must be defined between tables when using RELATED
22. Enhancing the Model – Advanced View 2
• Set the Table Behavior
– Row ID
– Uniqueness
– Default Label
– Default Image
23. Tips for creating usable models
• Create Hierarchies
• Hide unneeded columns from client tools
• Rename columns to natural language
• Add relations or Add perspectives
• Format data in the model, i.e. percentages…
• Use DAX to remove nulls / errors
• Use a TimeTable
– Can use ‘mark as date table’
– Cam create a separate date table
33. Deployment of BISM in SSDT to SSAS
• Query Mode default is ‘In-Memory’
• Default Cube Name is Model.bim
34. About Query Modes
• InMemory is the default
• Query Mode (SSDT) / Direct Query Mode (SSMS)
• Direct Query mode can use Columnstore indexes
• Direct Query mode supports only a single data source
• Not all DAX functions work in Direct Query mode
39. DAX or MDX?
• MDX issuing clients (Excel) can
– talk to both multidimensional models and tabular models running in
VertiPaq (in-memory) mode
• MDX cannot
– be used to talk to DirectQuery models
• DAX issuing clients (Power View) can
– talk to tabular models (both kinds - VertiPaq and DirectQuery)
• DAX cannot
– be used to talk to multidimensional models. This functionality is on the
roadmap, but will not be present at RTM
40. Updating the data
• Can update subsets using partitions
• Can monitor update process via Profiler
41. Monitoring Resource Usage
• Can use Profiler
• Extended Events for monitoring
• Can use DMVs
• SSAS Operations Guide
42. Tips, Tricks & Gotchas
• Installation
• SSAS in either Tabular –or- UDM mode
• Needs prerequisites
• Development
• One BISM model per project
• Prefer DAX, not MDX
• Try it out in Excel while developing in SSDT
• Deployment
• Use partitions for granular updating
• Monitor via Profiler – plan for up to ½ data size
in server memory
43. Other Tools
• Cmdlets on CodePlex – here
• Klout case study whitepaper - here
• DAX studio/ intellisense - here
44. What about the UDM?
• UDM / Data Mining is fully supported in SSAS
• Must be installed in this mode
– Mutually exclusive to Tabular mode
• But, should you use it anymore?
45.
46. Resources
• SSAS Team Blog – here
• About DAX – MVP blog – here
• SQL 2012 tutorial - here
• Codeplex samples – here
• Klout case study whitepaper - here
47. • recipes)
www.TeachingKidsProgramming.org
• Free Courseware (
• Do a Recipe Teach a Kid (Ages 10 ++)
• Java or Microsoft SmallBasic
More about PowerView - http://technet.microsoft.com/en-us/library/hh213579(v=sql.110).aspx Excel add-in for MDS - http://www.microsoft.com/download/en/details.aspx?id=28149 More about column store index - http://msdn.microsoft.com/en-us/library/gg492088(v=SQL.110).aspx New data type (enhancement to filestream) – Filetable - http://msdn.microsoft.com/en-us/library/ff929144(v=sql.110).aspx#Description Also enhancements to Full-text indexing (adding ability to search file metadata for .pdf, etc…) Also CDC support for Oracle
From MSDN – determining the SSAS server mode -- Multidimensional and Data Mining (default - UDM), PowerPivot for SharePoint, or Tabular (BISM)
From MSDN – SSAS server mode names -- Multidimensional and Data Mining (default - UDM), PowerPivot for SharePoint, or Tabular (BISM) Very good summary of changes to SSAS in Stacia Meisner’s blog - http://blog.datainspirations.com/2012/02/11/3-big-changes-in-analysis-services-2012-enabling-flexible-design/
Overcomes the 2 GB Max in Excel Well-written blog post explaining: What is columnstore vs. Vertipaq? Why both are needed How customers may use both the UDM and the BISM http://www.marktab.net/datamining/index.php/2010/11/12/sql-server-data-mining-and-vertipaq-columnstore-indexes/
http://msdn.microsoft.com/en-us/sqlserver/hh323828.aspx About connecting in SharePoint - http://msdn.microsoft.com/en-us/library/hh230972(v=sql.110).aspx
About creating KPIs w/examples of DAX - http://msdn.microsoft.com/en-us/library/hh231698(v=sql.110).aspx When importing from PowerPivot to SSAS, source can not use Linked Tables (in Excel), if using Linked Tables, that data must be stored as part of the import
Other info Blog – using database images as a basis for BISM - https://denglishbi.wordpress.com/2011/12/09/using-database-images-in-tabular-bi-semantic-models-with-power-view/ Blog - Direct Query Impersonation Options Explained - http://blogs.msdn.com/b/cathyk/archive/2011/12/13/directquery-impersonation-options-explained.aspx
http://visualstudiogallery.msdn.microsoft.com/5be8704f-3412-4048-bfb9-01a78f475c64 More about BISM Normalizer Database Compare Consider Database Schema Compare in Visual Studio Premium or Ultimate (minimum $4,000 extra in Visual Studio licensing cost). Many companies such as Red Gate, ApexSQL, Altova (to name but a few) provide (relational) database-compare tools that compete with Database Schema Compare in Visual Studio. What is the equivalent for OLAP databases on the Microsoft platform? There is none. Correction: there is now! BISM Normalizer. PowerPivot Model Migration to Enterprise When migrating a Tabular model from PowerPivot to enterprise-level in Analysis Services, we can use “Import from PowerPivot”. But what then? Should we have a separate database for each PowerPivot migration? This could mean hundreds of databases to manage. BISM Normalizer allows merging of models migrated from PowerPivot into the appropriate enterprise Analysis Services database. Maintain a master model to be extended by different implementations in an enterprise organization. Script selected differences between models, enabling partial deployments. Report differences in an easily distributable format (Excel). Full integration with Visual Studio 2010 allows Tabular projects to act as source/target databases. This implies tight integration with source control/TFS.
About Direct Query mode - http://msdn.microsoft.com/en-us/library/hh230898(v=sql.110).aspx List of supported functions in DAX with Direct Query Mode - http://msdn.microsoft.com/en-us/library/hh213006(v=sql.110).aspx
Note: If you are doing a query against a Tabular model in SSMS, you will usually use DAX. To do this in the query window, you use this syntax EVALUATE(<<DAX >>), for example: EVALUATE(CALCULATETABLE(ALL('Geography', 'Date'[Month]=“January”) ))
Comparison of features from MSDN -- http://msdn.microsoft.com/en-us/library/hh212940(v=sql.110).aspx
Team blog - http://blogs.msdn.com/b/analysisservices/archive/2011/11/17/announcing-microsoft-sql-server-2012-release-candidate-0-rc0.aspx Codeplex samples - http://msftdbprodsamples.codeplex.com/releases/view/55330