GithubHelp home page GithubHelp logo

lsgs / redcap-tableau-wdc Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 5.0 43 KB

Tableau Web Data Connector for REDCap

License: GNU General Public License v3.0

PHP 100.00%
redcap redcap-external-module mcri murdoch-childrens redcap-repo

redcap-tableau-wdc's Introduction


Tableau Web Data Connector for REDCap

Luke Stevens, Murdoch Children's Research Institute https://www.mcri.edu.au


REDCap Version 11.2.0+

As of REDCap version 11.2.0 this module's functionality is included within REDCap. Go to the "Other Export Options" page in your project for instructions.


Summary

A REDCap External Module that provides a link to use to create a Tableau Web Data Connector. It enables a REDCap user with a project API key to have data from their REDCap project downloaded to their Tableau Desktop instance (v10.0+).

Options available for customising the extract are:

  • Raw data or labels
  • Include Data Access Group no/yes
  • Subset of fields: specify a comma- or space-separated list export field names
  • Subset of records: specify a REDCap filter logic expression

The module settings provide scope for institutions to specify their own text for the connector and instruction pages (default text is provided).

Enabling in Individual Projects is Optional

The module provides a Control Center link to an Instructions page. If the module is enabled for discovery by project users, then enabling within a project causes a link to the Instructions page to be shown within the project page menu.

The connector may be utilised by project API users irrespective of whether the module is explicitly enabled for that project. All that enabling the module in a project does is add a link to the instructions page in the project page menu.


Instructions

  1. Enable the module in your instance of REDCap (and optionally in a project).
  2. Follow the Control Center (or project page) link to the Instructions page.
  3. Copy the URL displayed prominently on the Instructions page.
  4. In Tableau 10.0+, go to Connect -> To a Server -> More and find "Web Data Connector"
  5. Paste the URL as the "web data connector URL" and press Enter.
  6. Enter your project API token into the text box and select/enter other options, as desired.
  7. Click Submit.

The web data connector will be executed and create a Tableau Data Source in your Tableau workbook .

  1. Click "Update Now" to extract your project data into the Data Source.

redcap-tableau-wdc's People

Contributors

aarenson avatar lsgs avatar maloykr avatar mmcev106 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

redcap-tableau-wdc's Issues

Native Tableau WDC

I’ve just gotten off the phone with Tableau tech support. They don’t generally have support for “non-native connectors”. This makes it so they have limited levels of support and support can take a lot of time. Your WDC has been super helpful, but it would be amazing if Tableau could incorporate it into their native connectors. Tech support says they didn't know there was a need/desire for a WDC because no one added it to the idea board/upvoted it. I just added it. If you could upvote it, that would be super helpful.

Here’s the link: https://community.tableau.com/ideas/9073

I thought posting this in the "issues" section might make it so other can see/vote as well. Thanks!

Omit null values from int, float and maybe other types of Tableau columns

According to this Tableau forum post: (https://community.tableau.com/message/606568#606568)

The way to get null values into int, float, and maybe other types is to omit the field. Otherwise, the null will be converted to the default value of that type.

I think the omission of fields would need to occur in the 'success' anonymous callback function in the ajax call that gets the record data. Right now it looks like:

resp.forEach(function(record) {
tableData.push(record);
});
...

I'd guess something needs to occur before that push to pull the null values out of the record.

Warning about non-compound name in use statement

Warning: The use statement with non-compound name 'HtmlPage' has no effect in /var/www/vhosts/redcap.uits.iu.edu/modules/tableau_connector_v2.2.1/wdc.php on line 7

The above warning shows up at the top of the pop up window where one would enter API token, raw data or labels?, etc.

It is occurring when I test out WDC 2.2.1 from our staging server, but is not occurring in WDC 2.2.0 on our production server. Both servers are using REDCap 8.10.10 and PHP 7.1.24.

Tableau public error Web data connector

Hi luke !
Thank you for the WDC !
I'm testing the connector between REDCap 8.10.2 and Tableau Public 2019.3.0.
Tableau returns the following error :
An error occurred while communicating with the data source. The web data connector returned invalid data. Either invalid data are present or required fields are empty for class TableInfo. Required fields and respective data types are: { (Name : 'id', Type : QString, IsRequired : true), (Name : 'columns', Type : QVariantList, IsRequired : true), (Name : 'alias', Type : QString, IsRequired : false), (Name : 'description', Type : QString, IsRequired : false), (Name : 'incrementColumnId', Type : QString, IsRequired : false), (Name : 'joinOnly', Type : bool, IsRequired : false) }

Thank you.

Refresh extract

Hey Luke,
I'm on a mac using latest tableau. I made a connection - all works fine. I pull data. Now, i reopen the file and try to refresh the data. I've tried just about everything and all that is happening is that it is executing a project_xml api query... Any ideas how to refresh a WDC extract? Am I missing something? I had to revert to an export to file for this project where I have to produce frequent updated reports...

-A

js error when submitting

Luke,
I get the following in my desktop tableu logs when submitting the token and other config:
edu/api/?type=module&prefix=redcap-tableau-wdc&page=wdc&NOAUTH:450 -- TypeError: tableau.submit is not a function"}

I'm using FF on redcap 9.5.x, Tableau Desktop 2020.2.0,

Add options to cache connection parameters

For refreshing the API link, it would be nice to be able to 'save' the API token and parameters.

  • For example, if you want to include DAG, it should remember for that connection that the DAG is set to yes.
  • for the API token, it would be nice to offer a save option. I left Tableau open for a day and when I tried to refresh the data source nothing happened (no errors, etc) and I was confused until I figured out that to refresh I had to go and re-enter the API token.
  • Might be nice to be able to custom-name the linked table as it appears in Tableau as well so you could join multiple queries all together and have them logically named

Submit Button Not Working (on latest.js version)

We just installed the EM, which looks like it has the latest.js update, but the submit button is still not working. I attempted to use the Chromium debugger, but there was no response in the sources for any calls being made. Was able to get it working in the Tableau WDC simulator, but not in Tableau itself. I saw in the code that there was a workaround added due to this, but I'm still stuck on the Submit button not doing anything. Is anyone using the WDC with the latest Tableau versions, or does anyone have something they have done to get it working?

REDCap version 11.1.17
Tableau Desktop version 2021.4

Merged with REDCap?

@lsgs, Luke does REDCap's built-in tableau functionality completely replace this module, or is there a reason why someone might still want to use this module on new projects?

Change mapping of REDCap boolean types to Tableau's int type

Once the WDC is updated to handle null values by omitting them from the record passed to Tableau, consider mapping REDCap boolean types to Tableau's int type.

In REDCap, boolean is used for checkbox, yesno, and truefalse fields, but Tableau's int type is likely better than its boolean type for checkbox and yesno fields, and maybe for truefalse fields, too.

Boolean is, perhaps, workable for checkbox fields, which really can't be anything but a 1 or 0, but our customers prefer 1 and 0 anyway. The checkbox and yesno fields, though, can be null and I'm not sure that Tableau's boolean type can handle a null value.

Project not installed

For organizations that self-host, the external modules are not already installed into our REDCap server, therefore we can't follow instructions starting at #1"enable the module" because it does not appear for us.

Please include instructions on how to install the module onto our server?
Thanks.

Link display permissions

We're considering requiring design rights for all project links by default. If we made that change, would you want to override it for this module so any user could see the instructions link?

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.