Allow for user entered parameter which ban be used in beastmode calculations

It would be really awesome to be able to add to a card the ability for the user to enter a value (either with a slider or a direct text entry)... and have that value be stored as a field available for beast mode calculations.

 

Would need to be able to set the default value for the parameter... but then allow the user to change it.

 

Thanks,

Jeff H.

38
38 votes

· Last Updated

Comments

  • This would be really valuable - like creating a custom variable.

    Following!

  • DaniBoy
    DaniBoy

    domo

    💎

    Remember to vote for an idea you like if not we can not reveiw them.

    Thanks!
    Dani

    Dani aka "Mr.Dojo"

    Dojo Admin
    **Say "Thanks" by clicking the "heart" in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
    **You can update your Dojo Community name and avatar by clicking on your avatar then the "My Profile" button.
  • Very cool!  I'll vote twice for this.

  • How many likes does it take for a request to be reviewed?

  • Dani aka "Mr.Dojo"

    Dojo Admin
    **Say "Thanks" by clicking the "heart" in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
    **You can update your Dojo Community name and avatar by clicking on your avatar then the "My Profile" button.
  • bigdatadojo2000
    bigdatadojo2000 St. George, Utah 🟠

    This would be huge! Love Domo, but the parameter slider is one of Tableau's best features. Great when you can just use a slider to show the top 5, 10, 25, 100

  • One useful application of this from a recent project I worked on was a financial calculation that I couldn't be completed in beastmode.

     

    The requirement was for a user to select a start date and end date on the dashboard. The cards would then have calculations based off of the start and end dates. Because Domo doesn't have parameter values that can be referenced in a calculation, I attempted to simply use a date-range filter and calculate based off the min date...but this doesn't work:

    SUM(case when date = min(date) then `value` end) 

    This doesn't work because the min(date) aggregate function applies to any grouped data point on the chart, so it becomes the min(date) that applies to the series or category on a bar chart, for example. The parameter option would produce a constant value to reference anywhere in the card.  

     

    Initial thought was to build a webform, which would input data into a dataflow, but it wasn't intuitive for the user to edit, and also slow to run a dataflow everytime you change a parameter. The workaround in my case was to engineer a dataflow that was 100x the original output size with pre-calculated metrics that lined up with every possible start and end combination = Yuck. The v3 solution was to create a custom app, with input parameters that wer passed into calculated fields. This could have been solved if there were an option to create and reference parameters.

     

    If a parameter filter could be created, this is a sample beastmode referencing the @start_date parameter value:

    SUM(case when date = @start_date then value end)

    An option to set a default value would also be logical, so if no parameter is input, the default applies.

     

    SUM(case when date = [@start_date_param,default] then value end)

     

    Use Case 2: Visualize target/goal/or what-if scenarios.

    Imagine a user creates a parameter for Projected Volume that accepts a numeric value.  A beastmode could be built, such as:

    SUM(@projected_volume, default)

    When the user inputs their projection number, cards on the dashboard are designed to respond to the input to display threshold indicators, goal lines, or gauge targets.

     

    Use Case 3, a dashboard designer wants to provide a way for users to select a single category and then populate a dashboard to display the metrics of all categories vs the selected category.

     

    Use Case 4, set defined comparison date-ranges. 

    Let's say you want to use parameters to filter the date-range in a given calculation. This could be a handy solutions for time-series analysis.

     

    Creating Parameters - Considerations

    Parameters have types: date, list of items from a dataset, *list of items from another card, a preset selection ('This Year', 'This Month'), user-generated list of items, open text input.

    Parameters have default values: default can be set at parameter creation, or card level. 

    Parameters have scope: apply to specific cards, apply to dashboard, apply to dashboard + sub-pages

     

    Extending the Awesome - Use Cards to populate filter selections

    * list of items from another card 

    Example Use: Let's say that I have a card designed to list of customer's that purchase a product in category A last year. I want to view repeat purchases of this cohort in all categories. This could be accomplished by use of a new filter type based on the results of a card instead of a dataset.

    So, in configuring the filter, I could build a customer_id filter and define a card source instead of a data source.  For example, customer_id = @customer_id from @card_id

     

    Consideration:

    Have an option to specify if card should be accessible as a public reference for other cards to use as filtered values. This could have implications for creating master filter cards...so you can build a reference that is (1) saved filter criteria for multiple cards (2) ad-hoc filter criteria

     

    Jacob Folsom
    **Say “Thanks” by clicking the “heart” in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • Would be great if this would work with all datatypes as well. Example: Multiple date selects to use in beastmodes to make the calcs.

This discussion has been closed.