我正在使用tableau中的自定义sql选项创建许多新的数据源。我想创建另一个包含 Select
引用另一个自定义sql的语句。例子:
数据库中提供的表: school
,字段包括: area
, area_code
, school_id
,
school_name student
,字段包括: school_id
, student_id
,
student_name mark
,字段包括: school_id
, student_id
, mark_value
自定义sql#1,命名为 testresult
:
SELECT student.student_name, mark.mark_value,
CASE WHEN mark.mark_value > 70 THEN 'passed'
WHEN mark.mark_value BETWEEN 50 AND 60 THEN 'retake'
ELSE 'failed'
END AS student_result
FROM student
LEFT JOIN mark ON student.student_id = mark.student_id
自定义sql#2,命名为 arearesult
:
SELECT school.area, school.area_code, student.student_name, testresult.student_result
FROM school
LEFT JOIN student ON school.school_id = student.school_id
INNER JOIN testresult ON school.student_name = testresult.student_name
在我尝试创建自定义sql#2之前,一切都很好 arearesult
. 似乎tableau不将自定义sql识别为表。有什么我能做的吗?
请注意,由于我的真实数据的条件,只能通过连接3个表来完成,正如我上面解释的,而不是使用1个sql脚本。我知道根据我在示例中提供的数据,使用1sql脚本是可能的,而且更容易。但事实上我就是做不到。
1条答案
按热度按时间to94eoyn1#
我认为您可以使用子查询而不是cte来完成所有这些。