当 SSMS 中的相同查询按预期运行时,Tableau 中的自定义 SQL 查询产生不正确的输出

Custom SQL Query in Tableau produces incorrect output when same query in SSMS runs as expected

我构建的 SQL 查询在 Microsoft SQL Server Management Studio 中执行时按预期工作,但是当我在 Tableau 中使用相同的查询时(自定义 SQL 查询),某些列(执行聚合的列)显示不正确的输出(总是 0)。

问题出在此处显示的代码行中。我想 @@ROWCOUNT 可能是个问题。

SUM(CASE WHEN a.LocationName = 'Home' THEN @@ROWCOUNT ELSE 0 END) AS CountHomeServices,
SUM(CASE WHEN a.LocationName = 'Office' THEN @@ROWCOUNT ELSE 0 END) AS CountOfficeServices

有没有办法让它在 Tableau 中工作?

假设您只是计算每个 LocationName 的行数,请将 @@ROWCOUNT 替换为 1

更直观的方法是

COUNT(CASE WHEN a.LocationName = 'Home' THEN a.LocationName END) AS CountHomeServices,
COUNT(CASE WHEN a.LocationName = 'Office' THEN a.LocationName END) AS CountOfficeServices