Mincing Data - Gain insight from data

This site will be a container for all my musings about the analytical pipeline.

For this reason it will be necessary to define the Analytical Pipeline (at least define this pipeline from my point of view). From a general perspective (be aware that this is my perspective) five activities are necessary to build an analytical pipeline, these steps are






 The overall goal of an analytical pipeline is to answer an analytical question. To achieve this overall goal, different data sources have to be targeted and their data has to be ingested into the pipeline and properly processed. During these first steps the data ingested into the pipeline often has to be stored in one or more different data stores, each is used or its special type of usage, finally the result of the data processing has to be delivered to its users, its audience. Depending on the nature of the question, different types of processing methods and also different data stores may be used along the flow of the data throughout the pipeline.


I put a direction to these activities, but I also added this direction to spur your critical mind, because

  • source data is of course also stored somewhere
  • to target the source can become a challenge in the pipeline
  • to deliver processed data to the its audience can become a another challenge  if you try to deliver to mobile workforce
Successfully ingested data often gets processed more than once to answer different questions, and during its existence (inside an analytical data platform) this data will be transformed into various shapes, wrangled by different algorithms, and ingested into different "data stores".

For this reason I believe that these activities are tightly related, and the above mentioned sequence of these activities will just aid as a guidance.


I will use blog posts to describe how different activities are combined to answer analytical questions. In most of my upcoming blog posts I will link to different topics from the activities used in the pipeline. Each activity has its own menu and is by itself representing an essential part in analytical pipeline.


Hopefully this site will help its readers as much as it helps me to focus on each activity always knowing that most of the time more than one activity has to be mastered to find an answer to an analytical question.

DAX - Universal truths

Report page - universal truths

The universal truths

  1. The hidden iterator
    Whenever there is a simple DAX like this SUM(‘<tablename>’[column name]), it’s necessary to remember that this is translated to SUMX(‘<table name>’ , [column name])
  2. The filtered table
    Whenever a table is referenced like so ‘<table name>’, or using these table expressions VALUES(‘<tablename>’[columnanme]) or DISTINCT(‘<table name>’[column name]) the current filter context will be applied.
  3. The boolean filter
    The simple boolean filter expression in this statement CALCULATE([measure name] , ‘<tablename>’[column name] = <value>) is just syntax sugar (meaning less typing) and will be translated to this CALCULATE([measure name] , FILTER(ALL(‘<table name>’[column name]) , ‘<table name>’[column name] = <value>)).
    With a little imagination, this will allow us to deduct that a filter is a table, as the DAX function FILTER(…) returns a table.

It’s necessary to always remember the following:

“All the DAX filters are tables!”

Jeffrey Wang, “DAX Overview with Jeffrey Wang – Portland Power BI UG”, https://www.youtube.com/watch?v=bJtRB86n9tk


Mr. Miyagi once said: “Wax on, wax off. Wax on, wax off.”

I try to keep these wise words of Mr. Miyagi in my mind, and whenever something does not work as I’m expecting, I review my DAX checking, if I’m aware of these three universal truths.

mehr lesen 2 Kommentare