尝试查询 ssrs 中的 excel 数据源时出现奇怪错误

Strange error trying to query against an excel datasource in ssrs

我正在使用 excel 电子表格作为数据源的 SSRS 编写报告。电子表格中有一列我想做的是名为 F2 的计数。我想用这个 SQL 来执行计数:

Select Sum(Case When F2 = 'I' then 1 end) as IncidentCount, 
       Sum(Case When F2 = 'R' then 1 end) as RequestCount, 
       Sum(Case When F2 = 'P' then 1 end) as ProblemCount
From [Ticket Detail$]

当我点击“确定”退出查询设计器时,出现了这个错误:

ERROR [42000] [Microsoft][ODBC Excel Driver] Syntax error (missing operator) in query expression 'Sum(Case When F2 = 'I' then 1 end)'.

我不能 运行 这种类型的 SQL 针对 excel 数据源吗?我怎样才能得到我想要的计数?

您应该能够通过表达式在 SSRS 本身中相当轻松地处理这个问题。如果你 select * 来自数据集,你会在你的 tablix 中使用这样的表达式:

=sum(iif(Dataset1!Type.Value="I", 1, 0))

对于文本框,它看起来像:

=sum(iif(Fields!Type.Value="I", 1, 0), "Dataset1")