1 of 1 people found this helpful
What are your data volumes? If there are less than 40-50k records used in the view (i.e. after other filtering for the view by date, etc. is completed), you can do this kind of cohort identification in Tableau via a set of table calcs. More record than that, I recommend that the identification is done in the data source, either via Custom SQL or the underlying query. The reason is that the complexity of the calculations combined with how Tableau 7.0 works causes performance to nosedive by the square of the number of records as the record set gets larger. I have my fingers cross that this gets fixed in v8.
I should have about 30K records after the filtering, do you know what type of table calcs I would need to set up for the cohort identification?
I was wanting to do a blog post on this, so I put in some extra time on the attached workbook, which details 4 methods in the captions on each worksheet:
- Cohort identification without having sub-category in the view. This isn't quite what you asked for, but serves as a good introduction
- Cohort ID with sub-category in the view. Since this is a table calc, it introduces more complexities that aren't totally solvable. In particular, it's necessary to alter other table calculations to respect the table calculation filter, and grand totals break.
- Using Custom SQL - fast, but doesn't allow for dynamic selection of the cohort.
- Using RAWSQL - slow, but accurate.
Let me know if you have any questions,
Thank you for the detail, assistance and speed Jon!
This helps move me forward. It is always nice to have access to a community that knows more than I do!