Avoiding Common Analysis Services Mistakes. Craig Utley



Similar documents
MS 50511A The Microsoft Business Intelligence 2010 Stack

Implementing Data Models and Reports with Microsoft SQL Server

MS 20467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012

Implementing Data Models and Reports with Microsoft SQL Server 20466C; 5 Days

LEARNING SOLUTIONS website milner.com/learning phone

End to End Microsoft BI with SQL 2008 R2 and SharePoint 2010

SQL Server 2012 End-to-End Business Intelligence Workshop

Microsoft Implementing Data Models and Reports with Microsoft SQL Server

Analysis Services Step by Step

The Microsoft Business Intelligence 2010 Stack Course 50511A; 5 Days, Instructor-led

Designing Business Intelligence Solutions with Microsoft SQL Server 2012 Course 20467A; 5 Days

Beyond Plateaux: Optimize SSAS via Best Practices

SQL Server Administrator Introduction - 3 Days Objectives

Implementing Data Models and Reports with Microsoft SQL Server

Presented by: Jose Chinchilla, MCITP

Microsoft Data Warehouse in Depth

Designing a Dimensional Model

SQL Server Analysis Services Complete Practical & Real-time Training

Delivering Business Intelligence With Microsoft SQL Server 2005 or 2008 HDT922 Five Days

Combined Knowledge Business Intelligence with SharePoint 2013 and SQL 2012 Course

2074 : Designing and Implementing OLAP Solutions Using Microsoft SQL Server 2000

SQL Server 2012 Business Intelligence Boot Camp

<Insert Picture Here> Extending Hyperion BI with the Oracle BI Server

When to consider OLAP?

Creating BI solutions with BISM Tabular. Written By: Dan Clark

Enterprise Performance Tuning: Best Practices with SQL Server 2008 Analysis Services. By Ajay Goyal Consultant Scalability Experts, Inc.

SQL SERVER BUSINESS INTELLIGENCE (BI) - INTRODUCTION

SQL SERVER TRAINING CURRICULUM

Implementing Data Models and Reports with Microsoft SQL Server 2012 MOC 10778

East Asia Network Sdn Bhd

Designing Business Intelligence Solutions with Microsoft SQL Server 2012

Load Testing Analysis Services Gerhard Brückl

1. OLAP is an acronym for a. Online Analytical Processing b. Online Analysis Process c. Online Arithmetic Processing d. Object Linking and Processing

Microsoft Business Intelligence

Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

Implementing a Data Warehouse with Microsoft SQL Server

Designing Self-Service Business Intelligence and Big Data Solutions

COURSE 20463C: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

50399AE Diseño de soluciones Business Intelligence con Microsoft SQL Server 2008

Implementing a Data Warehouse with Microsoft SQL Server

Business Intelligence and Healthcare


Oracle Exam 1z0-591 Oracle Business Intelligence Foundation Suite 11g Essentials Version: 6.6 [ Total Questions: 120 ]

Implementing a Data Warehouse with Microsoft SQL Server MOC 20463

COURSE OUTLINE MOC 20463: IMPLEMENTING A DATA WAREHOUSE WITH MICROSOFT SQL SERVER

Developing Business Intelligence and Data Visualization Applications with Web Maps

Microsoft Dynamics AX. Reporting and Business Intelligence in Microsoft Dynamics AX

Course Outline: Course: Implementing a Data Warehouse with Microsoft SQL Server 2012 Learning Method: Instructor-led Classroom Learning

Microsoft Services Exceed your business with Microsoft SharePoint Server 2010

Monitoring Genebanks using Datamarts based in an Open Source Tool

COURSE SYLLABUS COURSE TITLE:

Driving Peak Performance IBM Corporation

Implement a Data Warehouse with Microsoft SQL Server 20463C; 5 days

The safer, easier way to help you pass any IT exams. Exam : TS:MS SQL Server 2008.Business Intelligence Dev and Maintenan.

CHAPTER 5: BUSINESS ANALYTICS

OBIEE 11g Data Modeling Best Practices

Business Benefits From Microsoft SQL Server Business Intelligence Solutions How Can Business Intelligence Help You? PTR Associates Limited

CHAPTER 4: BUSINESS ANALYTICS

PerformancePoint 2010 Designing and Implementing Scorecards and Dashboards

Understanding Microsoft s BI Tools

Cognos 8 Best Practices

SSIS Training: Introduction to SQL Server Integration Services Duration: 3 days

Turning your Warehouse Data into Business Intelligence: Reporting Trends and Visibility Michael Armanious; Vice President Sales and Marketing Datex,

Data Warehousing Concepts

BI Architecture with SQL 2012 & SharePoint 2010

Online Courses. Version 9 Comprehensive Series. What's New Series

Implementing a Data Warehouse with Microsoft SQL Server 2012 (70-463)

Implementing a Data Warehouse with Microsoft SQL Server

Data Testing on Business Intelligence & Data Warehouse Projects

Microsoft. Course 20463C: Implementing a Data Warehouse with Microsoft SQL Server

Implementing a Data Warehouse with Microsoft SQL Server 2012 MOC 10777

Implementing a Data Warehouse with Microsoft SQL Server 2012

LearnFromGuru Polish your knowledge

Implementing a Data Warehouse with Microsoft SQL Server 2014

University of Gaziantep, Department of Business Administration

Oracle OLAP 11g and Oracle Essbase

Implementing a Data Warehouse with Microsoft SQL Server 2012

Optimizing Your Data Warehouse Design for Superior Performance

The Complete Performance Solution for Microsoft SQL Server

SAS Business Intelligence Online Training

M Designing and Implementing OLAP Solutions Using Microsoft SQL Server Day Course

An Architectural Review Of Integrating MicroStrategy With SAP BW

Microsoft End to End Business Intelligence Boot Camp

Course Outline. Module 1: Introduction to Data Warehousing

BI for the Mid-Size Enterprise: Leveraging SQL Server & SharePoint

Microsoft SQL Business Intelligence Boot Camp

PassTest. Bessere Qualität, bessere Dienstleistungen!

SQL Server Business Intelligence on HP ProLiant DL785 Server

Implementing a Data Warehouse with Microsoft SQL Server

SQL Server Introduction to SQL Server SQL Server 2005 basic tools. SQL Server Configuration Manager. SQL Server services management

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 29-1

IBM WebSphere DataStage Online training from Yes-M Systems

Building Cubes and Analyzing Data using Oracle OLAP 11g

Knight's Microsoft Business Intelligence 24-Hour Trainer

What is the BI DBA? Jorge Segarra Sr. DBA Consultant, SQL Server MVP

Oracle BI Suite Enterprise Edition

Career Portfolio provided by Beyond.com

Week 3 lecture slides

DATA WAREHOUSE BUSINESS INTELLIGENCE FOR MICROSOFT DYNAMICS NAV

Transcription:

Avoiding Common Analysis Services Mistakes Craig Utley

Who Am I? Craig Utley, Mentor with Solid Quality Mentors craig@solidq.com Consultant specializing in development with Microsoft technologies and data warehousing Published author of books, whitepapers, articles, and courseware Operator of LearnMicrosoftBI.com

My Data Warehousing Experience Worked on first data warehousing course from Microsoft (1998) Working with BI in various forms for past 11 years Just over one year on Microsoft s SQL Customer Advisory Team (SQLCAT), focused on BI Built warehouses or consulted on BI projects in financial, healthcare, manufacturing, and CPG industries Conference speaker and article author on BI topics

Agenda What is Analysis Services? An Overview of BI Apps Dimensional Modeling Basics Analysis Services Common Problems with SSAS Dimension Problems Cube Problems Other Problems

What is Analysis Services? Analysis Services is the cube building engine from Microsoft Cubes are part of a data warehouse or data mart Analysis Services 2005/2008 are Microsoft s third and fourth generation of cube building technology They are a radical change from the previous two versions, however

The BI Process SSIS SSAS SSRS, etc.

OLAP OLTP is the more common use for relational databases Normalized, built for transaction OLAP (Online Analytical Processing) is a denormalized structure built for queries Sometimes called the relational data warehouse, star schema, or snowflake schema Consists of Dimension and Fact tables

Dimension Tables Short and fat, heavily denormalized Represents a person, place, thing, or concept Contains full descriptions, usually flattens hierarchical structures into a single relational table Contains how the person wants to see the data Joins to zero-to-many records in the fact table

Fact Tables Tall and thin Usually contains a foreign key for each dimension table and then a series of numeric facts (aka measures) Contains what the person wants to see Despite being narrow, usually accounts for 98%+ of the storage of the data

Analysis Services Analysis Services takes data, usually from a relational warehouse, and builds cubes Cubes are a different physical format from relational tables by default Cubes are designed to quickly respond to queries both by how they store data and by pre-calculating aggregates

Cube Components Cubes contain dimensions, which usually contain hierarchies Cubes also contain measures which may come from one or more fact tables Cubes may contain calculations, KPIs, translations, perspectives, actions, aggregations, and partitions

Common SSAS Mistakes There are a number of common mistakes companies make when creating cubes Dimensions appear to be especially problematic for companies Cubes contain their own issues Many companies fail to properly deliver data to the organization effectively

Attribute Relationships Many dimensions will contain one or more hierarchies Attribute relationships define how dimension attributes are related to each other The first thing companies should do is correctly identify attribute relationships Not identifying them is bad Incorrectly identifying them is worse

Attribute Keys Sometimes an attribute, by itself, is not enough to determine uniqueness A combination of attributes is sometimes necessary to ensure proper analysis Attribute relationships with flexible relationship types can cause problems with non-unique attributes

Demo Attribute Relationships and Attribute Keys

Measure Groups Measure groups are tied to specific dimensions that make sense for the records in the fact table Browsing by unrelated dimensions can lead to problems Decide when IgnoreUnrelatedDimensions should be true

Aggregations Aggregations are one of the greatest benefits to cubes They can provide a huge speed boost By default, SSAS doesn t build aggregations! The Usage Based Optimization wizard should provide better results Aggregations can be built by wizards or manually BUT BE CAREFUL A separate tool in 2005, integrated in 2008

Processing Cubes Processing contains a number of defaults These defaults are not always optimal and can be tweaked for better performance The number of parallel objects to process is decided by the server by default Changing this can have a noticeable impact on processing performance

ASCMD To script operations, use ASCMD Allows for the command-line execution of XMLA scripts, MDX queries, and DMX statements Useful for extremely large warehouses where UI tools might slow down

Processing with ASCMD For best performance use ASCMD.EXE and XMLA Use <Parallel> </Parallel> to group processing tasks together until Server is using maximum resources Proper use of <Transaction> </Transaction> ProcessData and ProcessIndex separately instead of ProcessFull for a more predictable CPU usage pattern

MDX Tips Set Non-empty behavior property on calculations when possible Explicitly reference cells when possible Products.Printers instead of Dimensions(2).Printers Products.Printers instead of Products.CurrentMember Move simple calculations (such as Measure1 * Measure2) from Calculations to the DSV Learn how to use the Scope statement Read the Microsoft SQL Server 2005 Analysis Services Performance Guide

Scope vs. Nested IIF CREATE MEMBER CURRENTCUBE.[MEASURES].[Foo] AS iif([time].[time Season].CurrentMember.Level IS [Time].[Time Season].[Day], null, iif([time].[time Season].CurrentMember.Level IS [Time].[Time Season].[Week], iif(isempty([measures].[wtd Net Tot Sls]) or [MEasures].[WTD Net Tot Sls] = 0, null, [Measures].[TY Str Stk]/ [Measures].[WTD Net Tot Sls]), iif([time].[time Season].CurrentMember.Level is [Time].[Time Season].[Period], iif(isempty([measures].[mtd Net Tot Sls]) or [Measures].[MTD Net Tot Sls] = 0, null, [Measures].[TY Str Stk]/ [Measures].[MTD Net Tot Sls]), iif(isempty([measures].[std Net Tot Sls]) or [Measures].[STD Net Tot Sls] = 0, null, [Measures].[TY Str Stk]/[Measures].[STD Net Tot Sls] ) ) ) )

Scope vs. Nested IIF cont. Create [Foo]; Scope [Foo]; [Time].[Time Season].[Week] = IIF( [Measures].[WTD Net Tot Sls] = 0, null, [Measures].[TY Str Stk] / [Measures].[WTD Net Tot Sls]); [Time].[Time Season].[Period] = IIF( [Measures].[MTD Net Tot Sls] = 0, null, [Measures].[TY Str Stk] / [Measures].[MTD Net Tot Sls]); [Time].[Time Season].[Season] = IIF( [Measures].[STD Net Tot Sls] = 0, null, [Measures].[TY Str Stk] / [Measures].[STD Net Tot Sls]); End Scope;

Server Properties There are several server properties that can be changed for better performance Especially in high concurrency situations CoordinatorExecutionMode controls the number of processes per core ThreadPool settings control the number of threads for queries and processing Read the Microsoft SQL Server 2005 Analysis Services Performance Guide

Troubleshooting Slow Queries Troubleshooting slow SSAS queries is not as easy as troubleshooting slow relational queries Learn MDX inside and out Read Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services

Delivering Data to Users The single biggest barrier I have seen to successful BI projects is a lack of effective delivery to end users Client tools may include PerformancePoint Server, SQL Server Reporting Services, ProClarity, Excel, custom applications, etc. Learn when to use which tools by knowing your users and their needs for the data

Summary Analysis Services is a powerful tool for delivering data that is easy to analyze in a variety of ways Analysis Services is also complex and has many areas so knowing all facets is nearly impossible Read the best practices guides from Microsoft

Books Microsoft SQL Server 2005 Analysis Services Applied Microsoft Analysis Services 2005: And Microsoft Business Intelligence Platform MDX Solutions: With Microsoft SQL Server Analysis Services 2005 and Hyperion Essbase

Avoiding Common Analysis Services Mistakes Craig Utley