Sunday, November 8, 2015

Update of the Order of Operations Diagram 11/8/2015

Since my last article on this topic, there have been some discussions. The real diagram could be more complicated than what is been drawn here. The diagram here could be a gross approximation to the real one. Let's try to make it evolve towards the ultimate one.

So here are a few updates:

- added Custom SQL which is an integral part of the Tableau functions. It can be used as the first filter and transformer for the raw data.
- added context filter for the secondary data source before blending.
- moved blending to be after context filters.

I would like to point out that the dimension filters have two genres:
- Linking dimension filters will operate on both primary and secondary data source.
- Non-linking dimension filters will operate on their respective data source.

Linking dimension filters work after blending.

Non-linking dimension filters seem to work before blending. But as long as they only filter their respective data source with or without blending, the order of operations between blending and non-linking dimension filters doesn't matter . We can thus assume all dimension filters operate after blending.

So here is the new order of operations diagram drawn in Tableau. Click to see the viz.

6 comments:

  1. Hi Alexander,
    I am afraid this is not perfectly accurate. Dimension filters don't happen after data blending. They are pushed to individual data sources in separate queries before blend. Set filters are no different than fixed expressions and they all happen where dimension filters happen. I am also not sure what tooltips, titles happening after table calc filters imply here since if your tooltip shows SUM(Sales) it will show SUM(Sales) which is computed right after dimension filters. There are a few missing pieces. E.g. table calcs compute after measure filters. There are other pieces like densification as well.

    Thanks,

    Bora

    ReplyDelete
    Replies
    1. Bora, Thanks for reply.
      Non-linking dimension filtering can happen before blending. But linking dimension filtering to secondary data sources can only take place after blending.

      Logically speaking, blending and non-linking dimension filtering are interchangeable in the order of operations. It would not affect the final result. That's why I place the blending before dimensional filtering, just to be uniform with the linking dimension filters. The diagram might seem to imply that dimension filtering takes place only after blending. That's why I explain in the text that non-linking dimensions can be different.

      Set filters do have precedence over regular dimension filters. What are you trying to say?

      Some tooltips seems can happen earlier if no table calc is involved. But It seems they are the last information that Tableau is summarizing or gathering. I directly copied those over from Jen Vasser's presentation.

      Not so sure about densification. Where should we place it?

      Delete
    2. Bora,
      The order of operations diagram is updated again on 12/10/2015. The change is to make dimension filters take precedence over data blending.
      http://vizdiff.blogspot.com/2015/12/the-order-of-operations-diagram-update.html
      Thanks for pointing that out.

      Delete
  2. This is great, thanks for sharing! Do you know when Tableau geocoding occurs?

    ReplyDelete
    Replies
    1. My guess is it happens after all the filtering. The geocoding is just part of the data marks.

      Delete
  3. Another update about the diagram is here
    http://vizdiff.blogspot.com/2015/12/the-order-of-operations-diagram-update.html

    ReplyDelete