A #dataOp ramblings

Adventures in Business Intelligence

Advent of Code 2020 - Day 4

Day 4 is about passport fields validation. In part 1 we need to check if all the fields exist and in part 2 check if they are valid.

This seems like a job where the heavy lifting should be made by Power Query.

https://adventofcode.com/2020/day/4

If you want to follow along please download AdventOfCode2020.pbit and check Day 1 post for instructions.

Part 1

Following this strategy we load the data to our file and we find our first challenge. “Each passport is represented as a sequence of key:value pairs separated by spaces or newlines. Passports are separated by blank lines.”

Advent of Code 2020 - Day 3

Now we need to check for trees in paths. The interesting bit is that the path can grow ad infinitum to the right.

Check the details at https://adventofcode.com/2020/day/3

If you want to follow along please download AdventOfCode2020.pbit and check Day 1 post for instructions.

Part 1

How do we avoid repeating the pattern? Looking at the provided sample we have:

..##.......
#...#...#..
.#....#..#.
..#.#...#.#
.#...##..#.
..#.##.....
.#.#.#....#
.#........#
#.##...#...
#...##....#
.#..#...#.#

The interesting part begins after line 3, where we are going to need to get positions that are over the length of the row. The value that we wish for row 4 is 1, which is the value of the remainder of dividing 12 by the lenth of the track which is 11. Adding a new column with the remainder we can crosscheck with our data and everything seems to work:

Advent of Code 2020 - Day 2

We are at an toboggan rental shop and we need to help the shopkeeper to validate a bunch of corrupted passwords.

(If you want to follow along please download AdventOfCode2020.pbit and check Day 1 post for instructions)

Part 1

In part one we need to check if a given character occurs between a certain lower and upper bound.

This kind of operation seems to be more suited to be done in Power Query as we are going row by row checking for the validity of the rule. My idea here is to create a column with value of 1 if the password is valid and 0 otherwise.

Advent of Code 2020 - Day 1

This will be the first post of a series where I hope to be able to solve the problems from the Advent of Code using only Power BI.

This event, sadly, only came to my attention this year. It started in 2015 and it’s a lot of fun. In these posts I will talk about my thinking and strategy to try and solve these problems.

Without further ado let’s get started:

Google Spreadsheets Custom Connector








⚠ WARNING: The content of this post has been made deprecated due to the availability of the official Google Sheets connector and you should use that feature to import the data. ⚠
Check the official announcement on the link below:
https://powerbi.microsoft.com/en-us/blog/power-bi-november-2021-feature-summary/#post-17912-_Toc87473946
This post is just for future reference







In the beggining

I’ve been tasked to find a way of exporting data from Google Spreadsheets for a client. I’ve started researching for an already working solution and got to the following links:

Import data from another Power BI dataset








⚠ WARNING: The content of this post has been made deprecated due to the availability of composite models and you should use that awesome feature to import the data. ⚠
Check the official announcement on the link below:
https://powerbi.microsoft.com/en-us/blog/directquery-for-power-bi-datasets-and-azure-analysis-services-preview/
This post is just for future reference







While I was working with a client they were trying to import data from another Power BI dataset to their file and they got this error:

Emacs Major Modes for Power BI

Emacs Major Modes for Power BI

After many years of using Vim I finally understood the Emacs way. What I was trying to do all along was trying to make Vim behave exactly like Emacs.

To celebrate this I made some bad Elisp code and shared it on GitHub. I based my code on the Simple Emacs Major Mode for Syntax Coloring by Xah Lee.

Power Query Mode

This mode gives you syntax coloring and code completion inside Emacs. It has all the functions listed by '#shared' and color codes them. For more details on listing all Power Query functions you can check the post from RADACAD.

Diffing Power BI files

Do you really can diff Power BI files?

While working with some customers a few times this question came up: “How can I diff my current file with a older one? I really want to compare my files, to know what changed from one to another.”

Many many people working with Power BI end up with a directory full of files looking like: “myPowerBIFileV1.pbix”, “myPowerbifilev2.pbix”… “myPowerbifilevN.pbix”. The scenario wull get worse if we have two or more people working in the same file, and until recently my answer was always the same: “You can’t”.

EzApi - Define flat file columns from connection string

So what’s new?

Thanks to the contribution via GitHub from Hadi Fadl there’s a new method available for the flat file connection manager that adds the existing columns in the source file. This is very handy because in the past you would have to define each and every column that existed in the flat file.

I’ve updated the nuget to version 0.8.93.

Please give me your feedback of anything you might think should be improved.

EzApi - Adding Event Handlers

How to add event handlers to generated packages

I had a request to give an example of adding event handlers to a generated SSIS package. The code is quite convoluted. There’s no method to initialize a DtsEventHandler, you need to cast it after adding to the package with a String describing the type of event. Here’s a list of the available events:

List of event types

Here’s a sample of how to do insert a ExecuteSQLTask to a event handler using a small console application: