Quick Programming Note: New Job!

I started this blog in 2013 during my first consulting job. In 2014, I joined BlueGranite, which is where I have been for the last 4 years. The knowledge gained while working with them has been the inspiration for a lot of the content on this blog. It has truly been a pleasure to work at BlueGranite. Work is fun when your leadership team is trustworthy and transparent and open to feedback, and your coworkers are smart and motivated and want to help you learn. I can’t express how much I appreciate the professional relationships and friendships formed during my time with them.

But an interesting opportunity presented itself to me, and I have decided to take it.

Denny Cherry & Associates logo

Today is my first day working for Denny Cherry & Associates! I’m excited to be working with Denny (B|T), Joey (B|T), Kerry (B|T), Monica (B|T), John (B|T), and Peter (T). I’ve known the consultants at Denny Cherry & Associates for years through the SQL Community. My chats with them at conferences and on twitter demonstrated their incredible SQL and Azure knowledge, and I can’t wait to learn from them. I might even teach them a thing or two about BI/Analytics. I feel very fortunate to work for a company that values and encourages participation in the technical community. There are five Microsoft MVPs (including me), and all 6 consultants are speakers and bloggers. DCAC does a healthy mix of implementations, migrations, health checks, support, and training. They have completed many interesting and impactful Azure projects, which was a big draw for me.

Otherwise, things should be business as usual for me: work from home with the bulldog and a little travel as needed. I’ll continue to blog here in my free time with new coworkers and projects to serve as my inspiration.

Microsoft Technologies, PASS Summit, Personal

Learning Better Presentation Skills (T-SQL Tuesday #108)

TSQLTuesdayThis month’s T-SQL Tuesday is hosted by Malathi Mahadevan (@SqlMal). The topic is to pick one thing I would like to learn that is not SQL Server.

I’m going to go a different direction than I think most people will. I spend a lot of time learning new technologies in Azure, but I am also focusing on learning better presentation skills and improving my use of related technologies. Yes, that often means PowerPoint. But sometimes I do presentations directly in Power BI when I am presenting data or mostly doing demos. Building presentations requires tech, design, and speaking skills. And I enjoy that mix.

I enjoy presenting at user groups and conferences, and lately I’ve been branching out in the types of presentations I give. At PASS Summit this year, I delivered a pre-con and a general session, and I participated in a panel and the BI Power Hour.  Each one required a slightly different presentation style.

Just like we may cringe when we go back and look at old code and wonder what we were thinking, I have the same reaction when I go back and look at old presentations.

As a data viz person, you would think I would be better at building engaging presentations since a lot of the data viz concepts apply to visual presentation, but it’s still a struggle and a constant endeavor to improve.  I have made some progress to date. Below is a sample from a presentation on good report design practices in SSRS that I gave in 2015.

Old Presentation

While it’s not the worst slide I’ve ever seen, it’s definitely not the best. Here are a few slides from my PASS Summit presentation called “Do Your Data Visualizations Need A Makeover?”, which cover the same topic as the above slide.


The new slides are much more pleasant and engaging. I have changed to this style based upon what I have learned so far from Echo Rivera’s blog and her Countdown to Stellar Slides program. I use more and larger images and less text on each slide. This naturally leads to having more slides, but I spend less time on each one. And there is less of a chance that I will revert to just reading from a slide since there is just less text. I get to tell you about what that one sentence means to me.

My goals is to learn how to deliver presentations that are more accessible and more engaging.

I blogged about accessible slide templates earlier this year. I got interested in accessibility when I was learning how to make more accessible Power BI reports.  I want people to feel welcome and get something out of my talks, even if they have visual, auditory, or information processing challenges. So far, what I have learned is that I can be more inclusive with a handful of small changes.

To continue my learning about presentation delivery, I plan to:

And of course, I plan to give presentations so I can try out what I learn and improve from there. I have already submitted to SQLSaturday Colorado Springs, and I’m sure I will add more presentations next year.

If you have resources that have been particularly helpful in improving your presentation delivery, please leave them in the comments.

Happy T-SQL Tuesday!


Conferences, Microsoft Technologies, PASS Summit, Personal

Join Me At PASS Summit 2018

The PASS Summit 2018 schedule has been published, and I’m on it twice! On Monday, November 5, I am giving a full-day pre-con with Melissa Coates on Designing Modern Data and Analytics Solutions in Azure.  We’ll have presentations, hand-on labs, and open discussions about architecture options in Azure when building an analytics solution. If you’ve been wondering how your architecture should change when moving from on-premises solutions to PaaS solutions, when to use SSIS versus ADF V2, options for data virtualization, or what kind of data storage technology to use, we would love to have you attend our pre-con.

I also have a general session at PASS Summit: Do Your Data Visualizations Need A Makeover?. I’ll share the signs that your data visualizations aren’t providing a good experience for your users, explain the most common reasons why, and give you tips on how to fix it. Data visualization is a skill that must be learned and that we all should continue to sharpen.  We’ll have some fun discussing common mistakes and looking at examples. This session is scheduled for Wednesday, November 7 at 4:45pm.

If you are on the fence about attending PASS Summit, I highly recommend it, especially if you have never been. There are so many benefits for data professionals:

The content:

  • There are opportunities to learn from some of the top Microsoft Data Platform experts in the world.
  • Microsoft product and customer advisory teams have a large presence at the conference, so you can ask them questions and get advice.
  • The wide array of content allows you to go deeper on topics with which you are already familiar or to get an intro to a topic that is adjacent to your current knowledge that just wasn’t clicking for you by reading blog posts or books.

The networking:

  • You get to meet data professionals from all over the world. You can make new professional contacts and friends with whom you can keep in touch afterwards.
  • If you are looking for a new job, it’s a great place to make connections.
  • You can talk to the speakers whose blogs you read and conference sessions you attend! If you spot your favorite speaker at PASS Summit, it is a great place to introduce yourself or ask a question.

The fun:

  • There are lots of community events, including happy hours, game nights, and more.
  • There is always something to do for dinner, between receptions, sponsor parties, and friendly groups to tag along with.
  • SQL Karaoke is happening somewhere pretty much every night.

These benefits are most definitely real, not just over-hyped advertising. I have friends and colleagues of many years that I first met at PASS Summit. I first met Melissa Coates at PASS Summit, and now I work with her and present with her. And I got to help edit the Power BI whitepaper she wrote with Chris Webb (whom I also first met at PASS Summit – I fan-girled a little and asked for his autograph on his Power Query book the year it came out).  I got job interviews after letting colleagues at PASS Summit know that I was looking one year. I had a blast singing karaoke with a live band at an evening event last year. I could continue this list for quite a while, but I think you get the picture.

If you will be attending PASS Summit for the first time, check out the attendee orientation from Denny Cherry on October 2nd as well as the buddy program and speed networking event at the conference.

If you haven’t registered for PASS Summit yet but are planning on it, check with your local SQL/Power BI user group or a PASS virtual chapter for discount codes.

I hope to see you there.

Azure, Conferences, Microsoft Technologies, Personal

Please join me for my PASS Summit Pre-Con with Melissa Coates

I’m excited to announce that I’m joining forces with Melissa Coates (aka SQL Chick) to do a full-day PASS Summit Pre-Conference Session this year!

We’ll be talking about Designing Modern Data and Analytics Solutions in Azure.

Many traditional data warehousing professionals as well as other data engineers are taking on analytics projects in Azure. There are more (and ever-changing) options available in Azure that extend our capabilities beyond what we had on premises. And there are several different ways to create an analytics solution in Azure, to the point that it can be difficult or overwhelming to have to make those technology decisions up front.  We want to help you get started in Azure, provide design patterns and reference architectures, and share our lessons learned from solutions we have implemented. We’ll talk through technologies such as Azure SQL DB, Azure SQL DW, Azure Data Lake, Azure Data Factory, Azure Databricks, HDInsight, Analysis Services, Azure Machine Learning, Power BI, Virtual Machines, and more.

Approximately 30% of the day will be hands-on labs, 50% presentation, and 20% open discussion and questions.

Attendees of our session will gain a broad understanding of the fundamentals for designing data solutions in Azure, techniques for navigating the wide variety of platform choices in Azure, and suggestions for developing sound architectural systems.

I hope you’ll join us on Monday, November 5th.


Conferences, Personal

Join Me on

I’m honored to join the great group of people at as a mentor. I think it’s a wonderful effort to help new speakers improve their skills and confidence. Speaking at conferences and user groups has brought me a lot of new knowledge, friends, job opportunities, and travel opportunities. I’m so grateful to the people who provided feedback and encouragement to me over the last 5+ years since I started speaking. If you’d like to know more about how Speaking Mentors came to fruition, you can read about it here.

It can be scary to put yourself out there, but it is well worth it. And you have a host of mentors from which you can choose to support you and cheer you on. If you’ve been thinking about trying your hand at presenting and would like some free one-on-one guidance, this is your chance. If you are feeling unsure about presenting, I have a couple of thoughts for you:

  1. There is room for you as a speaker. Don’t be too concerned about having an absolutely special/unique/creative topic or take on a subject. If you have knowledge that other people would find interesting or useful, that is a great place to start. Your point of view and way of explaining things is valuable. Sometimes a speaker covers a topic that has been done a million times but says something in just the right way that it finally clicks for someone. Or someone brand new to the topic attends your talk and gets excited to learn more.
  2. While you should practice your presentations before delivering them and make sure you have good knowledge on your topic, it’s perfectly ok to not know all the answers to all the questions anyone could possibly ask. Also, even great presenters have shaky sessions every once in a while. Give it a good effort, but don’t be worried about being absolutely perfect.

On a related note, the Denver SQL User Group is currently looking for speakers for our April through November meetings. We meet on the third Thursday of the month, and we have a 30-minute presentation and a 60-minute presentation in each meeting. A 30-minute presentation at a user group is a great way give speaking a try. If you learned something interesting about the Microsoft Data Platform or you solved a cool tech problem at work, volunteer to present about it. Contact me on twitter or send an email to Events (at) DenverSQL (dot) org to chat about speaking at a future meeting. We’re friendly and there’s free food.


Personal, Power BI

End of the Power BI Updates List

I just finished updating my Power BI updates list for the last time.  I started the list in November as a way to keep track of all the changes. When I first started it, they weren’t posting the updates to the blog or the What’s New sections in the documentation. Now that Microsoft is on a steady cadence of monthly releases and doing a great job of communicating updates, there isn’t much need for this except as a fun data source. It’s also been about a year since Power BI V2 became generally available, so it seems like a good stopping point.

I removed the link to my updates page, but I left the page available for anyone who has it bookmarked and put a note on the page that the list is no longer being updated. I want to leave it in place because I appreciated the comments and the Power BI visuals people made using the list as a data source.

If you would like a copy of it to continue your own list or to use as a data source, you can access the file at

PASS Summit, Personal

My PASS Summit Abstract Feedback

I wasn’t selected to speak at the PASS Summit this year. One of my talks was selected as an alternate, but I’m not holding out hope it will move up. Update: My session got bumped from alternate to scheduled. See here for more information. 

While I am a bit disappointed, I’m ok with it.  I delivered a general session and a lightning talk at PASS Summit 2014, then took a year off and didn’t submit anything in 2015. But I was on the abstract review committee last year and this year.  It’s interesting to see how abstracts are ranked and feedback is provided. I have a few quick thoughts on not being chosen:

  1. Congrats to everyone who was chosen! I am happy for you, and I hope you enjoy the experience.
  2. My career and my confidence as a speaker are just fine. If my perception of my career/speaking success rested solely/mostly on being selected to a single conference, I would probably need to re-evaluate my goals and priorities. I have learned a lot this year, and I’ve had some fun speaking opportunities so I’m satisfied with my accomplishments in the first half of 2016.
  3. Although my attendance at PASS Summit 2016 is TBD, part of me is happy that if I do get to attend, I will do so without having to worry about speaking. It’s nice to enjoy the company of others and stay out late without stressing over last-minute tweaks to demos or being tired while speaking.

I think it’s helpful for me to see others’ abstracts that were submitted and the feedback they received, so I’m sharing mine. It can be difficult to tell sometimes if you are missing something or if it was just luck/circumstances (there happened to be an abnormal amount of good abstracts on your same topic, etc.). While I can’t talk about the program committee or the criteria we used for judging abstracts, I will point out that if you look at the feedback you will see some common themes that may provide guidance for future abstract submissions.

I’ve listed the abstracts I submitted below along with the feedback they received as well as my thoughts.

Help! Someone Got Slowly Changing Dimensions in my Tabular Model! (Not Chosen)

Category: General Session
Track: BI Platform Architecture, Development & Administration
Topic: SSAS – Advanced Tips and Tricks
Level: 300
Session Abstract: Many developers shy away from slowly changing dimensions that capture history because they seem complicated, but they can be useful and worth the effort. We often need to see what an entity looked like at the time of an event rather than its current attributes; e.g., a customer’s marital status, address, and age at the time of purchase is useful for analyzing buying patterns. Having this historical view makes our analytics more accurate and useful. Many people can figure out how to add slowly changing dimensions to our SQL Server database. But what do we do when we get to our SSAS Tabular Model? It’s not quite as easy as trading the surrogate key for the natural key in your formulas. We’ll examine the mechanics of Type 2/6 slowly changing dimensions implemented in SQL Server. Then we’ll discuss good practices for adding slowly changing dimensions to the tabular model. Finally, we’ll review common DAX formulas and see how we should alter them to accommodate slowly changing dimensions.
Prerequisites: Basic familiarity with the idea of slowly changing dimensions, understanding of Tabular SSAS) and common DAX calculations.

  • Define and explain the types of slowly changing dimensions
  • Provide tips on how to optimize loading of a type 2 or 6 slowly changing dimension
  • Demonstrate common calculations and how to change them to make them work with a type 2 or 6 slowly changing dimension
  • Sounds like it could be a good session but the abstract seemed all over the place. Hard to follow.
  • abstract seems to ramble. grammatical anomalies. punctuation misuse.
  • Fantastic topic, and extremely well-constructed abstract!
  • Well written abstract, sold me in easily. Seems to be on level. Clear goals.
  • Nice abstract with clear goals and outlines.
  • Abstract OK. Learning goals a bit roughly defined – could be more precise in this narrow topic.
  • Good abstract. Could be an interesting session to attendees.

My thoughts: There are some conflicting reviews, which is to be expected from a diverse group of reviewers. One of the reviewers seems to be extremely picky about grammar. I have reviewed the abstract, and I still do not see any grammatical issues. I am rather picky about grammar myself, but I think the goal of reviewing grammar in abstracts is to ensure that the abstract will be easily understood by attendees. As long as the abstract sounds professional and appropriately communicates what the session is about, tiny grammar issues and preferences don’t matter.

How to Care for Your Type 2 Slowly Changing Dimension (Not Chosen)

Category: Lightning Talk
Track: BI Platform Architecture, Development & Administration
Topic: SSIS – Building and Deploying Solutions
Level: 200
Session Abstract: Your type 2 slowly changing dimension (SCD2) needs love and proper care. Don’t over complicate your relationship with your SCD2, but also don’t let it feel unappreciated. Be straightforward and set ETL expectations appropriately. Be accepting if your type 2 slowly changing dimension decides he wants to be a type 6. This talk will help you understand your SCD2 and how to provide for him using SQL Server Data Tools and SSIS.
Prerequisites: High-level grasp of type 2 dimensions used to capture effective dated historical attributes. SSIS dev expertise to understand design patterns.

  • Define a type 2 slowly changing dimension and how it works
  • Show example table DDL for a Type 2 slowly changing dimension
  • Show an example SSIS package with a good design pattern for loading a type 2 slowly changing dimension
  • can this really be covered in 10 minutes?
  • Misalignment in abstract, learning goals and level
  • Cute abstract. Title matches the abstract well; goals well defined and aligned. Would be a good lightning talk; level might be better suited for level 100
  • Really good abstract for a lightning talk. Sounds like a topic that a good amount of people and sounds like something I would enjoy attending.
  • Abstract is well written and easy to understand.
  • Good topic but not sure about whether the subject matter can effectively be presented in the time allotted.
  • Very focused topic – great for a lightning talk. Very good prerequisites and goals. The abstract is entertaining yet clear.
  • Well written abstract, on level
  • Well written and to the point.

My thoughts: I had fun writing this abstract, and I look forward to delivering this talk somewhere else. There seems to be some debate about whether slowly changing dimensions are a 100-level topic for SSIS. I think they are not. Whoever wrote that probably underestimates their own knowledge and has forgotten what SSIS basics at the 100 level are like. I think it would be a challenge to deliver in 10 minutes, and that is very valid feedback. I would have liked to try it though. Lightning talks are tough. They require a lot of editing and practice to pack useful, interesting, and coherent info into 10 minutes.

Overcoming Chartaphobia with Power BI (Alternate)

Category: General Session
Track: BI Information Delivery
Topic: Power BI
Level: 100
Session Abstract: Do reports in your organization consist mostly of giant tables of data? Perhaps you have gotten as far as adding KPI indicators or conditional highlighting to the tables. Maybe you have charts, but they are hideous and distracting. Although tables of data presented as reports are commonly found in many organizations, they may be doing you and your users a disservice. We’ll discuss why cognitive psychological studies tell us that graphs and pictures are more effective at communicating trends and comparisons and how to prepare to create good data visualizations. Then we’ll explore how to employ purposeful data viz designs to help users achieve their goal of making informed decisions, using a fun and useful Power BI dashboard. You’ll leave with guidance on how to take boring or unreadable tables of data and turn them into useful and visually appealing reports.
Prerequisites: Interest in data viz and/or Power BI

  • Understand the right questions to ask when preparing to create a data viz solution
  • Explain 4 tips for effective data viz design
  • Demonstrate effective data viz design in a Power BI report and dashboard
  • Well written abstract and concise goals. I’m not sure if this will be of great interest
  • Don’t care for the data “viz” usage. This should be spelled out to visualization.
  • Whilst I get why the title might have chartaphobia in it – it still didn’t sound right. It’s not an actual word. The abstract is good, it does tell me that I may have charts but they’re “hideous and disgusting”. This didn’t sound nice and might turn some audience members away. The topic of Power BI is a good topic, the delivery just needs some work for a 100 level – explain earlier in the abstract how Power BI will make the charts better or exist at all.
  • Abstract: The level would be 200 Objective: I would like to attend this session.
  • I would’ve liked the goals to be a little more thorough.

My thoughts: I can’t imagine anyone being confused by the use of the word viz, but it can be a good rule of thumb not to include abbreviations or at least explain them. The comment about “chartaphobia” not being a real word made me laugh, but perhaps it doesn’t work well with an international audience. I would have put it in quotes, but I knew Orator tool we use doesn’t display those characters correctly. We all use different tactics to create catchy titles. I didn’t coin that phrase, but I think we all understand it isn’t a “real” word. I give this talk at SQL Saturdays and user groups and it goes over very well, so I’m not worried about the content of the session.

Building an Effective ETL Framework in SQL Server (Not Chosen)

Category: General Session
Track: BI Platform Architecture, Development & Administration
Topic: BIML
Level: 300
Session Abstract: An effective ETL framework helps you start and complete SSIS projects faster, employ reusable design patterns, and be consistent across packages and projects, lowering the learning curve for junior developers and your support team. Biml (Business Intelligence Markup Language) automates your SSIS design patterns and eliminates the manual repetition of solving familiar problems and making the same update over and over in similar packages. In this session, we’ll discuss and identify SSIS design patterns, learn how to create and automate them using BIML, and then see a demo of a package execution framework built using BIML.
Prerequisites: Basic proficiency in SSIS. Ability to read/understand XML and C# is helpful but not at all required.

  • Provide a basic overview of BimlScript, how it works, and syntax for creating SSIS packages
  • Understand the usefulness of SSIS design patterns, identify common patterns, and practice abstracting details from a package to understand the pattern
  • Create a master package with an easily extensible execution framework, using BIML
  • Sounds like a good session.
  • Basic and 300 don’t coincide. Need to decide is it an advanced topic or not.
  • nice abstract
  • Good topic. More detail in the abstract about what will be covered would be helpful – include more of what was listed in the goals. Based on the abstract, the level seems too high, but it seems right based on the goals.
  • Seems like a lvl 200 session. Not the most interesting BIML abstract I’ve read.
  • Not sure I can identify the level 300 material in the abstract. Would recommend as level 200. Great story line and an important topic to teach; design patterns.
  • Well-developed outline and goals with details. The title may be clearer by adding BIML in it.
  • Good but average abstract. Could be an interesting session to some attendees.

My thoughts: This wasn’t my most inspired abstract writing. I agree it probably was more of a 200-level session than 300. I marked it as such because this session requires you to put all the pieces together and understand architecture more than just how to write Biml to make it do stuff.  In previous years there was no Biml track, so this year’s chosen abstracts will help me gauge how to write for this topic next year. I’m sure this session will continue to evolve as I deliver it more, and maybe I’ll come up with a better title and description.

Who needs SSAS when you have SQL? (Not Chosen)

Category: General Session
Track: BI Platform Architecture, Development & Administration
Topic: SSAS – Building and Deploying Solutions
Level: 200
Session Abstract: Analysis Services may seem foreign or unnecessary for SQL and .NET developers. However, it can offer many advantages for reporting and data exploration, even with the SQL engine’s latest indexing and in-memory analytics capabilities. In this session, we will cover useful features of SSAS and discuss conditions where it is beneficial. Next we’ll compare the two types of Analysis Services databases (Multidimensional and Tabular) and identify requirements that should influence your decision of which type is right for your solution. Then we will explore common ways to retrieve data and browse your SSAS database, such as Power BI and Excel, reporting tools like SSRS, and custom .NET applications.
Prerequisites: Basic familiarity with data warehousing, interest in learning more about SSAS

  • Identify the conditions in which SSAS is preferable to using just the SQL Engine
  • Explain the differences between SSAS multidimensional and tabular
  • Demonstrate various ways of browsing and querying an SSAS model
  • Title a bit misleading. Was expecting a SSAS bashing, but pleasantly surprised with the meat of the abstract. Learning goals in line with level and abstract.
  • concise engaging abstract
  • Demo percentage seems low for such a topic but, overall, looks like a good session.
  • Good abstract. Sounds like a good session.
  • The idea presented in the introduction would be a good session, but it seems like the abstract strays from that path and into a general discussion of how to use SSAS. The abstract is well-constructed otherwise, and it effectively conveys the goals stated. The title seems to present the opposite viewpoint of the introduction to the abstract.
  • Well outlined abstract but if it had more demo, it would sound more interesting and persuasive.
  • Interesting and descriptive abstract. Seems to match level and topic.

My thoughts: This was some of the most helpful feedback I received. I don’t remember exactly what percent I said was demo, but the session could probably be redesigned to include more demos. And I have given this session before and received feedback that they felt the title was misleading. I will consider renaming the session in the future.