Apply Different Filters to Same Card on Dashboard

Hello!

I am trying to create a card that shows a small graph repeated for various combinations of filters.

My widgets are categorized in two different ways:

  • Size: Widgets can be small, medium, or large
  • Color: Widgets can be red, yellow, blue, red and yellow, red and blue, yellow and blue, or red and yellow and blue

I want to list the sizes down the left and the various color combinations across the top, then show small bar graphs with other info on the widgets that fall into each of the intersections of filters. That is, I'd like to show one small bar graph for widgets that are small and red, another for widgets that are medium and (red, blue), large and yellow, etc.

The way I'd do this in other BI software I've used is to create one single report, add 21 copies of it to the dashboard, then apply filters from the dashboard to each of the 21 copies. The advantage to this is that, in the event I have to make changes to the report in the future, I do not have to make changes to 21 different copies.

However, it seems that Domo doesn't allow me to add multiple copies of the same card to a dashboard! That means I have to make 21 individual cards, each with their own combination of filters.

Does anyone have any suggestions as to how I might create this dashboard more efficiently?

(PS - I've already explained the clutter factor to the customer, lol, but this is what they want.)

Thank you!

Best Answer

  • ArborRose
    ArborRose Coach
    edited October 4 Answer ✓

    I'm not sure about creating 21 charts using Domo charts on an App. That's what I would try first. And I haven't tried it. But…as an answer to how I might do it more efficiently - you could do it in a blank brick.

    const widgetData = [
    { type: 'Small', color: 'Red', data: [12, 19, 3, 5, 2, 3] },
    { type: 'Small', color: 'Blue', data: [10, 5, 15, 8, 9, 3] },
    { type: 'Small', color: 'Green', data: [7, 14, 8, 4, 12, 6] },
    { type: 'Small', color: 'Yellow', data: [9, 7, 3, 10, 11, 5] },
    { type: 'Small', color: 'Purple', data: [8, 11, 4, 6, 13, 2] },

    { type: 'Medium', color: 'Red', data: [7, 11, 5, 8, 3, 7] },
    { type: 'Medium', color: 'Blue', data: [14, 3, 11, 9, 6, 4] },
    { type: 'Medium', color: 'Green', data: [12, 8, 5, 13, 9, 4] },
    { type: 'Medium', color: 'Yellow', data: [9, 14, 6, 7, 4, 8] },
    { type: 'Medium', color: 'Purple', data: [6, 13, 9, 3, 10, 7] },

    { type: 'Large', color: 'Red', data: [2, 3, 5, 7, 8, 6] },
    { type: 'Large', color: 'Blue', data: [5, 8, 12, 10, 6, 9] },
    { type: 'Large', color: 'Green', data: [3, 6, 7, 8, 14, 10] },
    { type: 'Large', color: 'Yellow', data: [6, 10, 8, 5, 6, 4] },
    { type: 'Large', color: 'Purple', data: [10, 7, 9, 3, 12, 8] },

    { type: 'Small', color: 'Cyan', data: [13, 5, 9, 7, 12, 6] },
    { type: 'Medium', color: 'Cyan', data: [9, 11, 6, 14, 8, 4] },
    { type: 'Large', color: 'Cyan', data: [6, 3, 8, 11, 9, 7] },

    { type: 'Small', color: 'Orange', data: [11, 6, 13, 8, 10, 5] },
    { type: 'Medium', color: 'Orange', data: [14, 7, 9, 12, 5, 11] },
    { type: 'Large', color: 'Orange', data: [7, 9, 4, 12, 10, 6] }
    ];

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

Answers

  • OMG I already had a super annoying ramification of this - I needed to change the max on my axis on each graph. Excuse me while I go do that 21 times. 😭

  • A couple things to point out for you on this:

    1. While you would need to use the Save As option to have a card display multiple times on a dashboard, when you create a beast mode, if you choose Save to Dataset, any edits you make to that beast mode will apply to all the cards on the dashboard. This may lower your maintenance on these cards.
    2. You may want to look into variables, which can allow you to have card that changes metrics and values by what value is selected in the variable dropdown. This would allow you to have 1 card instead of 21 cards.
    3. You might also consider restructuring your data in an ETL so that showing the different combinations is easier.

    **Check out my Domo Tips & Tricks Videos

    **Make sure to <3 any users posts that helped you.
    **Please mark as accepted the ones who solved your issue.
  • Not super clear what will be shown for each of the 21 "cards", but if the idea is to show them all on the same screen, I would try to find a way to graph all the combinations in a single card. It would be impossible to get 21 cards onto the same screen in Domo, with how sparse the design options are in Domo. You might explore the trellis options or the faceted bar graph.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

  • You sure can! It won't necessarily be pretty or terribly functional but it's certainly doable, hahaha. 😂 (There's a reason some of the columns are narrower, I promise).

    I put this together to show that it would be way too crowded to effectively read but nope, that's what they want! I gave them a trellis option and a faceted option too, but it's a classic case of "we're used to seeing it this way," so in the name of change management, I'm just going to finish building it out this way.

  • Are these all bar charts with the same column names (fields), created from a Magic ETL? The only difference being how they will filter?

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

  • Yep, exactly!

  • There are different combos of 2 different filters to apply to each one.

  • ArborRose
    ArborRose Coach
    edited October 4 Answer ✓

    I'm not sure about creating 21 charts using Domo charts on an App. That's what I would try first. And I haven't tried it. But…as an answer to how I might do it more efficiently - you could do it in a blank brick.

    const widgetData = [
    { type: 'Small', color: 'Red', data: [12, 19, 3, 5, 2, 3] },
    { type: 'Small', color: 'Blue', data: [10, 5, 15, 8, 9, 3] },
    { type: 'Small', color: 'Green', data: [7, 14, 8, 4, 12, 6] },
    { type: 'Small', color: 'Yellow', data: [9, 7, 3, 10, 11, 5] },
    { type: 'Small', color: 'Purple', data: [8, 11, 4, 6, 13, 2] },

    { type: 'Medium', color: 'Red', data: [7, 11, 5, 8, 3, 7] },
    { type: 'Medium', color: 'Blue', data: [14, 3, 11, 9, 6, 4] },
    { type: 'Medium', color: 'Green', data: [12, 8, 5, 13, 9, 4] },
    { type: 'Medium', color: 'Yellow', data: [9, 14, 6, 7, 4, 8] },
    { type: 'Medium', color: 'Purple', data: [6, 13, 9, 3, 10, 7] },

    { type: 'Large', color: 'Red', data: [2, 3, 5, 7, 8, 6] },
    { type: 'Large', color: 'Blue', data: [5, 8, 12, 10, 6, 9] },
    { type: 'Large', color: 'Green', data: [3, 6, 7, 8, 14, 10] },
    { type: 'Large', color: 'Yellow', data: [6, 10, 8, 5, 6, 4] },
    { type: 'Large', color: 'Purple', data: [10, 7, 9, 3, 12, 8] },

    { type: 'Small', color: 'Cyan', data: [13, 5, 9, 7, 12, 6] },
    { type: 'Medium', color: 'Cyan', data: [9, 11, 6, 14, 8, 4] },
    { type: 'Large', color: 'Cyan', data: [6, 3, 8, 11, 9, 7] },

    { type: 'Small', color: 'Orange', data: [11, 6, 13, 8, 10, 5] },
    { type: 'Medium', color: 'Orange', data: [14, 7, 9, 12, 5, 11] },
    { type: 'Large', color: 'Orange', data: [7, 9, 4, 12, 10, 6] }
    ];

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **