Tableau count values after a GROUP BY in SQL

倾然丶 夕夏残阳落幕 提交于 2019-12-13 04:09:13

问题


I'm using Tableau to show some schools data. My data structure gives a table that has all de school classes in the country. The thing is I need to count, for example, how many schools has Primary and Preschool (both).

A simplified version of my table should look like this:

In that table, if I want to know the number needed in the example, the result should be 1, because in only one school exists both Primary and Preschool.

I want to have a multiple filter in Tableau that gives me that information.

I was thinking in the SQL query that should be made and it needs a GROUP BY statement. An example of the consult is here in a fiddle: Database example query

In the SQL query I group by id all the schools that meet either one of the conditions inside de IN(...) and then count how many of them meet both (c=2).

Is there a way to do something like this in Tableau? Either using groups or sets, using advanced filters or programming a RAW SQL calculated fiel?

Thanks! Dubafek

PS: I add a link to my question in Tableu's forum because you can download my testing workbook there: Tableu's forum question


回答1:


I've solved the issue using LODs (specifically INCLUDE and EXCLUDE statements).

I created two calculated fields having the aggregation I needed:

Then I made a calculated field that leaves only the School IDs that matches the number of types they have (according with the filtering) with the number of types selected in the multiple filter (both of the fields shown above):

Finally, I used COUNTD([Condition]) to display the amounts of schools matching with at least the School types selected.

Hope this helps someone with similar issue.

PS: If someone wants the Workbook with the solution I've uploaded it in an answer in the Tableau Forum



来源:https://stackoverflow.com/questions/55654958/tableau-count-values-after-a-group-by-in-sql

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!