Press "Enter" to skip to content

Day: February 1, 2022

Markdown Tools for VS Code

I highlight a pair of useful extensions for Visual Studio Code:

The first tool of choice is a big one, Yu Zhang’s Markdown All in One. This extension provides several great features. One of my favorites is its support for creating a table of contents. After opening the Command Palette (Ctrl + Shift + P), select Markdown All In One: Create Table of Contents and it creates a ToC for you based on the heading markers you already have.

Read on for several more things I like about this tool, as well as a discussion of a second useful extension.

Comments closed

The Transaction Log Architecture

Paul Randal continues a series on the transaction log:

In the first part of this series, I introduced basic terminology around logging, so I recommend you read that before continuing with this post. Everything else I’ll cover in the series requires knowing some of the architecture of the transaction log, so that’s what I’m going to discuss this time. Even if you’re not going to follow the series, some of the concepts I’m going to explain below are worth knowing for everyday tasks DBAs handle in production.

Read on to learn more about some key transaction log terminology.

Comments closed

Syntax for Scripting Calculation Groups

Marco Russo and Alberto Ferrari are linguists:

When calculation groups were introduced in 2019, we did not have a way to describe them in a textual form. A calculation group was represented as a table with one visible column and one or more rows, one for each calculated item. Each calculation item could have one or two DAX expressions associated with it – one for the calculation item itself and an optional one for the format string. Describing a calculation group in an article often required the writer to include screenshots of the Tabular Editor user interface, plus comments in the sample code to explain where each DAX expression should be placed in the user interface.

From the start we proposed a syntax to describe an entire calculation group in a textual form. However, there was no tool able to convert that syntax into the actual object in the Tabular model. For this reason, in the initial version of the articles about calculation groups we used a “pseudo-syntax” and we included comments that made the code more verbose and not necessarily easier to read. However, Tabular Editor 3 introduced the full DAX script syntax for calculation groups that we had hoped would be available in 2019. We decided to adopt that syntax in our content. We use this article as a guide to introduce and explain the DAX Script syntax for calculation groups.

Go check it out.

Comments closed

Handling Merge Conflicts with SSAS Tabular Projects

Richard Swinbank fights Visual Studio:

I sometimes find working with Visual Studio’s projects a challenge in multi-developer environments, because each project type seems to have its own vulnerability to Git merge conflicts. In the case of SSAS tabular, I’ve found two issues to be a regular source of conflicts:

Click through to see what those two causes are and what you can do to reduce the risk of having either one burn you.

Comments closed

Disabling Join Types Globally

David Alcock shows us the button not to press:

A while ago I presented a session which covered transformation rules that are used by the query optimiser to produce our execution plans. I’m not feeling in the mood for relational algebra this morning so instead I’ll introduce a command that can cause mayhem on an instance SQL Server: DBCC RULEOFF.

DBCC RULEOFF is an undocumented command, that alone makes me want to use it but in order to cover one’s backside please don’t do any of the following in any environment apart from a disposable sandbox that only you use for weird and wonderful experiments in SQL Server, because we are going to break it…

Read on for something you can but should not do.

Comments closed

Power BI Workspace Permissions

Marc Lelijveld continues a series on Power BI workspace configuration:

After Power BI Workspace setup – part 1, which was mainly about creating your workspace, giving it the right name etcetera, this blog will elaborate on workspace permissions. If you did not read part 1 yet, I encourage you to start at that blog to get the basic setup in place.

You might think, permissions is an easy topic, but often underestimated! In this blog I will describe the different workspace roles, and how you can apply them in your project. Also we will look at sharing specific content from a workspace perspective, such as sharing dataflows.

Read on to learn more.

Comments closed