Forum Discussion

klev28's avatar
klev28
Advocate I
8 months ago
Solved

Help with semantic model structure

Hi   I'm not a new user but I'm having trouble getting a specific model right. I'm doing marketing campaign analysis. I want to show the campaign results by campaign and segment, split by product a...
  • v-tejrama's avatar
    8 months ago

    Hi klev28 ,

     

    The main challenge here isn't with the relationships themselves, but rather that the current model requires the Subscriptions table to serve as both a fact and a dimension, which creates conflicts. For income calculations, Subscription data needs to function as a fact table, while for scenarios where a subscription is linked to a campaign without activity, it needs to serve as a dimension. Using a single physical table for both roles leads to issues, such as indirect results disappearing when Activity-level filters are applied.

    A clear solution is to separate these roles. Retain your existing fact table for subscription income, and create a separate copy of the Subscriptions table to use as a dimension. This dimension table should include only the necessary keys and attributes for segmentation and campaign mapping.

    The Campaign table would then relate to this Subscription Dimension, while Activity and Transaction tables maintain their appropriate fact-level relationships.This structure ensures indirect results are retained, as they no longer rely on Activity. Segmentation can be applied consistently, and direct results continue to flow as before. There is no need to duplicate or maintain separate measures, as filter propagation is handled more predictably. This approach also supports all your reporting requirements and offers scalability for future enhancements by clearly separating descriptive and transactional logic.

    Thank you.