Real-world BISM in SQL Server 2012 SSAS


Published on

deck from SQLLive 360 - Orlando,

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • More about PowerView - Excel add-in for MDS - More about column store index - New data type (enhancement to filestream) – Filetable - 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 -
  • 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
  • SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • About connecting in SharePoint -
  • About creating KPIs w/examples of DAX - 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 - Blog - Direct Query Impersonation Options Explained -
  • About DAX query plans - More about DAX query plans - Even more - SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • You can create new, import from PowerPivot (Excel), import from deployed SSAS (Tabular) SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • 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.
  • From SQL Pass Summit 2012 – BIA-402M SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • About Direct Query mode - List of supported functions in DAX with Direct Query Mode -
  • 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”) ))
  • From MSDN -- SSAS 2008 operations guide - Extended events - Performance counters -
  • Codeplex samples - Klout - DAX studio -
  • This is the default install for SSAS SQL Server Live! Orlando 2012 © 2012 SQL Server Live! All rights reserved.
  • Comparison of features from MSDN --
  • Team blog - Codeplex samples -
  • Lynn
  • Real-world BISM in SQL Server 2012 SSAS

    1. Real-Wor ld SQL Ser ver 2012Analysis Ser vices BISMmodels Lynn Langit Data Wrangler Level: Intermediate
    2. Agenda – About the BI Semantic Model
    3. Better BI => Better Reporting
    4. Better BI => New Storage/Query/Display
    5. What is the BISM?
    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)
    8. How to get started with xVelocity
    9. Data Sources for BISM
    10. External Data - Markets• Windows Azure Marketplace•••
    11. When to use the BISM?
    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….
    13. DemoCreating a Modelin Power Pivot
    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
    15. DemoEnhancing the model
    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…)
    19. When to Use DAX with BISM modeling
    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
    21. Enhancing the Model – Advanced View
    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
    24. Complex DAX example
    25. Understanding DAX in Profiler
    26. DemoAdding DAXto a BISM model
    27. Creating BI projects using SSDT
    28. BISM Models and Excel• Can be created in Excel (and imported into SSDT)• Can be viewed in Excel (PivotTables) while modeling in SSDT
    29. DemoCreating a BISM Model forSSAS usingSQL Server Data Tools(SSDT)
    30. BISM Normalizer = DiffTool for BISM3rd party tool, from CodePlex - here
    31. Adding Security Roles• Map groups to BISM roles
    32. Understanding BISM structures
    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
    35. SSAS Server Settings for Tabular Mode
    36. DemoDeploying a BISMModel to SSASusing SSDT
    37. Connecting to a deployed BISM model• Administration in SSMS• View in Client – Excel / PowerPivot – SharePoint PowerView – Other clients
    38. Connect in SSMS
    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. Resources• SSAS Team Blog – here• About DAX – MVP blog – here• SQL 2012 tutorial - here• Codeplex samples – here• Klout case study whitepaper - here
    46. • recipes) • Free Courseware ( • Do a Recipe  Teach a Kid (Ages 10 ++) • Java or Microsoft SmallBasic 
    47. Toward Data Craftsmanship…