Craig Utley

Craig
Utley

Craig Utley (craig@solidq.com) is a mentor with Solid Quality Mentors and a former program manager with the SQL Customer Advisory Team at Microsoft. He is a SQL Server MVP and the operator of LearnMicrosoftBI.com.

Articles
Avoid Common SQL Server Analysis Services Problems
It’s easy to create a usable and high-performance set of cubes with SSAS as long as you know the pitfalls to watch out for and possess the patience and savvy to thwart them.
Creating Dimensions in SSAS, Part 2 5
After you build the proper dimensions of a cube, you need to add attribute relationships to help the cube engine better process queries for faster data analysis.
multi-color cubes
Creating Dimensions in SSAS, Part 1 2
Learn how to build proper dimensions, add useful hierarchies that support user’s navigational needs, then perform the important step of adding attribute relationships to make your users' data analysis fast and easy.
Unveiling PerformancePoint Server 2007
PerformancePoint Server 2007 might be in your future, especially if your users find out about its BI features. Get the lowdown before they do about the 3 parts of PerformancePoint Server, what it needs to run, and what exactly it delivers.
Points to Ponder: Delivering BI to the Organization
Many options exist for delivering BI data to end users. Here are some important considerations to keep in mind as you choose the delivery tools for the various users you serve.
Bring Cube Data into Focus
Reporting Services gives you an inexpensive way to deliver Analysis Services data to business users. Here’s how you can provide greater flexibility in your reports so users can easily change the ways they view BI data.
Delivering Analysis Services Data with Reporting Services
Learn how to use Reporting Services to give business users access to complex Analysis Services data--in a user-friendly format.
MDX for the MDX Phobic
If you don't have experience with MDX then Microsoft's Office Excel Add-in for SQL Server Analysis Services is for you.
Drillthrough on the Fly
Drillthrough lets you look at the individual records in a cube, but you can't modify a drillthrough query on the fly. You can create a drillthrough report, then use a cell-level action to call the report and pass the parameters.
Beating the Odds 1
A well-designed data warehouse can help your organization make faster and more informed decisions, but data-warehousing projects are risky business. Here's why so many data-warehousing projects fail and how to increase your project's chances for success.

Digital Magazine Archives

Browse back issues of SQL Server Pro, from January 2007 through the last issue published in April 2014. Find the back issues here.

 

From the Blogs
Jul 6, 2015
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 28: Additional Options for Tackling Jobs Failover

Throughout this series of posts I’ve taken a somewhat pessimistic view of how SQL Server Agent jobs are managed within most organizations – meaning that most of the code and examples I’ve provided up until this point were based on assumptions about how CHANGE to jobs is managed. That pessimism, to date, has come in two forms:...More
Jul 1, 2015
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 27: Options and Concerns for More Advanced Deployments

In this series of posts I’ve called out some of the concerns related to SQL Server AlwaysOn Availability Groups and their interaction with SQL Server Agent jobs – both in the form of Batch Jobs (see post #3) and backups....More
Jun 10, 2015
blog

AlwaysOn Availability Groups and SQL Server Jobs, Part 26: Using Master Servers for Job Administration

When I initially decided to write about AlwaysOn Availability Groups and SQL Server Jobs, I knew I’d have a bunch of different posts on a variety of different topics. To that end, I initially planned on this series of posts being comprised of 3 main parts:...More
SQL Server Pro Forums

Get answers to questions, share tips, and engage with the SQL Server community in our Forums.

Sponsored Introduction Continue on to (or wait seconds) ×