DataDev Bingo
Challenge the #DataDev in you!
One of the biggest benefits of joining Tableau’s Developer Program is a free personal developer site. With this site, developers can learn about and test the latest Tableau APIs on the most current version of Tableau. It gives you a safe and secure space away from your production environment to hack on!
Enter the #DataDev Site Challenge; a way to educate and encourage you, our developer community, to do more with your site, discover new ways to use it, and have a little fun along the way.
Keep Calm and Play DataDev BINGO!
Step 1: Download your Bingo card.
Step 2: Start with a “B” column challenge. We have 24 mini challenges for you to solve with different levels of difficulty while using various APIs and/or developer tools. All of this is for you to expand your Tableau Developer Platform knowledge in a fun, engaging way.
Remember to use BINGO challenge list below to access the details and directions for each challenge.
Step 3: You have to complete four challenges in a row (we provide the middle space as a freebie!), so you can call out, “Bingo!” by sending us an email or sharing on social media (Twitter, LinkedIn, Instagram) by tagging #DataDev in a public post.
The Challenges
B
When starting to use a new API, tutorials are a great way to learn. For this level, you are going to follow along with this tutorial on the JavaScript API. This tutorial is a sample web application, created with Tableau's JavaScript API. It's designed to help you explore and learn about the API using a series of steps that guide you through the basics. Bonus: The tutorial is using a viz from Tableau Public, try to replace it with a viz published on your Developer Sandbox site.
|
In 2021.4, we released the new Embedding API v3. We've redesigned he experience for embedding to make your life easier, to modernise the experience, and to enable new functionality. Try the latest version in Developer Preview here. You can host your code on Glitch for example, or just save it locally on your laptop. Hint: We published on Glitch a playlist with sample codes.
|
Complete one of these DataDev mini-projects:
|
Tutorials are a great way to get started with a new API and to learn the basics.
|
Before doing any request using the REST API or Tableau Server Client (TSC), you will need to sign in to your site. - REST API: Make a Sign In Request with a Personal Access Token - TSC: Sample code
|
I
One of the benefits of using the JavaScript API to embed your viz in your application is the two-way communication between the viz and your application. Your application can respond to events in the viz, but also the other way around, the viz can respond to events in the application.
The following steps are a suggested outline (you might have other ideas that are valid and accomplish the same goals) of the steps you could take to solve this:
|
The JavaScript API lets you get the underlying data for an embedded viz. It is really handy when you want to bring data into other applications or libraries such D3.js to build custom charts. For this challenge, embed a viz from your Developer Sandbox and when a user selects marks, your web page displays the underlying data.
|
Create an extension that allows you to search all fields in a worksheet.
Hint: - The method get
|
Complete the last three steps from our Dashboard Extensions Tutorial.
|
Oftentimes you need to programmatically do things with Tableau or the data & content within Tableau. The level 2 challenge for A&I asks you to figure out all the owners of workbooks on your Tableau site and then use this list as a datasource so that we can build a viz to better understand the owners of workbooks.
|
N
Telling a story with words is great but imagine saying it with words and data visualization, that would be awesome! In this challenge, you are going to have an HTML page with plain text telling you a story about Superstore and an embedded viz published on your Developer Sandbox. Use the words and numbers in your text to trigger filtering of the viz. For example, when the user clicks on “Tables” in the following sentence “Tables are not profitable”, the viz should filter to show everything in the Tables category.
|
Build an interface that would display all the visualizations recommended (to the signed-in user) by Tableau. The recommendations will be shown first as thumbnail images. When the users click on a thumbnail, the fully interactive embedded viz (and the power of Tableau’s interactive experience) is displayed and made available for use.
|
Build an extension that writes back to a data source or file. You can pick any data source/file types. For example, the extension would allow the end-user to update a salesperson's quota.
|
Dashboard creators when working on a dashboard create a lot of calculated fields. Sometimes, they forget to rename them and Profit is going to stay forever Calculation1 (name that Tableau gives by default when creating a calculated field). Or while they are testing their calculations, they have 10 ‘test’ fields: test1, test2, etc. Having these badly named fields doesn’t help end users to understand what is the output of the calculations and take space on your site/server.
|
G
We released Webhooks in the Tableau 2019.4 release. Webhooks are a common method whereby a computer system can notify another that an event has occurred using standard web technologies such as HTTP and JSON.
|
Adding users on Tableau via the UI is really easy but it can be time-consuming if you’re adding multiple users per day. Using the Tableau REST API or Tableau Server Client, you can automate this process. This Excel file contains three users and the group they need to be added to. Add these users in the right group using the REST API or Tableau Server Client as unlicensed users on your Developer Sandbox.
|
I am here and I need to go there: how many miles/kilometres are between the two points? For this challenge, you need to build an extension that calculates the distance between two selected points on a map in a dashboard. For example, if the end-user selects Mauritius-Seattle, the extension is going to display: 16,973 km.
|
When an extract is failing, you want your entire community to know. Using Tableau Webhooks, create a workflow, every time an extract is failing on Tableau Online, send a Tweet with #DataDev out.
|
Now that you set up a Webhooks and tested it, the next step is to build processes and procedures around events happening in your Tableau deployment. In this challenge, you are going to use Webhooks to send a notification when a workbook is created. You can follow this DataDev mini-project and complete one of the challenge exercises. |
O
Complete this project on Trailhead to earn a new badge and learn how to embed Tableau inside Salesforce
|
Users are using tools such as Slack to collaborate with their teams. They don’t want to switch between their collaboration tool, and Tableau to see their visualizations. Create a script using Slack APIs and Tableau Server Client (TSC) to post a static image of a dashboard that you’ve published to your Sandbox Site on a Slack Channel.
|
Imagine a minute working in HR, and visualizing the HR data in Tableau. You have data for all your employees, but you have no idea what they look like. We have hosted all your employees' pictures and included their picture URL in this data source. Hint: - The method get
|
While embedding Tableau in an application, it happens (yes, true story) that Tableau users need a PDF version of a dashboard. Instead of display the Tableau toolbar, create a button in HTML and when the user clicks, they can export the embedded dashboard to PDF. Hint: - showExportPDFDialog(): Equivalent to clicking on Download > PDF from the toolbar, which shows a dialog allowing the user to select options for downloading a PDF file.
|
In this challenge, you are going to apply some advanced analytics techniques such as clustering algorithms to group the regions with similar average temperatures over time together. Complete this mini-project. |
Useful Links
- Join the Developer Program: https://www.tableau.com/developer
- Request your free Tableau Online Developer Site: https://www.tableau.com/developer/get-site
- Developer Tools: https://www.tableau.com/developer/tools
- The #DataDev Slack Workspace: tabsoft.co/JoinTableauDev (http://tabsoft.co/JoinTableauDev)
- Check out our YouTube Channel: https://www.youtube.com/user/tableausoftware/search?query=datadev (https://www.youtube.com/user/tableausoftware/search?view_as=subscriber&…)
- API 360: Popular Use Cases with Our Top APIs https://www.youtube.com/watch?v=UC6HzqD5whQ
- JavaScript API Documentation: https://help.tableau.com/current/api/js_api/en-us/JavaScriptAPI/js_api…
- Tableau REST API Documentation: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htm
- Tableau Webhooks Documentation: https://github.com/tableau/webhooks-docs
- Tableau Extensions API: https://tableau.github.io/extensions-api/
- Tableau Metadata API: https://help.tableau.com/current/api/metadata_api/en-us/index.html
- Tableau Hyper API: https://tableau.github.io/hyper-db/
- Postman, a popular desktop application for making REST calls: https://www.postman.com/
- Glitch, a collaborative programming environment that lives in your browser and deploys code as you type: https://glitch.com/
- Glitch Tableau team, live sample code: https://glitch.com/@tableau