Posted by: sqlswimmer | June 20, 2018

New Session: Profiling Your Data

Data Quality is a huge issue, especially now with more and more data being created daily.  According to Micro Focus back in 2016, we were creating 44 Billion GB of data per day and are expected to produce 463 Billion GB of data per day by 2025.  That’s a LOT of data.

With all this data, it’s important now more than ever to profile your data BEFORE your warehouse or ETL projects start.  No one wants to be several months into a project only to realize the design has to be reworked due to data quality issues.  So I’ve created a session called Profiling Your Data that talks about Data Profiling, what it is, why you should do it and how you can do it with the tools already included in the SQL Server BI stack.

If you’re interested in having me present this for your group or event, just let me know, I’d be happy to.

Advertisements
Posted by: sqlswimmer | June 14, 2018

Speaking At SalemSQL, A Kind Of Homecoming

I am so excited to announce that I will be giving my Data Types Do Matter session for the SalemSQL user group in Salem, OR on Thursday, November 1, 2018.

After being selected to speak in Seattle at the PASS Summit, I decided to reach out to the newly formed SalemSQL group to see if I could speak for them while I was in the neighborhood. They normally meet on Wednesdays, so I am very grateful that they were willing to shift their meeting day around to accommodate my travel schedule allowing me to present.

One of the reasons this is so exciting for me is that I spent a lot of my formative years in the Willamette Valley, just outside of Salem. My family moved around a lot when I was younger, but this is where I learned to drive, graduated from High School and got my very first job (no, it was not IT related). I have so many fond memories of the area and still have loads of friends and family there. I used to make the trip to visit at least once, and sometimes twice a year when I was lucky. My trips have dwindled off as the youngest members of our family have graduated, gotten married, had children and moved away, but I still welcome any chance I get to visit. Mostly for family and friends, but it’s also the only time I get to eat fresh Marionberry pie for breakfast. And who doesn’t love to eat pie for breakfast?!

If you are in the Salem, OR area on November 1, 2018 and have no plans for lunch, please stop by and say, “Hi”. I’d love to see you.

Posted by: sqlswimmer | June 11, 2018

Analyzing Feedback From Music City Tech 2018

I recently presented two sessions at Music City Tech and just received my feedback.  I got great feedback and looks like I did a great job.  WooHoo!  It’s always nice to have your own version of what happened in your sessions validated.

Getting feedback on sessions is how we learn, as speakers, to become better speakers.  I must admit that I haven’t always felt this way.  When I got feedback on my very first speaking engagement I initially took it personally and became very defensive.  After some reflection, I reviewed it again a few days later and realized a few things:  Not everyone learns the same way, has the same background I do nor do they have the same goals.

I know not everyone reads the abstract/description of a session, they see the title and think it sounds interesting.  When I start a session I like to lay out expectations so the attendees know what to expect.  This helps me out when asking attendees for feedback but it also helps attendees understand what they most likely will (and won’t) learn in my session.  I have found that in doing this I’m less likely to receive negative feedback (because the attendee had different expectations) and the attendee is more likely to have a positive experience.

With that said, here are the summary numbers from my two sessions at Music City Tech.

MCT2018_FeedbackSummary

Overall I did pretty good.  But when I look at the details, I see an area that I could have definitely improved.

MCT2018_FeedbackDetails

It’s funny too, because in my Data Types Do Matter session, I specifically cut out my war stories to make my normally 60-75 minute session fit into 50 minutes.  As I said, people learn in different ways.

So my lesson here is that people like the stories from the trenches, they make it more relatable.  Next time, I’ll be sure to include at least one war story to help hit the concept home.

Posted by: sqlswimmer | June 6, 2018

Getting Called Up

When baseball players are called up to the Major League from the Minor League it’s referred to as getting “Called Up”.  Today I am proud (and very humbled) to announce that I have been Called Up to PASS Summit 2018.  I will be presenting my Data Types Do Matter session.

I started speaking on a regular basis only last year which I guess makes me a Rookie*.  I never thought I would grow to love speaking as much as I have in the last fourteen months.  I used to have a major phobia of public speaking (you can read about it here).  But, with any fear if you confront it head on, in most cases, that fear becomes more manageable or even vanishes completely.  A few years ago I decided that I would confront my fear head on (you can read about that here) and look where I am today.  It’s not completely gone, but I have learned to manage it in a way I never thought I would.

I have presented 23 times on four different topics and reached 502 people in two countries.  If someone had told me two years ago that I would have these kinds of stats I would have thought they had taken a Bad Hop* to the head.

This is only my second time submitting a session to PASS Summit, so I feel very honored to have been selected.  I know others have submitted for years and still not been selected.  Maybe wiping my submission with Pine Tar* actually helped this time.

Here’s hoping I don’t Whiff* and get Sent Down*.

*Baseball References Explained Here

Posted by: sqlswimmer | June 5, 2018

Music City Tech Rocked!

I know Nashville is most famous for Country music, but in the recent years, it has become home to more and more genres.  Last week I attended and spoke at Music City Tech/Music City Data in Nashville and let me tell you, it ROCKED!  The organizers were amazing, all the attendees were so friendly and I got to meet yet another #SQLHero of mine, Joe Webb (B | T).

One of the cool things about Music City Tech, from a speaker’s perspective, is how they encourage comradery amongst speakers.  Music City Tech was held on the beautiful Vanderbilt campus, so for those speakers that wanted, they could choose to have their accommodations comp’d by staying in on campus housing.  They did this for all of the crew from the conference as well.  I was a bit skeptical at first, I mean really, I’m not a teenager anymore.  But I had some of the best roommates and have made some friends for life.

I had two sessions to present, Data Types Do Matter and What is Power BI?  Both sessions went well, though I had less than 10 attendees in each session.  I couldn’t really blame anyone, it was a super nice day after having days of clouds/downpours, it was the last day of a three day conference and the sessions were in the last two time slots of the day.  Oh yes, and it was a Saturday.  I fully expected two attendees max, so my expectations were exceeded by far.

I think the only thing that could have made my experience at Music City Tech was if it were held this weekend instead of last, so I would have an excuse to go to Bonnaroo!

Posted by: sqlswimmer | April 4, 2018

I Am Speaking At Music City Tech

I am excited to announce that I have been selected to speak at Music City Tech held at Vanderbilt University in Nashville, TN, May 31 – June 2 2018.  Music City Tech is a multiday event with three simultaneous conferences, Music City Code, Music City Agile and Music City Data.

The schedule has not been posted yet, but I will be presenting two sessions, Data Types Do Matter and What Is Power BI? for the Music City Data Conference.  This is the first year for Music City Data and I am so honored to have been selected to be part of this inaugural event.

This will be my second non-PASS speaking event and I couldn’t be more excited.  There are some great sessions being offered by some really great speakers and I plan to attend as many of them as I can when I am not speaking.  If you are in the Nashville area May 31 – June 2 2018, I suggest you stop by and check it out.  They are even offering early bird pricing for registration through the month of April (while supplies last).

Please stop by to say, “Hello”, I’d love to chat with you.

Posted by: sqlswimmer | March 29, 2018

Speaking at SQL Saturday Atlanta (#733)

I am so honored and humbled to have been selected to speak at SQL Saturday Atlanta (#733) on May 19, 2018.  I will be presenting my Data Types Do Matter session.  This will be my second time speaking for this event in as many years.  I was so thrilled to be selected last year, but to be selected again is truly amazing.  For those that aren’t familiar with SQL Saturday Atlanta, it’s a HUGE event with speakers from all over the world.  The organizers do a great job of selecting a mix of speakers, from first timers to MVPs that have been around since almost the beginning of the MVP program.

If you’re in the Atlanta area on May 19, 2018, check it out, you won’t be disappointed.  They also have some great pre-cons on Friday, May 18, 2018, from Tim Radney (B|T), Jonathon Stewart (B|T), Joey D’Antoni (B|T) and Robert Cain (B|T).

See you in Atlanta!

Posted by: sqlswimmer | March 19, 2018

SQL Saturday Iceland–What an Adventure!

Two Saturdays ago, I was in Reykjavik, Iceland, speaking at my very first international SQL Saturday.  WOW!  Is all I can say.  While this SQL Saturday is one of the smaller events I’ve spoken at, it definitely made an impression and will most likely go down as one of my all time favorites.  Why?  There are so many reasons…

First, it’s in Iceland.  I mean really, is there any place more beautiful?!  Even in Winter it’s beautiful.  Best part about Iceland – no trees to obstruct your view!  I know some of you might think I’m crazy, but coming from the desert of Arizona where you can see for miles in every direction, it makes a huge difference.  I moved to North Carolina 11 years ago and there are lots of trees, I mean LOTS of trees EVERYWHERE.  You can’t see anything, it almost makes me feel claustrophobic at times.  So for me, no trees is a huge plus!  I got to take in some of the major tourist sites via the Golden Circle and saw some truly amazing things.  There is so much history in Iceland it’s hard to comprehend at times.  From the Vikings to the Summit between super powers that brought about the start of end of the Cold War to being the first country to have an openly gay female Prime Minister.  So much history.

Second, the people of Iceland.  Everyone one I met from the time my plane landed until my plane departed five days later, everyone was so nice!  This goes doubly for the organizers of SQL Saturday Iceland.  Asgeir Gunnarsson and his team did an incredible job of making me feel welcome and offered assistance with anything I needed.  I couldn’t have asked for better hosts for my first international SQL Saturday.

Third, the speakers.  OMG, the speakers at this event were so awesome.  It was a huge melting pot of international speakers, there were folks from the UK, Ireland, Belguim, Portugal, Germany, Sweden, the list just goes on and on.  Every single one of them were so friendly.  Being a fairly new speaker and being surrounded by such tremendous speakers was an experience I will never forget.

Fourth, the event itself.  I mentioned that this was one of the smaller events I’ve spoken at.  This meant that it was very personal, you could talk with attendees, organizers and sponsors and not feel overwhelmed.  You felt like you were talking with neighbors not strangers.  They also had two of the best raffle prizes of any event I’ve ever been to.  The first was an oversized “typical” Icelandic chocolate Easter Egg.  Holy cow, I’ve never seen so much chocolate.  I would have had to purchase another suitcase just to get this thing home if I had won!  Then there was the case of beer (2 actually).  Not sure if we could get away with that in the US, but it sure made an impression on me.

Fifth, my session.  I had a good mix of attendees in my Data Types Do Matter session.  Lots of interested faces, but not too many questions until I started bribing them with Girl Scout Cookies.  Let me tell you, nothing breaks the ice like a Thin Mint or Caramel Delite!

Lastly, it’s in Iceland!  Yes, I know I said this already, but it was so beautiful.  So beautiful in fact, I’ll leave you with a few of my photos so you can see for yourself.

Enjoy!

Posted by: sqlswimmer | March 19, 2018

SQL Saturday Richmond

SQL Saturday Richmond is just 5 days away and this will be the second time I have been selected to speak at this event.  SQL Saturday Richmond holds a special place in my heart as do the event organizers.  They gave me my first opportunity to speak at a SQL Saturday.

Last year at this time I was so stressed out and worried that I didn’t sleep well leading up to the event.  I had been sick in the weeks leading up to the event and was worried my voice wouldn’t hold out for the entire session.  And this was my first ever SQL Saturday, so no pressure at all.  Turns out my voice made it through the entire session and I didn’t hyperventilate or pass out.  I did forget to touch on a few of my talking points, but the crowd seemed pleased and I got very good feedback so I put it down as a win.

This year I was honored to be selected to speak again, and I am giving two sessions, Data Types Do Matter and Intro to Integration Services (SSIS).  These are both beginner level sessions and I really love both of them.  They are both things that I am passionate about and am a firm believer that if you start with a good foundation, it only makes you a stronger DBA/Developer/Analyst.

If you are in the Richmond, VA area this weekend (Mar 23 & 24) stop by and say “Hi”, I’d love to see you.  Also, they do have some great pre-cons this year, one with Grant Fritchey and the other with Andy Leonard and still have seats available, so check it out!

Posted by: sqlswimmer | March 2, 2018

Using the Analysis Services Execute DDL Task

My grandfather used to say, “There’s more than one way to skin a cat.”  I always thought it was a disgusting saying, I mean who would ever want to “skin a cat”?!  Gross!  But the underlying meaning was clear, there’s always more than one way to do something.  And no my grandfather never actually skinned any cats, he was just a country boy from a small town in Iowa, where you quite often had to come up with creative ways to get things done.

There are often times when we get so focused on what we are doing, we forget to look around.  This happened to me a few weeks ago.  We were in the middle of a big upgrade at work, not only where we upgrading our ERP system, we were changing platforms as well (read this as:  no one got more than 3-4 hours of sleep per night for about two weeks, including myself).  We also have a BI solution that uses SQL Server Integration Services (SSIS) to pull data from our ERP system, stores it in a data warehouse on SQL Server then has a multi-dimensional SQL Server Analysis Services (SSAS) cube that sits on top of the warehouse.  Pretty common scenario.

Last part of our ETL process is to process the Dimensions and Facts for the newly loaded data.  I have always used the Analysis Services Process Task in SSIS to accomplish this.  Works great, it’s stable and easy to use.  Just click a few items and you are off and running.

My ETL code had been stable for so long, I hadn’t needed to make any changes since I upgraded from Visual Studio 2015 to Visual Studio 2017.  Little did I know that there was a bug in Visual Studio 2017/SSDT 15.5.2 that will not allow you to use the Analysis Services Process Task if your target version of SSIS is 2016.  You will get a couple of different errors depending on what you are doing.  If you are trying to modify an existing package that uses an Analysis Services Process Task and your target version of SSIS is 2016 you will get the following error:

Post71-EditExistingError

If you try to create a new package using an Analysis Services Process Task and your target version of SSIS is 2016 you will get the following error after it allows you to configure your processing tasks and you click OK:

Post71-NewPackageError

In both of these scenarios you will not be able to save the package.  So what the heck are you supposed to do?!  Here’s where my tunnel vision (and panic) sets in.  How was I supposed to get my SSAS objects processed?

I could always script out my processing tasks using SSMS and drop them in a SQL Agent job step.  But I have multiple environments and multiple cubes so each one would have to be hard coded.  Not a great idea, so scratch that.

Post71-ScriptProcesinSSMS

I could just create a new SSIS project, targeting SSIS 2014, just for the processing tasks.  (Thanks to Teo Lachev for the idea.  And yes, you can deploy SSIS 2014 targeted packages/projects to SSIS 2016.)  It’s better than my first idea.  I could parameterize all the connection managers so nothing would be hard coded, but now my code lives in two different projects.  Not ideal, but it would definitely be better.

Then Gerhard Brueckl pointed me to the Analysis Services Execute DDL Task.

Post71-ASDDLTask

I did some quick research on it here and turns out, this was exactly what I needed to “skin this cat”.  It would allow me to keep my SSAS processing packages in the same project as the rest of the ETL and I could parameterize it to my hearts content (queue beams of light from above and singing angels).  Why hadn’t I thought of this before?!  To be honest I had never paid attention to this task.  It had the term DDL in it, and I wasn’t writing DDL, so why would I ever need it, especially since I was dealing with SSAS.  Yes, I know, need I remind you about my lack of sleep and my tunnel vision.

Post71-ASDDLTaskOptions

The cool thing about the Analysis Services Execute DDL Task is that you have a choice when it comes to your source for the DDL.  I opted for the variable because I needed to parameterize it with the SSAS database name.

Post71-SourceTypes

I was able to script my processing tasks, dump that code into a variable that I built with expressions so that it could be parameterized.  Now one thing to keep in mind is that the XMLA that is produced for SSAS processing tasks has double quotes in it.  You will have to either a) escape the double quotes or b) create a variable for the double quote to use in the XMLA in your expression to build your variable.  I opted for b, create a variable to hold the double quote, it seemed cleaner to me.  Here’s a good post on StackOverFlow on how to do both.

As you can see below, it looks very intimidating with all the XMLA & expressions, but it creates a very pretty XMLA processing task in the end.

Post71-VariableExpression

I created one task for processing dimensions and one task for processing facts.  Mostly because I want to be able to track performance respectively, but you could create one task to do it all.

I was able to add these new packages to my SSIS project and deploy it without issue.  They’ve been running ever since with no problems.

I hope this post helps someone else break out of their tunnel vision.

PSA:  No cats were harmed in the writing of this blog post.

Older Posts »

Categories