尝试查询 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")
我正在使用 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")