вы должны назвать это N, я вижу RowsReturned.
Кроме того, если вы определили, что параметр позже в процессе есть случаи, особенно в 03 и 05 (визуальные 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>
Обратите внимание на раздел параметров запроса, убедитесь, что ваш имеет как товар и RowsReturned. И измените либо имя параметра на «N», либо измените свой SQL или сохраненную процедуру на значение «RowsReturned». Они всегда должны совпадать. Ваш код должен выглядеть следующим образом:
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
BTW вы неправильно используя предложение GROUP BY
, вы просто список всех ваших столбцов в группе, чтобы получить ожидаемые результаты. Это может укусить вас по дороге. Правильным способом будет запрос с псевдонимом, а затем группа внутри псевдонима ...
SELECT
n.Blah,
a.Blah
FROM
MyTable
INNER JOIN
(
SELECT...GROUP BY...
) n