Dynamics 365 Marketing - Analytic reporting with Power BI

Find here your marketing analytic reporting for Dynamics 365 Marketing using Power BI

Developer, Framework

Controlling the marketing reporting data-load

This post describes how the marketing analytics reporting framework for Dynamics 365 Marketing helps controlling the marketing reporting data-load.

How interaction data are managed on Blob Storage

The Power BI reporting framework for Dynamics 365 Marketing will reach our to you blob storage container, and load the model file model.json (and if the file modelStatic.json is found it will read that instead – see another post on this topic).
Blob Storage Container - Root
The model file contains a definition for all interaction with name and all attributes. The model file also contains a dictionary of all file names in the store that contain the actual interactions. But the reporting framework can identify the interactions files easier by simply looking at the directory of files. The data for each interaction type are kept separately in a directory with the respective interaction type name.

Blob Storage Container - Interaction Folders
Each interaction file is a csv file that contains at least one interaction, often more. Interactions are collected for a short period (fem minutes) until all interactions from that period of that type are emitted to the blob storage container in a separate file.
Blob Storage Container - Interaction Files
For a consumer of the blobs in the storage those appear like as a simple data base with the hierarchical structure of a file system.

How interaction data load control works

The reporting framework is built to optimize the load of interactions files. It uses two measures – time and a filter on which interaction types to load from Azure. It essentially filters the storage file index by date, which is controlled by one of the parameters in your Power BI analytic marketing reporting template.

The parameter @LoadInteractionsForNumberOfDaysBack controls for how many days back in time interaction data shall be loaded – from the time of a refresh.

Parameter Dialog

And there is another critical measure for controlling the marketing reporting data-load. The table !KnownInteractions controls which interactions shall be at all considered loading and the report framework will filter the blob index accordingly. Use the column LoadData to change in your custom report which interactions to load!

Interaction type table - all known interaction

The table is hard coded in the report framework and contains all known interaction used by Dynamics 365 Marketing as of today. Please note, that only data for interaction of the types that are documented HERE will be emitted by the marketing application.

Edit the table by selecting the cog-wheel on the Source query step of that table.

Interaction type table - edit interaction loading

If you refresh your report you can always use the hidden report pages that help you analyze the actual interaction data load. And there for find also the comparison between interaction data types your marketing analytic report considers loading compared to all the actual interaction types which are documented in the model file mentioned above.

Interaction data flow

Happy marketing analytics reporting with Dynamics 365 Marketing!

Leave a Reply