Forum Discussion

Erosenthal's avatar
Erosenthal
Regular Visitor
9 months ago
Solved

Populate a Tooltip from a Data Dictionary

I'm on a mission to standardize the definitions for various metrics/variables in my company's PowerBI reports, and would like to have the tooltip include a definition populated from a separate source (right now we're talking about having it be a sharepoint list, but that shouldn't be a sticking point). That way, no matter who is creating the report, we'd have a standard definition ready for the tooltip.

 

The only way I've found to do this is to create a tooltip page for each metric, which seems a little cumbersome to me.  Is there a better way? I've investigated possibly using python for this (looks like I should be able to get the gettooltip method described here to work), but also I'm very much a beginner at python, so I don't want to spend too much time on it if there's another solution.

  • Hi Erosenthal,

    For doing standardized tooltips from a data dictionary there is about 3 or 4 approaches you can try

     

    First Approach:

    you can use Field Parameters and Data Dictionary Table to achieve this:

    • Create your Data Dictionary table in Power Query:
    // Just An Example
    let
        Source = Table.FromRows({
            {"Days in Warehouse", "Number of calendar days an item has been in warehouse storage", "Operations"},
            {"Inventory Turnover", "Cost of goods sold divided by average inventory", "Finance"},
            {"Order Fill Rate", "Percentage of orders completely filled from stock", "Operations"}
        }, type table [Metric=text, Definition=text, Category=text])
    in
        Source
    • Then create relationships between your fact tables and the data dictionary

    • Also use the Definition field directly in tooltips by adding it to the Tooltips field in your visuals

    Second Approach:

    If you prefer DAX you can use calculated columns with LOOKUPVALUE

    Definition = 
    LOOKUPVALUE(
        'Data Dictionary'[Definition],
        'Data Dictionary'[Metric], [Your Metric Field]
    )

    Third Approach:

    Create a single reusable tooltip page that works for all metrics:

    • Create one tooltip report page

    • Add a measure that detects the current contxt:
    Current Metric Definition = 
    VAR CurrentMetric = SELECTEDVALUE('Table'[Metric Name])
    RETURN
    CALCULATE(
        SELECTEDVALUE('Data Dictionary'[Definition]),
        'Data Dictionary'[Metric] = CurrentMetric
    )
    • Finally use this measure in your tooltip page

    Bonus Approach:

    • This is the modern approach which you can use field Parameters to create dynamic metrics then combine with your data dictionary

    I recommend you Approach No.1 as it is the most Straightforward and Maintainable Solution 🎊❤️

    if this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly.

     

3 Replies

  • Hi Erosenthal,

    For doing standardized tooltips from a data dictionary there is about 3 or 4 approaches you can try

     

    First Approach:

    you can use Field Parameters and Data Dictionary Table to achieve this:

    • Create your Data Dictionary table in Power Query:
    // Just An Example
    let
        Source = Table.FromRows({
            {"Days in Warehouse", "Number of calendar days an item has been in warehouse storage", "Operations"},
            {"Inventory Turnover", "Cost of goods sold divided by average inventory", "Finance"},
            {"Order Fill Rate", "Percentage of orders completely filled from stock", "Operations"}
        }, type table [Metric=text, Definition=text, Category=text])
    in
        Source
    • Then create relationships between your fact tables and the data dictionary

    • Also use the Definition field directly in tooltips by adding it to the Tooltips field in your visuals

    Second Approach:

    If you prefer DAX you can use calculated columns with LOOKUPVALUE

    Definition = 
    LOOKUPVALUE(
        'Data Dictionary'[Definition],
        'Data Dictionary'[Metric], [Your Metric Field]
    )

    Third Approach:

    Create a single reusable tooltip page that works for all metrics:

    • Create one tooltip report page

    • Add a measure that detects the current contxt:
    Current Metric Definition = 
    VAR CurrentMetric = SELECTEDVALUE('Table'[Metric Name])
    RETURN
    CALCULATE(
        SELECTEDVALUE('Data Dictionary'[Definition]),
        'Data Dictionary'[Metric] = CurrentMetric
    )
    • Finally use this measure in your tooltip page

    Bonus Approach:

    • This is the modern approach which you can use field Parameters to create dynamic metrics then combine with your data dictionary

    I recommend you Approach No.1 as it is the most Straightforward and Maintainable Solution 🎊❤️

    if this post helps, then I would appreciate a thumbs up and mark it as the solution to help the other members find it more quickly.

     

  • Please clarify what you mean by "metric" . Measures?

     

    Please clarify what you mean by "tooltip".  Descriptions?

     

     

     

     

    • Erosenthal's avatar
      Erosenthal
      Regular Visitor

      Sure!  For metric - the specifics aren't all that important, but as I'm doing reports on metrics, they would be the data fields I would input.  For example, I may have multiple reports that have 'Days in Warehouse', and I would want to make sure that the ToolTip defining the 'Days in Warehouse' metric is the same across reports by having them populate from a single location.

       

      For ToolTip - I mean the PowerBI Tooltips (sorry, I have only heard them referred to as that).  The pop up that shows up when you hover over a visual to give you more information.