Sql SSRS给了我一个错误,但在数据视图中工作
在SSRS 2005中处理查询。查询在“数据”视图中工作,但在“预览”视图中会弹出。这就是我所拥有的:Sql SSRS给了我一个错误,但在数据视图中工作,sql,reporting-services,Sql,Reporting Services,在SSRS 2005中处理查询。查询在“数据”视图中工作,但在“预览”视图中会弹出。这就是我所拥有的: SELECT TOP(cast(@N as integer)) Date, StartItem, MasterItem, SubItem, SubItemDescription, Quantity, NetQuantity, UnitOfMeasure,
SELECT
TOP(cast(@N as integer))
Date,
StartItem,
MasterItem,
SubItem,
SubItemDescription,
Quantity,
NetQuantity,
UnitOfMeasure,
BomLevel,
Cost,
Cost * NetQuantity * (CASE WHEN a.Purch = 1 THEN 1 ELSE 0 END) AS TotalSumCost
FROM
Bom AS a
GROUP BY
Date, StartItem, MasterItem, SubItem, SubItemDescription, Quantity, NetQuantity, UnitOfMeasure, BomLevel, Cost,
Cost * NetQuantity * (CASE WHEN a.Purch = 1 THEN 1 ELSE 0 END)
ORDER BY TotalSumCost DESC
我得到的错误是“查询参数'@N'的值表达式引用了一个不存在的报表参数'N'。我的报表参数中有N个设置。请参见下图
你得把它命名为N,我看到Rowsreturn 此外,如果您稍后在流程中定义了该参数,则在03和05(Visual Studio)中,该参数会被忽略。 右键单击您的报告,并在“XML查找参数”部分中选择“查看代码”,并确保它存在。它将如下所示:
<Query>
<DataSourceName>dsTKExpenseReports</DataSourceName>
<CommandType>StoredProcedure</CommandType>
<CommandText>rptExpenseReportReasons</CommandText>
<QueryParameters>
<QueryParameter Name="@ExpenseReasonID">
<Value>=Parameters!ExpenseReasonID.Value</Value>
</QueryParameter>
<QueryParameter Name="@Reimbursable">
<Value>=Parameters!Reimbursable.Value</Value>
</QueryParameter>
<QueryParameter Name="@RequiresDesc">
<Value>=Parameters!RequiresDesc.Value</Value>
</QueryParameter>
</QueryParameters>
</Query>
SELECT
TOP(cast(@RowsReturned as integer))
Date,
StartItem,
MasterItem,
SubItem,
SubItemDescription,
Quantity,
NetQuantity,
UnitOfMeasure,
BomLevel,
Cost,
Cost * NetQuantity * (CASE WHEN a.Purch = 1 THEN 1 ELSE 0 END) AS TotalSumCost
FROM
Bom AS a
GROUP BY
Date, StartItem, MasterItem, SubItem, SubItemDescription, Quantity, NetQuantity, UnitOfMeasure, BomLevel, Cost,
Cost * NetQuantity * (CASE WHEN a.Purch = 1 THEN 1 ELSE 0 END)
ORDER BY TotalSumCost DESC
顺便说一句,您不正确地使用了GROUP BY
子句,您只是列出GROUP BY中的所有列以获得预期结果。这可能会影响您。正确的方法是使用别名查询,然后在别名中列出组…:
SELECT
n.Blah,
a.Blah
FROM
MyTable
INNER JOIN
(
SELECT...GROUP BY...
) n