SQL Server Analysis Services 2012 Cube Development Cookbook
By Paul Turley, Baya Dewald and Steve Hughes
()
About this ebook
Read more from Paul Turley
Professional Microsoft SQL Server 2016 Reporting Services and Mobile Reports Rating: 0 out of 5 stars0 ratingsBeginning T-SQL with Microsoft SQL Server 2005 and 2008 Rating: 3 out of 5 stars3/5Professional SQL Server Reporting Services Rating: 0 out of 5 stars0 ratingsBeginning Access 2002 VBA Rating: 4 out of 5 stars4/5Professional Microsoft SQL Server 2012 Reporting Services Rating: 1 out of 5 stars1/5Professional Microsoft SQL Server 2008 Reporting Services Rating: 0 out of 5 stars0 ratings
Related to SQL Server Analysis Services 2012 Cube Development Cookbook
Related ebooks
MDX with Microsoft SQL Server 2016 Analysis Services Cookbook - Third Edition Rating: 0 out of 5 stars0 ratingsMDX with SSAS 2012 Cookbook Rating: 0 out of 5 stars0 ratingsQlikView for Developers Cookbook Rating: 0 out of 5 stars0 ratingsExpert Cube Development with Microsoft SQL Server 2008 Analysis Services Rating: 5 out of 5 stars5/5Business Intelligence Cookbook: A Project Lifecycle Approach Using Oracle Technology Rating: 0 out of 5 stars0 ratingsExpert Cube Development with SSAS Multidimensional Models Rating: 0 out of 5 stars0 ratingsMicrosoft Tabular Modeling Cookbook Rating: 0 out of 5 stars0 ratingsMicrosoft Team Foundation Server 2015 Cookbook Rating: 0 out of 5 stars0 ratingsSQL Server 2016 Reporting Services Cookbook Rating: 5 out of 5 stars5/5Microsoft Windows Azure Development Cookbook Rating: 5 out of 5 stars5/5Data Visualization Strategy Standard Requirements Rating: 0 out of 5 stars0 ratingsXML in Data Management: Understanding and Applying Them Together Rating: 0 out of 5 stars0 ratingsBig Data Software Complete Self-Assessment Guide Rating: 5 out of 5 stars5/5Data Marts A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsUML Tool A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBusiness rules A Complete Guide Rating: 0 out of 5 stars0 ratingsSelf-Service Data & Analytics Third Edition Rating: 0 out of 5 stars0 ratingsAmazon QuickSight A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsLogical Data Warehouse A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsData model Second Edition Rating: 0 out of 5 stars0 ratingsBi Tools A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsCloud Governance and Use The Ultimate Step-By-Step Guide Rating: 0 out of 5 stars0 ratingsData vault modeling Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsEnterprise Data Governance A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsMetadata Projects Third Edition Rating: 0 out of 5 stars0 ratingsTechnology Lifecycle A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsSQL Server Management Studio Second Edition Rating: 1 out of 5 stars1/5Power Query for Power BI and Excel Rating: 0 out of 5 stars0 ratingsData Modeling A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsRelational Databases: State of the Art Report 14:5 Rating: 0 out of 5 stars0 ratings
Programming For You
Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5Python: Learn Python in 24 Hours Rating: 4 out of 5 stars4/5Learn SQL in 24 Hours Rating: 5 out of 5 stars5/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Unreal Engine from Zero to Proficiency (Foundations): Unreal Engine from Zero to Proficiency, #1 Rating: 0 out of 5 stars0 ratingsHTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Python Projects for Beginners: A Ten-Week Bootcamp Approach to Python Programming Rating: 0 out of 5 stars0 ratingsC++ Learn in 24 Hours Rating: 0 out of 5 stars0 ratingsLearn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Web Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5Learn JavaScript in 24 Hours Rating: 3 out of 5 stars3/5101 Amazing Nintendo NES Facts: Includes facts about the Famicom Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5
Reviews for SQL Server Analysis Services 2012 Cube Development Cookbook
0 ratings0 reviews
Book preview
SQL Server Analysis Services 2012 Cube Development Cookbook - Paul Turley
Table of Contents
SQL Server Analysis Services 2012 Cube Development Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introduction to Multidimensional Data Model Design
Introduction
The business value of Business Intelligence
Challenges and barriers of effective BI
Overcoming BI challenges and barriers
Choosing multidimensional or Tabular Models
Star- or Snowflake-relational schema
A sample scenario for choosing the Snowflake schema
2. Defining Analysis Services Dimensions
Introduction
Defining data sources
How to do it...
How it works...
There's more...
Defining data source views
Getting started
How to do it...
Defining entity relationships in DSV
How to do it...
Extending data source views
How to do it...
Creating named calculations and queries
How to do it...
Creating simple dimensions
Getting ready
How to do it...
How it works...
Building dimension hierarchies
How to do it...
There's more
Setting dimension properties
Setting essential attribute properties
How to do it...
Browsing dimension data
Getting ready
How to do it...
How it works...
Sorting the attributes
How to do it...
Customizing advanced attribute properties
How to do it...
How it works...
Creating parent-child dimensions
How to do it...
How it works...
There's more...
Creating the date and time dimensions
How to do it...
There's more...
3. Creating Analysis Services Cubes
Introduction
Defining measure groups and measures
Getting ready
How to do it...
Setting measure properties
How to do it...
There's more...
Browsing the cube data
How to do it...
Dimension usage with measure group
How to do it...
Examining cube file structures
How to do it...
There's more...
Partitioning strategies
How to do it...
Creating partitions through the wizard
Creating partitions through AMO
Partition storage mode options
Defining partition slice
How to do it...
Merging partitions
How to do it...
Defining aggregation designs
Using BIDS Helper for customizing aggregations
How to do it...
There's more...
Distinct count measure groups
How to do it...
There's more...
Enabling write-back feature
How to do it...
Deployment options
How to do it...
4. Extending and Customizing Cubes
Introduction
Defining calculated measures
Getting ready
How to do it...
Defining named sets
How to do it...
Defining drillthrough actions
How to do it...
How it works...
Defining URL actions
How to do it...
Defining reporting actions
How to do it...
Defining key performance indicators
How to do it...
Defining perspectives
How to do it...
Defining translations
How to do it...
Defining measure expressions
How to do it...
5. Optimizing Dimension and Cube Processing
Introduction
Understanding dimension processing options
How it works...
Learning about basic dimension processing
Getting ready
How to do it...
How it works...
Learning advanced dimension processing options
How to do it...
Using out-of-line bindings for dimension processing
How to do it...
Dealing with partition processing options
How to do it...
How it works...
Using SQL Server Integration Services to process Analysis Services objects
How to do it...
Monitoring and tuning processing performance
How to do it...
6. MDX
Introduction
Returning data on the query axes
Getting ready
How to do it...
Limiting the query output
How to do it...
Sorting the query output
How to do it...
Defining query level calculations and named sets
How to do it...
Navigating dimension hierarchies
How to do it...
Working with the Time dimensions
How to do it...
MDX script's functionality
How to do it...
Monitoring and tuning MDX queries
How to do it...
There's more...
7. Analysis Services Security
Introduction
Managing instance-level administrative security
How to do it...
Managing database-level security
How to do it...
Managing cube-level security
How to do it...
Managing dimension hierarchy-level security
How to do it...
How it works...
Implementing dynamic dimension security
How to do it...
There's more...
Implementing cell-level security
How to do it...
There's more...
8. Administering and Monitoring Analysis Services
Introduction
SSAS instance configuration options
How to do it...
How it works...
There's more...
Creating and dropping databases
Getting ready
How to do it...
Monitoring SSAS instance using Activity Viewer
How to do it...
How it works...
Monitoring SSAS instance using DMVs
How to do it...
How it works...
There's more...
Cancelling a session
How to do it...
Checking whether cubes are accessible
How to do it...
Checking SSAS object sizes programmatically
How to do it...
There's more...
Scaling out SSAS solutions
Backup and restore
How to do it...
How it works...
Synchronizing databases
How to do it...
How it works...
Detaching and attaching databases
How to do it...
How it works...
9. Using Tabular Models
Introduction
Creating a Tabular Model
Getting ready
How to do it…
There's more…
Working with data sources and loading data
How to do it…
There's more…
Modeling the data
Getting ready
How to do it…
How it works…
There's more…
See also
Creating a hierarchy
How to do it…
There's more…
Creating a calculated measure
Getting ready
How to do it…
See also
Creating a calculated column
How to do it…
There's more…
See also
Creating a KPI
Getting ready
How to do it…
There's more…
See also
Analyzing your model in Excel
How to do it…
There's more…
See also
Deploying Tabular Models
Getting ready
How to do it…
How it works…
There's more…
See also
Scripting Tabular Models using XMLA
Getting ready
How to do it…
There's more…
Processing Tabular Models
How to do it…
How it works…
There's more…
See also
Partitioning Tabular Models
Getting ready
How to do it…
There's more…
See also
Implementing perspectives
Getting ready
How to do it…
There's more…
See also
Implementing security in Tabular Models
Getting ready
How to do it…
How it works…
There's more…
Automating Tabular Model processing
Getting ready
How to do it…
There's more…
See also
10. DAX Calculations and Queries
Introduction
Combining tables using calculated columns
Getting ready
How to do it…
There's more…
Adding a calculated column
Getting ready
How to do it…
Creating measures
Getting ready
How to do it…
Creating AutoSum measures
Creating calculated measures
Testing a Tabular Model in Excel
How to do it…
Understanding Row Context
Understanding Filter Context
Using the CALCULATE function
How to do it…
Test the Measures in Excel
Working with Time Intelligence
Querying a Tabular Model
Getting ready
How to do it…
There's more…
See also
11. Performance Tuning and Troubleshooting Tabular Models
Introduction
Understanding usability limits
Getting ready
How to do it…
There's more…
Optimizing and managing a model's design
Managing memory usage
Diagnosing performance issues
Processing and query-related performance
Using performance tools
Task Manager and Resource Monitor
Dynamic Management Views
BISM server memory report
Investigating query performance with SQL Server Profiler
How to do it…
There's more…
See also
A. Miscellaneous Analysis Services Topics
Working with non-SQL Server data sources
SSAS data structures
Transaction isolation levels
Processing performance issues
Common yet confusing SSAS errors
Binding is too small
Attribute key cannot be found
Undefined column name
DSV does not contain definition for an xyz column
Operation is cancelled
File is corrupted
Error encountered in the transport layer
Internal error or unexpected exception
Deadlock
Dimension properties
See also
Performance considerations for many-to-many dimension relationships
DirectQuery with Tabular Models
Data sources
Security
Design limitations
Client restrictions
Index
SQL Server Analysis Services 2012 Cube Development Cookbook
SQL Server Analysis Services 2012 Cube Development Cookbook
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2013
Production Reference: 1181213
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84968-980-9
www.packtpub.com
Cover Image by William Kewley (<william.kewley@kbbs.ie>)
Credits
Authors
Baya Dewald
Paul Turley
Steve Hughes
Reviewers
Dan English
Stevo Smočilac
Acquisition Editors
Edward Gordon
Llewellyn Rozario
Lead Technical Editor
Anila Vincent
Technical Editors
Dipika Gaonkar
Kapil Hemnani
Edwin Moses
Mrunmayee Patil
Siddhi Rane
Tarunveer Shetty
Proofreaders
Cathy Cumberlidge
Bernadette Watkins
Copy Editors
Sarang Chari
Mradula Hegde
Dipti Kapadia
Gladson Monteiro
Karuna Narayanan
Lavina Pereira
Laxmi Subramanian
Project Coordinators
Rahul Dixit
Cheryl Botelho
Mary Alex
Indexer
Rekha Nair
Production Coordinator
Kyle Albuquerque
Cover Work
Kyle Albuquerque
About the Authors
Baya Dewald has been working with Microsoft SQL Server for over 15 years and with Analysis Services since its debut in 1999. He has architected, developed, and administered databases with millions of users and cubes measured in terabytes. Throughout his career, he has held various certifications, including Microsoft Certified Solution Developer, Microsoft Certified Systems Engineer, and Microsoft Certified Database Administrator. He has managed DBA teams and published over 100 technical articles in SQL Server Magazine, SQL Professional, Tech Target, and InformIT. He has also contributed to several technical books as a co-author and technical reviewer. He can be reached at <baya.dewald@gmail.com>.
First and foremost, I'd like to thank my family for allowing me to dedicate long hours to working on this book. I am also thankful to my friend Scot Reagin for his encouragement and support while writing this book and to my friend and mentor Kevin Kline who helped me find excellent co-authors. Thanks too to all reviewers, particularly to Dan English, for their useful and thought-provoking comments that helped to make this book more useful to the readers.
Paul Turley is a mentor with SolidQ and is a Microsoft SQL Server MVP. He consults, writes, speaks, teaches, and blogs about business intelligence and reporting solutions. He works with companies around the world to visualize and deliver critical information to make informed business decisions. He is the director of the Oregon SQL PASS chapter and user group, and the lead author of Professional SQL Server 2012 Reporting Services and 11 other books by Wrox and Microsoft Press. Paul blogs at SqlServerBiBlog.com.
Special thanks to my wife and daughters for their support and understanding. Thanks to all the mentors and staff at SolidQ, a truly world-class organization.
Steve Hughes is a Practice Lead at Magenic. In his current role, he develops strategy and helps guide data, business intelligence, collaboration, and data integration development using Microsoft technologies, including SQL Server, SharePoint, and BizTalk. He continues to deliver data and business intelligence solutions using these platforms. He has been working with technology for over 15 years with much of that time spent on creating business intelligence solutions. He is passionate about using data effectively and helping customers understand that data is valuable and profitable. He also has experience working with a large software company as a service vendor and there received awards for customer satisfaction and engineering excellence.
In 2010, he received the Consultant of the Year honor at Magenic. He has delivered multiple presentations on SQL server, data architecture, and business intelligence over the years. Steve can often be found at Professional Association for SQL Server (PASS) events where he serves as a regional mentor and is active with the Minnesota SQL Server User Group (MNPASS). He shares his insights from the field on his blog at http://dataonwheels.wordpress.com.
I want to thank my wife, Sheila, and our four children—Kristyna, Alex, Andrew, and Mikayla—for their patience as I worked on this project. Their support has been awesome in this and my other endeavors. I also want to thank the team at Packt Publishing and the reviewers for their guidance throughout the writing of this book as it has allowed us to put together a better product for all of you. Finally, I dedicate all my efforts to my father-in-law, Ed Jankowski, without whom I would have never been involved in software at all. We all miss you, Ed.
About the Reviewers
Dan English is a Microsoft SQL Server MVP and the Business Intelligence Practice Manager at Superior Consulting Services in Minneapolis, MN. He has been developing with Microsoft technologies since 1996 and has focused on data warehousing and business intelligence since 2004. He has presented for the Minnesota SQL Server user group, the Microsoft Minnesota BI user group, and Minnesota TechFuse, along with SQL Server and SharePoint Saturday events. He is also an avid blogger and tweeter.
He holds a Bachelor of Science degree in Business Administration from the Minnesota State University, Mankato. He is an MCITP: Business Intelligence Developer 2005 and 2008 and a Microsoft Certified Technology Specialist (MCTS) for Microsoft SQL Server Business Intelligence—Implementation and Maintenance and also for Microsoft Office SharePoint Server 2007—Configuring.
He and his wife, Molly, live in Minnesota and have two children, Lily and Wyatt.
Stevo Smočilac is an Associate Principal Consultant at Magenic, a Microsoft Gold Certified Partner that specializes in business intelligence solutions.
He has over 12 years' experience working in software development, the last seven of which have focused on designing, implementing, managing, and administrating technical solutions developed using Microsoft SQL Server and the Microsoft Business Intelligence stack. He has been involved in all phases of the BI development lifecycle from envisioning through operational support and is passionate about the field of business intelligence.
He is currently a Virtual Technology Solutions Professional (V-TSP) for business intelligence, a Microsoft Certified IT Professional, and holds a B. Tech degree in Information Technology.
Originally from South Africa, he now resides in the (much colder) northeastern United States with his wife, Talya. When not in front of his computer, he can often be found either playing the guitar or riding his mountain bikes.
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Instant Updates on New Packt Books
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.
Preface
SQL Server Analysis Services 2012 Cube Development Cookbook is a friendly companion to individuals implementing and managing business intelligence applications using Microsoft's flagship product, SQL Server Analysis Services. The book provides step-by-step recipes for developing Analysis Services objects. Readers will learn how to develop business intelligence solutions using the Analysis Services multidimensional model as well as the Tabular Model. In addition to development recipes, the book also includes recipes for administering, securing, monitoring, troubleshooting, and scaling Analysis Services solutions. The book discusses methods beyond the initial cube design, exploring cube maintenance with partitions and designing effective aggregations, as well as options for synchronizing analytics solutions. Filled with tips and recommended best practices based on years of experience, the book is designed to quickly get the reader from beginner level to the point of comfortably architecting solutions.
What this book covers
Chapter 1, Introduction to Multidimensional Data Model Design, discusses the value of business intelligence as well as challenges faced when undertaking a business intelligence project and how to overcome them. You will learn high-level differences between Analysis Services tabular and multidimensional models and when each is appropriate. Finally, you will learn the differences between star and snowflake schemas for dimensional modeling.
Chapter 2, Defining Analysis Services Dimensions, starts off by explaining how to define data sources and data source views. You will learn how to extend data source views beyond the model available in the relational database. The chapter's main focus is on teaching you how to build and customize most commonly encountered dimensions within the Analysis Services multidimensional model.
Chapter 3, Creating Analysis Services Cubes, explains how to define measure groups and measures while setting appropriate properties. You will learn how to relate database dimensions to each measure group and implement basic as well as advanced measure aggregation functions, including distinct count and semi-additive measures. The chapter also discusses cube file structures and teaches the most effective strategies for measure group partitioning and building aggregations. Finally, you will learn various methods of deploying your multidimensional projects to your Analysis Services instances.
Chapter 4, Extending and Customizing Cubes, builds on the foundation of cube development laid in Chapter 3, Creating Analysis Services Cubes. You will learn how to make your solutions more useful to the business by adding calculated measures, named sets, actions, key performance indicators, perspectives, translations, and measure expressions to your cubes.
Chapter 5, Optimizing Dimension and Cube Processing, teaches basic and advanced options for processing multidimensional objects through XMLA, SQL Server client tools, as well as using SQL Server Integration Services (SSIS). This chapter also demonstrates how you should monitor and tune processing performance.
Chapter 6, MDX, explains how to write the most commonly encountered Multidimensional Expressions (MDX) queries and calculations. You will learn how to return data on query axes, limit and sort query output, define calculations and named sets, and navigate dimension hierarchies. The chapter also explains the basic functions used within MDX scripts and introduces the framework for monitoring and tuning MDX queries.
Chapter 7, Analysis Services Security, teaches how to manage multidimensional model security at the Analysis Services instance, database, cube, dimension, and cell levels. In addition to basic role-based security, the chapter also includes a recipe for implementing dynamic security.
Chapter 8, Administering and Monitoring Analysis Services, starts off by providing an overview of Analysis Services configuration options. Next, you learn how to create and drop databases, monitor and troubleshoot Analysis Services instances, and check the size of each object. Additionally, you will learn various methods for scaling out your multidimensional business intelligence solutions using backup and restore, synchronization, and the detach and attach options.
Chapter 9, Using Tabular Models, teaches you how to define data sources and models and load data into Tabular Models. You will learn how to define hierarchies, define calculated measures, and extend the Tabular model using key performance indicators. The chapter also explains recommended strategies for processing, partitioning, and securing Tabular Models.
Chapter 10, DAX Calculations and Queries, introduces the reader to Data Analysis Expressions (DAX) fundamentals as it applies to defining calculations within the Tabular Model and querying the model. You will learn how to write calculated columns and measures in the Tabular Model designer and DAX queries within SQL Server Management Studio.
Chapter 11, Performance Tuning and Troubleshooting Tabular Models, discusses the Analysis Services Tabular Model's usability limits. The reader will learn about diagnosing issues, optimizing performance, and memory use using various tools for troubleshooting suboptimal performance, which include Windows Resource Monitor and SQL Server Profiler.
Appendix, Miscellaneous Analysis Services Topics, discusses various Analysis Services topics that don't lend themselves to effective presentation in a recipe format. The chapter teaches you about various dimension properties, as well as outlining considerations for multidimensional design when developers are not permitted to create objects in the relational data sources.
What you need for this book
You will need Microsoft SQL Server 2012 Analysis Services multidimensional as well as tabular instances to which you have administrative access in order to follow along with the examples presented in this book. All examples are based on the Adventure Works sample relational database and Adventure Works Analysis Services database, which can be downloaded from www.codeplex.com. Each chapter referencing these samples includes a link to sample downloads.
Who this book is for
The book is for individuals intending to build, maintain, use, and administer business intelligence solutions exploiting Microsoft SQL Server Analysis Services multidimensional as well as tabular databases. The intended audience includes seasoned professionals who have worked with databases and are embarking on more complex business intelligence solutions as well as for people who have built Analysis Services solutions in the past but would like to hone their skills further by administering, tuning, and scaling databases.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: Temporary files can be found under the
A block of code is set as follows:
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: Now if you query the cube as a role member and choose All Products as the product category, you will see a different number than what you would see as the total of Bikes and Accessories.
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <feedback@packtpub.com>, and mention the book title via the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <copyright@packtpub.com> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
Questions
You can contact us at <questions@packtpub.com> if you are having a problem with any aspect of the book, and we will do our best to address it.
Chapter 1. Introduction to Multidimensional Data Model Design
In this chapter we will discuss the differences between Multidimensional databases (cubes) and Tabular Models in order to help you decide which is best for meeting your particular needs. More details on how to implement each of these will be covered in the rest of this cookbook. In this chapter we will explore the following concepts:
The business value of Business Intelligence
The challenges and barriers faced when implementing Business Intelligence
Strategies for overcoming these challenges and barriers
Choosing multidimensional or Tabular Models
Star- and Snowflake-relational schema
A sample scenario for choosing the Snowflake schema
Introduction
Business Intelligence (BI) used to be a competitive advantage for businesses that could afford it. Today, BI is increasingly becoming a fundamental and critical function of every business, which means it can no longer operate on an exclusively strategic basis. Also, it must be responsive to changing business needs in a time frame that allows the business to address those needs. The demand for more responsiveness (less time to implement) of BI continues to increase in parallel with the demand for more functionality.
In response to this increasing pressure on BI to perform at Business speed
, a new capability has emerged in the form of Self-service BI. These Self-service tools allow business users to acquire and analyze data from a variety of sources according to their specific needs at that moment. There are challenges and concerns that come with giving this capability to business users. We'll discuss these in detail in this chapter, but Self-Service BI is a good and growing solution to an important business