GithubHelp home page GithubHelp logo

tableau / extension-quick-what-if Goto Github PK

View Code? Open in Web Editor NEW
2.0 20.0 3.0 12.46 MB

A dashboard extension that allows you to create a list of controllable inputs based on values of a dimension for quick what-if analysis.

License: MIT License

JavaScript 59.50% HTML 3.06% Vue 37.44%

extension-quick-what-if's Introduction

As-Is

Quick What-If

A dashboard extension that allows you to create a list of controllable inputs based on values of a dimension for quick what-if analysis.

Using the Extension from Tableau Exchange (Recommended)

See the Tableau Help topic Use Dashboard Extensions for directions. When presented with the list of available Dashboard Extensions, search for Quick What-If to find and install this one.

What it does

Imagine, you're a manager at Superstore and you're using Tableau to do a simple what-if analysis on sales. You want to be able to see how sales would change based on a percentage increase or decrease. But, you want to do this analysis at the product category level with different percentages for each. Well, that would require you to create a parameter for each and every category and write a long calculation to match them up. Then if a new category gets added you need to go back and add another parameter and update your calculations. Who has time for that!? Instead, with the Quick What-If extension, you simply create one parameter and one calculation, and then you get a list of controllable inputs for each category to do your what-if analysis automatically!

How to use it

  1. Before bringing in the extension make sure you have at least one worksheet on the dashboard that contains the dimension you want to pull values from. For example, if you wanted to do what-if analysis on the product categories like in the above image, you would need a worksheet on your dashboard with the "Category" dimension.
  2. Next make a new string parameter that accepts all values. This will be your storage parameter where all input values are kept.
  3. Now that your dashboard is set up, drag in a new extension object to your dashboard and select the Quick What-If extension.
  4. In the configuration pop up select your storage parameter (which you made in step 2) and choose which worksheet and field you want to generate a list of inputs for.
  5. Select how and when you want the inputs displayed within the options (more details below).
  6. Save the configuration.
  7. Create a new calculation with the following formula: {FIXED [Dimension]: MIN(FLOAT(REGEXP_EXTRACT([Parameter], [Dimension]+"\|(-?\d*\.?\d*)")))} where Dimension is the field you want to generate an input for and Parameter is your parameter.
  8. Add this calculation to a view with your dimension.
  9. Adjust the inputs in the extension to do your what-if analysis!

Options

  1. Location of inputs: Where do you want the inputs to show up? You can choose between a modal pop-up window or inline on the dashboard.
  2. Inputs to display: Do you want to see all inputs or only the ones for the items you selected?
  3. Trigger: How do you want to trigger the inputs to show up? When you click on a mark or based on a button on the dashboard.
  4. Unit label: Choose a label to display above the inputs to let users know what unit the numbers are.
  5. Button text: If you are using the button option you can change the words found on it.

Note: If you are using options that eliminate the need for the inline dashboard zone to be displayed you can simply hide the extension by floating it and making it 1x1 pixel. You can always find it later in the layout pane.

Download the Extension Code to Develop Locally

If you want to use a locally-built version of this extension or if you want to make any of your own changes, follow these steps:

  1. Make sure you have Node.js installed.
  2. Clone or download and unzip this repository. Open the command line to the extension-quick-what-if master folder and run npm install to install the node modules.
  3. In the command line run npm run build to build the extension.
  4. Copy the files in the dist folder to your web server.
  5. Update the existing or create a new manifest file (.trex) to point to the URL where you are hosting the extension.

Support

Tableau customers can contact the Tableau Support team for help.

For any local build or code related questions, please post to the Issues tab here for community support.

extension-quick-what-if's People

Contributors

bcantoni avatar benlower avatar keshiarose avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

extension-quick-what-if's Issues

Can you fix on multiple dimensions/dates?

Hello,

As in the example showcased in the what-if example, is it possible to fix the pop-up on both category and date for example?
When I apply the extension to my own use case, I'm struggling to identify how I can alter the level of detail in the extension.

Thank you,
Nathan

Using extension with Tableau Reader

Hello!

This extension looks like it would lend itself really well to a project I'm working on. Do you know if the features would be accessible in Tableau Reader? Or would the end-user on Tableau Reader also need to install the extension to access the "what if" features?

Thanks!

Default values

Dear all,

the extension is running great! I appreciate your work here. :-)

Unfortunately I ran into a problem regarding the default values. On default, every value is 0.
I want to set a custom value, based on another column.
Any idea how to get this thing working?

Thanks in advance
Kevin

Multiple Dimensions in LOD

Hi
I am unable to pass mutiple dimensions in the LOD function.
**eg: SUM([Net Sales])*(1+(MIN(

{FIXED [Class],[Sub Class]: MIN(FLOAT(REGEXP_EXTRACT([What if extension ], [Class],[Sub Class}+"|(-?\d*.?\d*)")))}

)/100))**

here I would like to do a what-if analysis at the SUBCLASS level.

quick what if compiled fine, trying to run it says ' it's not configured contact your dashboard admin'

Hello, i followed you directions to build this app locally.

RH 8.5
node installed
apache

following the readme:

  1. Clone or download and unzip this repository. Open the command line to the extension-quick-what-if master folder and run npm install to install the node modules.

this was fine

  1. In the command line run npm run build to build the extension.

this was fine,

  1. Copy the files in the dist folder to your web server.

/var/www/html/extension-quick-what-if/dist/index.html

all it says is

"The extension needs to be configured.
Please contact the dashboard author "

I haven't done anything to apache other than the vanilla install. Are there other pkgs or config items that need to be done to make this work ?

Thanks

Opposite sorting while selecting multiple marks

Hi, The issue occurs while selecting more than a single mark on the Tableau worksheet (the Viz type is irrelevant).
The values on the extension are opposite to the (dimension) values on the Tableau worksheet. It's confusing for the end-user and could easily cause wrong results and false insights, which is precisely the opposite of the extension's purpose.
Can you check how to fix it? Thanks!
Amir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.