If you don't know anything about Power BI, there are lots of resources, including some amazing tips from the Guy in a Cube. Adam Saxton has an amazing channel and puts together some impressive videos with Patrick LeBlanc. They might be one of the best sources for learning to work with the tools. You might want to spend some time playing with Power BI as I can almost guarantee that you'll build better reports with this tool than you would otherwise. You'll impress your customers, clients, and boss with your design work.
Plenty of people have Mac laptops, especially business people, and for quite some time they've had to deal with a lack of native tooling. Certainly there are lots of software ports, and no shortage of web software, but there are always places where a lack of a native solution is problematic. I don't know that we'll get lots of software ported to a new OS, but there is a better solution. Containerization can help smooth the way.
A few years back I met the Kenji Obata, founder of Turbo.net. He was doing some interesting work with containers, and I was fascinated by their work. Since then, they've grown and refined their technology, and now they have Power BI for Mac available. As soon as I saw their walk-through video, I wanted to share the experience. It's pretty amazing, and if I were still running OSX, I'd be looking to use some of the Microsoft tools I want on the native desktop.
This isn't really native, but the experience feels native. The use of containerization technology might be debatable for databases, but for client applications, it's amazing. The way that Turbo.net packages up applications is incredible. I like Turbo, and if you need to use Microsoft client applications on a Mac, you might give them a try. It's not free, but it's way better than virtualization and has some really cool features as well. I'm sure lots of non-technical people, especially management, that might build reports would love the experience of running Power Bi Desktop on their Mac.
They even have SSMS available as a turbo container for the Mac, if you're interested.
Become a more efficient SQL developer with SQL Prompt
Learn how to write SQL faster and more efficiently with these exclusive short videos from Data Platform MVPs and SQL Server experts. With SQL Prompt you can strip out the repetition of coding and write SQL 50% faster. Check out the tips
SQL Compare snapshots provide an easy way to keep track of changes during development work, whether they are small changes between iterations, or significant changes between releases. Snapshots can be used to quickly generate rollback scripts during releases even in environments which are isolated by infrastructure design for security reasons. More »
I'm converting some Firebird database code to T-SQL and I'm seeing a lot of code that doesn't work in the... More »
Question of the Day
Today's Question (by Steve Jones):
I don't have time to worry about indexes. I need to create a new database for an application and I have some choices. I want the database engine to run create and drop index statements itself, based on the workload being executed
In which one of these versions of SQL Server should I create my database to allow for automatic indexing? (as of May 2018)
Think you know the answer? Click here, and find out if you are right.
We keep track of your score to give you bragging rights against your peers.
This question is worth
1 point in this category: Indexing.
We'd love to give you credit for your own question and answer.
To submit a QOTD, simply log in to the
The Query Store changes the way you monitor performance on your databases and the way you tune the performance of those same databases. This book represents a deep dive into a large number of topics in and around the Query Store. Get your copy from Amazon today.
Yesterday's Question of the Day
(by Steve Jones):
I decide to build a short Python function from the command line that looks like this:
>>> def add99 (x):
I then execute this code from the REPL.
>>> y = [1,2,3]
[1, 2, 3, 99]
If I now do this in the same REPL, what is returned?
As with other mutable items, the parameter passed to the function is a pointed to the value. When the function changes the list to add a 99, y points to the same location as the x in the function. Therefore, y will also show the additional value.
Updating datetime2 column not working
Trying to update some datetime2 columns.
UPDATE T_MYTABLE SET dateTransferred = '2018-03-26 05.00.00' where id = 1223
Causes an error. So, I tried casting it.
Running total with a twist
I'm trying to optimize a cursor-solution for following problem:
A customer can have a number of orders with a total value...
This newsletter was sent to you because you signed up at SQLServerCentral.com.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.