Code Monkey home page Code Monkey logo

extension-data-driven-parameters's Introduction

As-Is

Data-Driven Parameters

This extension allows you to add a parameter to a Tableau dashboard whose domain is based on your data. Added a new product line? Expanding to new regions? No longer do you need to manually edit the parameter to update it, with this extension your parameter values update automatically!

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 Data Driven Parameters to find and install this one.

Using the Extension

  1. Create a parameter that accepts all values (no lists or ranges), make sure it has a data type matching the field you want to use to populate it.
  2. Drag in a new Extension object to your dashboard and click "My Extensions"
  3. Find the manifest (.trex) file you downloaded above.
  4. In the pop-up configuration window select the parameter you created above for the extension to manipulate.
  5. Select the worksheet that holds the field you want to base your parameter on.
  6. Select the field you want to base your parameter on.
  7. Optional: Configure the options and formatting settings.
  8. Click 'OK'.

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 and Yarn installed.
  2. Clone or download and unzip this repository. Open the command line to the extension-data-driven-parameters-master folder and run yarn to install the node modules.
  3. Edit the homepage in the package.json file to the server where you are going to host the extension. For example:
"homepage": "http://localhost:8080",
  1. In the command line run yarn build to build the extension with the new homepage.
  2. Copy the files in build to your web server at the path you specified in Step 3.
  3. Update the existing or create a new manifest file (.trex) to point to the URL where you are hosting the extension with /#/parameter at the end. For example: http://localhost:8080/#/parameter.

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.

Mac Desktop 2018.3 and lower

Note: Please use arrow keys and 'Enter' to select dropdown options.

extension-data-driven-parameters's People

Contributors

bcantoni avatar benlower avatar dependabot[bot] avatar jacalata avatar keshiarose avatar

Stargazers

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

Watchers

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

extension-data-driven-parameters's Issues

Issue with wss not able to configure the code on premises

Hi,
I am trying to set up this code on my server. The first issue I am getting this the code is not running on https. I have written a proxy server in nodejs but I am getting an error of WebSocket. Can somebody help me with what I am doing wrong?

Problems with automated deployment due to repo structure

I have an automated deployment method for pulling and publishing extensions in a self-hosted tableau-extensions server. The current folder contents have trex files named as <extension>v2.0.0.trex and <extension>v2.1.0.trex, while other tableau extensions repos are just <extension>.trex.

Can we tag the repos with versions, so that people requiring a specific version can checkout the appropriate tag, and make this repo have only one .trex file as <extension>.trex?

That would be very much appreciated

Summary of v2.1 changes

Hey Keshia,

I've got a bit of time and am considering upgrading to v2.1, but I'm not clear on what's new / different and what might break.
From reading your commits, one point seems to be that the extension 'refreshes' when the parameter value changes -- is this equivalent to the 2.0 config option for 'Update list of values on param change'? We don't use this, so having it as a default might be reason to avoid..

If you have a min, would love a little changelog / advice on how usability might differ. Also, apologies if I'm blowing a minor update out of proportion!

--Matt

Feature Request: Add checkboxes to multi-select.

Show checkboxes next to options in multi-select for selection instead of clicking on the value for selection.

This will require re-building the multi-select into a div instead of html select element.

Extension broken

I've used this extension for a while now but this week it stopped working for me. After clicking a value in a worksheet the extension used to provide a drop down of a filtered list, now however it just says "Parameter Needs Configuration". I realised there is a new version 2.1 and I tried to use that however when I click a dashboard action the extension will remove all filters and jump to the the first value it fines, rendering it useless. This is a very useful tool when it works, any ideas what happened this week to stop it from working?

Unable to select from list

When I select a value from the list in the Data-Driven Parameters extension three things happen:

  1. The parameter is changed to the selected value
  2. The list is re-loaded
  3. The parameter is reset to the first item in the list.

Is it possible that I have something set so as to trigger this behavior? Any help would be appreciated.

Parameter values sometimes not displaying on server - display when dashboard resized

Parameter is sometimes showing the other options in the drop down as blank.

These values are present - when selecting a "blank" square, it updates the value in the parameter.

Resizing the dashboard will cause all of the drop down values to display properly.

image

Having difficulty reproducing - only affects some users.

Tableau Server 2019.2.2

Chrome: 76.0.3809.132

No issues on other browser on same machine.

Thanks

When trying to set "Select a field" it is loading but not showing any fields to select

Hi Keisha,

When we are trying to configure the dashboard extension it is not letting us select the field. It just shows loading. Please note that I already have another dashboard extension on the same dashboard and it works fine. I even tried to remove the other and tried it but still doesn't work. Please help.

please see the below screenshot:

image

Latest event-listener update broke our functionality

Hi Keshia,

The update one hour ago broke our implementation of the extension.
We are using it to hold a list of dates, defaulting to Most Recent. It has worked well for months now.
An hour ago we noticed that our dashboard was empty -- not being fed the Most Recent date by the extension -- though the extension is displaying Most Recent as the selection. If we toggle to another date (successfully populating dashboard with that date), and back to Most Recent, the dashboard then populates with the Most Recent parameter.

Can you explain what was changed in the most recent release?
Having only skimmed your commit, my theory is that no event is emitted upon first load -- only on change. Thus we're missing the value initially present on load.

Thanks,
Matt

Question: Users need Interactor permission for DDP to work

On our Tableau Server, it seems like the DDP extension does not work for users with only Viewer permission. When promoted to Interactor, the extension works normally.
This is fine. Though I'm curious what minimum components of Interactor permission are needed -- I suspect it's Filter or Web Edit specifically.

Please feel free to close this right away, more a question than issue.

Tableau Server - loading hourglass displays until mouse is moved

Hey Keshia,

This might be unique to how we've structured our dashboard navigation.
Our workbook consists of 5 dashboards that are moved between with tab-like buttons that execute go-to-sheet dashboard actions. Every page is linked to every other page this way.
The DDP extension exists on each page.

When a user navigates to a new page by clicking a button and triggering the dashboard action:

  1. the page will load with Tableau Server spinner
  2. Tableau server spinner finishes
  3. the DDP extension reads 'loading' and populates, triggering the mouse cursor to display an hourglass
  4. the DDP extension finishes populating and the page is ready for interaction, but the cursor remains an hourglass until the mouse is moved in the slightest

This is confusing some users who are waiting, without touching the mouse, for the cursor to change from hourglass back to mouse pointer.
I noticed this does not happen when the cursor placed in non-workbook screen space -- eg: the gray background area to the left and right of the dashboard, or the Tableau Server breadcrumb header or toolbar.

Any thoughts?
This is occurring in Chrome 77.0.3865.120

Multiselect - selections are gone when we change the filter on other fields

Hi ,

First of thank you so much for making this happen. Its really awesome.
We just started using multiselect feature and we found a bug. When we select the values and go and after that when we change the filters on other fields, the selections on multiselect would go away. Is there anything you could do immediately on this issue?
And I am also eagerly waiting on other fixes like dropdown and having boxes etc.

Have a great day...!!
Again thank you so much for your work..!!

Thanks,
Bharath

2.0.0 vs 2.1.0 -- different initial loading behavior

Hi Keshia,

Happy Halloween!
So today I did some deep testing of v2.0.0 and v2.1.0.
We're using DDP to pull in a new most-recent data date, from an extract, on dashboard load.
To test it, I've followed this process:

  • publish identical dashboard versions using DDP 2.0 and 2.1 to our Tableau server with the most-recent date displayed prominently
  • update the most-recent date (in our database) that DDP is watching for
  • run an extract for the most-recent date datasource, to include the database change
  • refresh each dashboard, hoping DDP has caught the new most-recent date and has set the parameter accordingly on-load

I also made sub-versions with and without 'reset values on load' -- I'm not sure how this setting is intended to be used so I wanted to see if it changed anything.

It seems that 2.0 will pick up this sort of data change, but 2.1 will not - at least not on dashboard-load.
Can you reassure me that this behaving as intended?
Does only 2.0 check for / populate new values on-load? Looks like 2.1 supports other hooks for checking, like parameter change, so perhaps the focus has shifted there.
If so, just wanna mention that we find the immediate-check very useful and have built it to be the beating heart of our dashboards!

--Matt

When dashboard loads in tableau server parameter gets reset to first value

Tableau Server: 2019.2.1
Tableau Desktop: 2019.2.1

First off - love the extension! When publishing a dashboard to Tableau server the data driven parameter is reverting to the first value in the option list. I have published versions with both Automatically reset values on dashboard load checked and unchecked and neither changes this behavior.

Not able to configure , not working

@KeshiaRose I'm trying to test the extension however seems that I'm not able to save the changes (screenshot attached) . I've tested in Tableau desktop 2018.3 , 2019.1 and 2019.3 , same issue

Can you please check if something changed?

extension

Thanks
Sebastian

Multi select

Hi,

Would it be possible to add the ability to multiselect?
And that you can choose your own delimiter.

Thanks a lot for this extension, it is awesome!

Parameter values not updating automatically

Hi, this is a great extension for Tableau, thanks a lot :)

I have my parameter half way down the dashboard, and one issue I seem to have is the parameter values don't update automatically if the corresponding worksheet is filtered. They will only update and refresh once something is picked. Is there a solution to this at all? I was hoping for it to act in a similar way to a quick filter set to 'only relevant values'

Cheers

Cannot host on internal webserver

I've created a webserver on an instance which is within a private VPC, and uses a private DNS (eg: tableau.extensions.company.local). The server works and the extensions page loads in a browser (albeit getting the 'insecure' flag in chrome as a self signed certificate is used).

My issue: Tableau Desktop will not allow me to use the extension, since it is 'not secure'.

Is there a way for Tableau Desktop (and server) to circumvent the need to have a fully fledged signed certificate from a trusted authority? I will only be using the extensions webserver for the extensions, on a private machine within a private DNS.

Any help, or advice would be appreciated.

Not loading for morethan 50,000 records

I have a Data source which has more than 50,000 rows and the parameter not even ready to set configuration. It is showing "Loading..." only. I really need this parameter to work on but hopeless.

Please allow title

When I put this in a container with other filters with titles, I cannot align the titles. Should have the same setup as other parameter/filters.

[URGENT] Data Parameters not working

It works very well before, but it's not able to pass parameters since this morning.
Should I download a new version of extension or anything to fix?
(Mine shows version 0.7.0 now)

Thanks!

Parameter visible in desktop but hidden on the server

Hi,
This extension is great! it helped us to filter in a dynamic way using Level of details expression (Specifically using the parameter value in FIXED expression).
Thanks alot!
It worked good for a while but recently the following happened:

  • The parameter drop down is visible in Tableau desktop:

data-driven-parameter-valid-value-in-desktop

  • But, it's hidden when looking on the published dashboard. What
    you do see instead is a grey empty rectangle. See the following screenshot:

data-driven-parameter-blank-area

  • When open Tableau Server ==>Settings ==> Extensions I get the following error:
    "An unexpected error occurred while processing your request. Try again.
    undefined" - see screenshot attached
    data-driven-parameter-error

Can you give an advice to handle it?
thanks

How to set data driven parameter extension to load value 'All' by default when it loads?

Hi @KeshiaRose ,
Thank you for developing such a awesome extension. I am using this extension to auto update the parameter on changing the backend data. I have enabled the option to include value '(All)' in the parameter list. But when I try to reload the extension it by default selects the first value from the list but not the value '(All)'.
Can you please guide me on how should I make the extension to select the value'(All)' by default?
Also, can you please guide me on the use of the 'Automatically reset values on load' option?

Regards,
Prasad Kulkarni

Dashboard loads twice with extension

Hi,

Loving the extension - I'm using it to populate a list of dates that feed stored procedure params pulling in data for the vizzes the rest of the dashboard. Importantly it defaults to a 'Most Recent' date. When viewing the dashboard in Tableau Server, the page first loads the vizzes with the date that was Most Recent at time of upload (typically a few days out of date), then the extension populates, then the dashboard reloads with the new Most Recent date. This reload/repaint is about 40% of the load time, so I'd really like to try to reduce it.

Can you shed any light on what's happening here?
Perhaps it's standard Tableau caching behavior. If this is the case, then shortening my cache times might help, right?
Perhaps it's an order-of-operations thing? I want the extension to update ASAP and first, so other vizzes immediately have the date they need to get stored proc data. Any tips on how to prioritize the extension and its stored proc? I tried naming the sheet connected to the extension with a prefix of 'aaa' but it doesn't seem to do anything.

Thanks for the great extension!
-Matt

building on mac

When running this on my mac, i had to change the build command in package.json to the following (since rd and move are not valid commands on mac osx)

"build": "react-scripts build && rm -R docs && cp -R build docs",

is there a way to make this build script work across platforms?

Subscriptions not updating

Hi- I am using the data driven parameter to default my dashboard to the latest date in my data set. The data driven parameter is working as expected, but the daily subscription email does not show the most recent value in the workbook.

It looks like the data driven parameter is triggered in tableau online when the URL refreshes and, I am assuming, a subscription does not refresh the URL so the latest date is not pulled into the dashboard before generating the subscription email.

Does anybody know of a workaround for this? Any help would be GREATLY appreciated!
Ali

Version 2 not updating parameter automatically

The current release does not work on Tableau desktop. We have a sheet with a list of short strings and an open parameter that the extension should update - but the update only works when you reload the extension or if you allow for multi-selection and they use the apply button (if you choose one even it works with the apply button). The single select option does not work still. An old version works perfectly though, version 0.7.0.

Loading Data Driven parameters takes a long time for significant data sources

Your extension has filled an important role in a project that requires users to select from an updated list of accounts. It works amazingly well with small numbers of rows, but seems to take about 4 times as long every time the number of rows doubles. For example, 2500 rows takes 10 seconds; 5000 rows takes 45 seconds and 10000 rows takes 3 minutes (180 seconds). One of our clients has nearly 80000 rows which I estimate would take over 3 hours to load!

I haven't read your code; JavaScript and such are new to me and I'm afraid you are years ahead of me. Besides, if I managed to make changes myself I'd cut myself off from future enhancements that you might make.

Still, I suspect it is the sort which uses an O(n-squared) algorithm. In my case I'm using a custom Data Source using 'top(n)' and 'order by' such that the data is already sorted. Would it be possible to add a 'Don't Sort' option for sorting in your extension and do you think it might improve my load times?

Access Denied error on moving between Extension holding dashboard to others in IE

Hi @KeshiaRose

I noticed that there is an error coming when I move from the Dashboard which has Extension to the other dashboard. It is happening only with IE ( I am using IE 11). There is no error if I open Dashboards with out the extension directly. In Chrome I did not notice it.
Then I removed extension and tested same and no error at all.
And the other Issue is Text Color change is also not working in IE, Showing only Black.

Could you please check it once.

Access Denied caused by Extension v2

Question: Installing in a multi-node environment

Hi,

Sorry if this is a bit out of the scope of this specific extension, but couldn't find any info online.

My company runs 3 Tableau Server environments, each with 3 nodes. If I want to install and host this extension locally for one of these environments, do I need to install and host on each node, or just one?

I'm operating at the edge of my knowledge with regards to hosting/serving, so apologies if my terminology is a bit off.

Parameter Values not passed to other dashboards using the extension

We have the extension in use for the same date parameter in multiple dashboards for selecting a month. We have found that the parameter value is not being consistently passed to subsequent dashboards.

Only the 'landing page' dashboard has the 'Refresh on Dashboard Load' option selected, with all others having no options selected, but it seems like the starting value of the extension is not being read from the parameter, but instead is refreshing to the last selected value for the specific dashboard.

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.