This is meant to be a general incremental extraction scheme. It is derived from an example of our own work with Salesforce data.

We use Alteryx to extract data from Salesforce and then share the data source in yxdb/tde format. The initial extraction was simple and brute: extract data fully everyday. Now the data volume is huge and the extraction is taking hours. It consumes bandwidth and especially the extraction may be timed out because Salesforce server may issue an error of something like "the query is taking too long time".

An incremental extraction becomes imperative. But it is not something straightforward to implement. With the help of Carlos Avila from Alteryx, I am able to put together a solution.

It consists of the following steps:
1.Extract the last timestamp (createdDate) from existing data file.
2.Send the timestamp to a macro and the macro will extract data after the timestamp.
3.Union the new data with the existing data.

The module ends up like this:
The existing data is in a .xydb file. The result is written to the same file after union. The Summarize tool extracts the last createdDate and feeds it to a filter to format the date. Then the formatted date is then fed to a macro. Note that it is a good practice to have a 'Block until Done' tool prior to write the results to the source file, because we are reading data from it.
Note that we need to select the control parameter that goes into the macro.
Then right click the macro and select open it for configurations.

The macro is as follows where we need to configure two tools.

1.Salesforce connector
Besides the credentials, we need to add a SOQL query:
  • CreatedDate > LastCreatedDate
2.Update value
We only need to highlight the text string where a replacement will take place.

That's it folks.

This reduces the extraction from hours to minutes!
0

Add a comment

(Refresh the page if you want to view the gif image multiple times. Or go to Tableau Public and click the button at the top-right corner.)

Jake and I collaborated on a dashboard. He told me that he learnt a way to create an in-place help page in Tableau. He first saw it at a conference somewhere and couldn't recall who the speaker was. So I am blogging here about it but the credit goes to somebody else. If anyone knows who the original creator is, leave a comment below.

The key idea is to float a semi transparent worksheet on top of the dashboard, where a help text box is strategically placed on top of each chart. This way, we can explain how to view each chart and what data points are important, etc. This worksheet is collapsible by a show/hide button. 

Below I would like to show how this worksheet can be constructed.

1. Sheet with a single data mark.

  • Double click the empty space in Marks panel and add two single quotes. Make the null pill a text label. This creates a single null mark.
  • Set the view as "Entire View"

2. Create an show/hide button

  • Go to the target dashboard
  • Drag a floating vertical container to the dashboard, making it cover all the area of interest.
  • Drag the Single Null Mark sheet and drop it into the above container. Hide the sheet title.
  • Create an open/close button for the container and place the button at the top-right corner.

3. Add annotations

  • Format the sheet background opacity as 70% in the layout manager             
  • Select area annotations and place them anywhere of interest. 
  • Write help text and format it to highlight important messages.  
  • The text can serve as functional guide and/or insight guide.

Here is an example. Feel free to download the workbook and explore. Click the "i" button at the top-right corner to view the in-place help. 

0

Add a comment

Blog Archive
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.