Changing the chart type dynamically based on the data

  • I have a dataset the contains the results of multiple different surveys with 10 to 20 questions.
  • The response to the survey questions can be a star rating, single select, multiple select, or freeform text.
  • The type of response is a column in my dataset.
  • Each survey can have their own order of response type. i.e.,
    • In survey Test1, the first question is a rating response
    • In survey Test2, the first question is a freeform text response
  • The dashboard is limited to show one survey at a time
  • I want to display a card by question in the order the questions appear in the survey
  • How do I dynamically change the card from a stacked bar graph when it is a rating response to a table when it is a freeform text response.

Answers

  • ArborRose
    ArborRose Coach
    edited November 14

    I don't think Domo has a built-in feature for automatically changing the chart type. You can simulate the behavior using filters, multiple cards, and structuring your dataset. You should be able to do something like this:

    • Creating a Response Type column that categorizes each survey question.
    • Use multiple cards (or multiple views within one card) based on the response type.
    • Applying filters to control which chart is displayed, based on the selected survey/question response type.

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

  • Thanks. That is our current approach. However, I am being challenged to come up with a more elegant approach for our customers.

  • You could potentially do this using Domo bricks. It's going to require a fair amount of Javascript and the Phoenix chart libraries to switch it based on your different types. If you aren't skilled in Javascript, it's going to be quite challenging.

    **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.
  • Thanks for the suggestion. I will investigate that approach.