The data model you build will not be built to last. This is surprising and will perhaps appal relational database traditionalists, however there is a good reason for it: the JSON data does not use the relational model. It belongs to the shadowy (to old school guys like me) world of NoSQL.

What this means to a database traditionalist is this: nulls are not stored. More generally, the (inferred) schema for each Trello board is different. Indeed, you will often see terms like schemaless or schema-on read bandied about.

Returning to Trello and Power BI. Say you weren’t using labels on your Trello board, then nothing would happen when you clicked the -button in Power BI. Therefore you couldn;t make a labels table: Trello simply doesn’t hold data that it doesn’t have (unlike a database, say, that contains null rows).

This dichotomy between the traditional SQL model is, for me, is one of the most fascinating ways to look at databases in general and the book NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence covers this in wonderful detail. Our purpose here however is to interrogate Trello with Power BI like never before. To that end I have written this companion piece explaining how to avoid gaps in your Trello data.