SQL中GROUP BY之后的Tableau计数值

时间:2019-04-12 15:26:28

标签: sql tableau

我正在使用Tableau来显示一些学校数据。 我的数据结构提供了一个表格,其中包含该国所有的学校课程。问题是,我需要计算一下,例如,有几所学校的小学和学前班都有。

我的表格的简化版本应如下所示: Table example

在该表中,如果我想知道示例中所需的数字,则结果应为1,因为小学和学前班都只有一所学校。

我想在Tableau中使用多个过滤器,以便向我提供该信息。

我在考虑应该执行的SQL查询,它需要GROUP BY语句。此处有一个咨询示例:Database example query

在SQL查询中,我对所有符合de IN(...)中任一条件的学校进行ID分组,然后计算有多少学校同时满足这两个条件(c = 2)。

在Tableau中是否可以执行类似的操作?使用组或集合,使用高级过滤器还是对RAW SQL计算出的字段进行编程?

谢谢! 杜巴菲克

PS:我在Tableu的论坛中添加了我的问题的链接,因为您可以在此处下载我的测试工作簿:Tableu's forum question

1 个答案:

答案 0 :(得分:0)

我已经使用LOD(特别是INCLUDE和EXCLUDE语句)解决了这个问题。

我创建了两个具有所需聚合的计算字段:

Number of school types selected in the multiple filter

Number of school types per school ID after the filtering

然后,我创建了一个计算字段,该字段仅保留与他们具有的类型数量(根据过滤条件)与在多个过滤器中选择的类型数量(上面显示的两个字段)相匹配的School ID:

School IDs that match between both calculated fields

最后,我使用COUNTD([Condition])来显示至少与所选学校类型匹配的学校数量。

希望这可以帮助遇到类似问题的人。

PS:如果有人想要带有解决方案的工作簿,我已将其上传到Tableau Forum

的答案中