Tableau Blog Posts Series – Tips,Tricks,Best Practices – Blog Eight
- If you are working with large dataset and the performance is an issue, try stopping Auto Update Worksheet (you can keep the auto update quick filter if it will not affect the performance).
- You can also add filters first to limit the number of records shown in the visualization; remove the filters after completing the visualization.
- Turn off the Auto Update Dashboard will also stop the auto update worksheet for the worksheets on the dashboard
- A trick I find useful is to mimic you visualization with a small sample dataset (the superstore data source is simple but very useful). After you are done with your design, you can create the visualization in the same format with your real datasets.
- If one data connections is large and takes a long time to query, using a join to link this table with another table can increase query time dramatically. A better approach is to use data blending to blend only the summary of the larger table with the smaller table.
For example, you can set up data blending on the order year rather than the order date, or on the product category instead of the product name to reduce the size of data returned from the second data source. If possible, be sure to set the smaller and faster table as the primary data source and use data blending to pull a summary from the larger table.
- Performance tips: use extract, use filter/set/aggregate to reduce data, use WINDOW_SUM instead of Total
- Use context filter to improve performance http://kb.tableausoftware.com/articles/knowledgebase/using-context-filters-improve-performance
- Using a single context filter that significantly reduces the size of the data set is much better than applying many context filters.
- Complete all of your data modeling before creating a context. Changes in the data model such as converting dimensions to measures require recomputing the context.
- Set the necessary filters for the context and create the context before adding fields to other shelves. Doing this work first makes the queries that are run when you drop fields on other shelves much faster.
- If you want to set a context filter on a date you can use a continuous date. However, using date bins like YEAR(date) or context filters on discrete dates are very effective.
- If your data set is heavily indexed, context filters may not provide performance improvement and may actually cause slower query performance.
- Context filters can adversely affect any query performance improvements when using the Include joined tables only when referenced option in the Tables dialog box. See Adding Tables to the Data window
- When you have table calcs and dates that are of the DATE or DATETIME data type, and are addressing along the dates, Tableau starts padding the domain (i.e. generating a row for every combination of dimensions and all of the dates, not just the dates that go with the dimension) and this can have a significant impact on performance. A workaround for this is to create a string field for the date, use that in the view in place of the date, and set the compute using to that.
- Performance recording http://onlinehelp.tableausoftware.com/current/pro/online/en-us/help.htm#perf_record_create_desktop.html
- Performance Tips
- Simplify your calculations : Performance -Boolean > Number > Date > String. Eg, use SUM(Sales) >0 instead of If SUM(Sales) >0 Then “True” Else “False” End
- Avoid using too many parameters, too many views in a dashboard, too many worksheets in a workbook, too many filters
- IF (FIRST()==0) THEN
WINDOW_SUM(SUM([Measure]), 0, IIF(FIRST()==0, LAST(), 0)) END only calculate the window_sum once, save resources http://community.tableausoftware.com/message/197038 http://www.clearlyandsimply.com/clearly_and_simply/2011/01/another-look-at-site-catchment-analysis-with-tableau-6-part-3.html