Business Intelligence Blogs

View blogs by industry experts on topics such as SSAS, SSIS, SSRS, Power BI, Performance Tuning, Azure, Big Data and much more! You can also sign up to post your own business intelligence blog.

«October 2015»

Data Warehouse from the Ground Up at SQL Saturday Orlando, FL on Oct. 10th

SQL Saturday #442SQL Saturday #442 is upon us and yours truly will be presenting in Orlando, Florida on October 10th alongside Mitchell Pearson (b|t). The session is scheduled at 10:35 AM and will last until 11:35 AM. I’m very excited to be presenting at SQL Saturday Orlando this year as it’ll be my first presenting this session in person and my first time speaking at SQL Saturday Orlando! If you haven’t registered yet for this event, you need to do that. This event will be top notch!

My session is called Designing a Data Warehouse from the Ground Up. What if you could approach any business process in your organization and quickly design an effective and optimal dimensional model using a standardized step-by-step method? In this session I’ll discuss the steps required to design a unified dimensional model that is optimized for reporting and follows widely accepted best practices. We’ll also discuss how the design of our dimensional model affects a SQL Server Analysis Services solution and how the choices we make during the data warehouse design phase can make or break our SSAS cubes. You may remember that I did this session a while back for Pragmatic Works via webinar. I’ll be doing the same session at SQL Saturday Orlando but on-prem! ;)

So get signed up for this event now! It’s only 11 days away!

Read more

Create Date Dimension with Fiscal and Time

Here are three scripts that create and Date and Time Dimension and can add the fiscal columns too. First run the Dim Date script first to create the DimDate table. Make sure you change the start date and end date on the script to your preference. Then run the add Fiscal Dates scripts to add the fiscal columns. Make sure you alter the Fiscal script to set the date offset amount. The comments in the script will help you with this.

This zip file contains three SQL scripts.

Create Dim Date

Create Dim Time

Add Fiscal Dates

These will create a Date Dimension table and allow you to run the add fiscal script to add the fiscal columns if you desire. The Create Dim Time will create a time dimension with every second of the day for those that need actual time analysis of your data.

Make sure you set the start date and end date in the create dim date script. Set the dateoffset in the fiscal script.

Download the script here:


Read more

How I Got my Start at Pragmatic Works

October 4th of this month was my seven year anniversary as an employee of Pragmatic Works. Things have changed a lot over the past seven years. Working with the wonderful people at Pragmatic Works has been quite an amazing journey and incredible opportunity. With that in mind I thought that I should share my story of how I ended up working in the business intelligence field with the great team at Pragmatic Works.

The Beginning

In mid 2008 I was working my way through college loading trucks at UPS. I don’t mean the little trucks that deliver to your house but the big, honking 50+ foot trailers. I was an area supervisor and had been with UPS for six years. UPS was a tough job with little thanks or support from management and I was looking for any opportunity in another job or career. It was that bad.

One day my wife, Angela, and I were hanging out with some good friends of ours, Devin and Erin Knight. We were over at the Knight house enjoying some good company when Devin asked if I wanted to do SQL. Devin pulled out his laptop and fired up SQL Server Management Studio and showed me a few select statements. He explained the concept of a database to me and how the data was stored in tables but that we could write queries against the tables to retrieve the data.

The Ryan's hanging out with the Knight'sI was very intrigued because I’ve always enjoyed working with computers. My experience with computers up to this point was limited to designing web pages with Adobe Dreamweaver and building armies in Age of Empires but I always thought I’d enjoy working with computers. I just thought that web design and graphics would be the career I would choose since it allowed me to combine my love of art and computers into one job. Devin was just starting out in his career as a SQL Server developer but I knew he was enjoying it and since I was hating life as a minion of the UPS-machine I was definitely excited about this opportunity.

Devin explained to me how his brother, Brian Knight, was starting this training program where students would learn about SQL Server and SQL Server Reporting Services in hopes that we could then find work as a SQL Server developer. It was one of Brian’s ways of giving back to the community. The training would take place over a week or so.

Inside my head I was thinking, “Man, this sounds awesome! Anything other than UPS is a win in my book but this sounds amazing!” but I made sure to play it cool. “It sounds interesting,” I told Devin, slowly nodding my head.

Devin put me in touch with Brian, who I’d met a few times before as a friend of Devin, and we scheduled the training to begin after I finished my very early shift at UPS. The sunrise shift at UPS ended at about 9:00 AM so I would head home directly after my shift was over, clean up and drive out to Green Cove Springs, FL where the Pragmatic Works office was located. There I would begin learning as much as I could about SQL Server.

Learning Begins

image In those early days of Pragmatic Works the offices were very small, unpleasantly located in a small strip mall next to a hair salon and a dog groomer. The space we used was one small room that couldn’t have been much more than 500 square feet in size with a small closet and even smaller bathroo

Read more

What Indexes are on My Table!

  • 29 July 2010
  • Author: briankmcdonald
  • Number of views: 3201

In this quick blog, I want to show you one way of how to find out what indexes you have on a table using SQL Server Management Studio (SSMS). When you have SSMS running and are connected to the database engine, navigate down the database hierarchy to the Tables folder. You should see the tables that you have access to within that particular database. If you expand on a table you should see a subfolder called Indexes. Expand Indexes and there you will find your indexes for that table. For this blog, I am looking at a local instance of the ReportServer database. As you can see by the below screenshot the ExecutionLogStorage table has two indexes. One primary key CLUSTERED index and another NON-CLUSTERED - Non Unique index.




If you double click the index, you may see something like shown below.


Index Properties 



In order to keep this a quick blog, I’m not going to go into all the details about indexing. That could take up an entire chapter (actually probably many chapters) in a book. Come to think about it, there are books that were solely written about indexing and performance tuning. At any rate, I hope you learned something in this quick blog post.


Until next time, “keep your ear to the grindstone” – Good Will Hunting



Brian K. McDonald, MCDBA, MCSD
Business Intelligence Consultant – Pragmatic Works Consulting

Email: | Blog: BI Developer Network

Convert with DTS xChange  | Develop with BI xPress  | Process with TaskFactory | Document with BI Documenter


Categories: Blogs
Rate this article:


Other posts by briankmcdonald

Please login or register to post comments.