The Bit Bucket

Power BI: 5 Minutes to "Wow" and for enterprises, what's next?

Power BI is amazing. And it’s starting to appear all over the place. Many enterprises don’t know what to make of it though. Some are scared that it’ll be the “next Access” where stores of uncontrolled data end up all over the organization. Power BI’s mantra of “5 minutes to Wow” is spot on. It’s easy to be impressed. But enterprises are often struggling with “what comes next after that 5 minutes?”

2020-08-07

Fix: Unexpected error in Analysis Services Power Query designer in Visual Studio 2019

I was editing using the Power Query editor in an Analysis Services project, hosted in Visual Studio 2019. When I tried to use “Add column by example”, I received the error shown above:

Unexpected Error

Could not load file or assembly ‘Microsoft.DataIntegration.TransformDataByExample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad34e35’ or one of its dependencies. The system cannot find the file specified.

The problem is that the assembly had not been deployed with the Analysis Services Designer.

2020-07-16

T-SQL 101: 78 Custom formatting dates and times in SQL Server using FORMAT

In some upcoming posts, I’ll discuss how you can change between data types, but I wanted to show you first, how you can use the FORMAT() function to convert dates and times to strings.

This query asks for the current date and time value formatted as day then month, then (four digit) year. It also includes the desired culture (en-US) which would be used if the format required any culture-specific items, such as the names of months.

2020-07-13

T-SQL 101: 77 Switching timezone offsets in SQL Server T-SQL with SWITCHOFFSET

I mentioned in the last T-SQL post how you could create a datetimeoffset value by combining a datetime2 with an offset. But sometimes you need to switch to a different offset. And that’s what the SWITCHOFFSET() function does:

In this query, I was taking a local time (that had a timezone offset of 11 hours), and switching it to the current time in Seattle (with a -7 hours offset):

2020-07-06

T-SQL 101: 76 Creating datetimeoffset values in SQL Server T-SQL with TODATETIMEOFFSET

It’s great to have SQL Server data types now that handle time zone offsets. Sometimes though, you need to combine a datetime value and an offset to produce one of these new values. That’s what the TODATETIMEOFFSET() function does:

In this example, I’ve taken 28th February 2019 and added a timezone offset of 10 hours to it:

the output data type is datetimeoffset.

The data type of the first value is actually datetime2.

2020-06-29

SQL: Previous SSMS Tips and Tricks Session

One of the more popular things I’ve ever written is my (free) SQL Server Management Studio Tips and Trips eBook.

I’ve had a few people asking why I haven’t done a video on it lately. I’m planning to do a series on it very soon.

In the meantime, here’s a session that I did with Amit and the people from Data Platform Geeks a while back: Tips and Tricks Session

2020-06-25

T-SQL 101: 75 Constructing dates and times in SQL Server using DATEFROMPARTS

I mentioned in previous T-SQL posts that one of the challenges is that there’s no standard way to write dates, so we end up having to write them as strings. Now that was a real problem in earlier versions where people would get that wrong. The DATEFROMPARTS() function added in SQL Server 2012, though, can help with this:

This query takes the year 2019, the month 2, and the day 28 and returns a date:

2020-06-22

T-SQL 101: 74 Find the date for the end of a month in SQL Server T-SQL with EOMONTH

When writing T-SQL, it’s surprising how often you need to calculate the end of month for a given date, and so you want the last date in the month for whatever date you supply. That’s the main thing that the EOMONTH() function does.

So in this case, 16th of February 2020, we might wonder if that is a leap year. So would it be the 28th or the 29th? And so if we execute that, we find the 29th is the date, so this is actually a leap year:

2020-06-15

T-SQL 101: 73 Get string names of date and time components in SQL Server T-SQL with DATENAME

I’ve shown in recent posts how to extract components out of dates and times. You might also want the name of a month or a day, rather than just its number. The DATENAME() function does that.

In this query, I’ve asked for the name of the month that’s part of the date 28th February 2019. So it returns:

An important concept here though is that this is based upon my regional settings. Mine currently are set to US English, to it returned February. But if I had different regional settings, it would display the name in whatever region I was configured to use. So if I had a French configuration that would come back with Février instead.

2020-06-08

SDU Tools: Finding the current session decimal separator in SQL Server T-SQL

I often say that I love writing code that writes code. I use T-SQL to generate T-SQL scripts all the time. (I use Excel to do it too but that’s a story for another day). An issue I ran into a while back though, was how to output decimal numbers. I wanted to make sure I was using the correct decimal separator for the user who was running the script.

2020-06-03