在SSRS中使用参数不正确的结果

时间:2019-05-28 18:26:22

标签: sql reporting-services parameters ssrs-2008

我有一个SSRS报告,为此我创建了两个数据集。一种用于实际报告,另一种用于参数。

数据集1是报告 数据集2只是从存储表中提取我要报告的参数。

当我运行报表并选择参数时,它将显示所有值,但是当我选择一个值时,我仍然会获得每条记录,而不仅仅是获得基于参数的记录。

数据集1

const test = () => 1

数据集2

SELECT stk.ItemCode AS ItemCode, stk.warehouse AS warehouse, 
     stk.Description AS Description, stk.Assortment AS Assortment, 
    Items.Class_02, stk.ItemGroup AS ItemGroup, stk.ItemStatus AS ItemStatus, 
    stk.ItemUnit AS ItemUnit, ISNULL((SELECT TOP 1 dbo.bacoSalesPrice(p.ID, 
    0) FROM staffl p WHERE ({d '2019-05-27'} BETWEEN validfrom AND 
    ISNULL(validto,{d '9999-12-31'})) 
    AND prijslijst  = 'SALESPRICE' AND Items.ItemCode = artcode ORDER BY 
   artcode, validfrom desc),0) AS SalesPackagePrice, 
   ROUND((stk.Stock/stk.SalesPkg),2) AS Stock, ROUND((stk.Stock + 
   stk.QtyToBeReceived - stk.QtyToBeDelivered)/stk.SalesPkg,2) AS 
   AvailableStock, stk.SearchCode AS SearchCode FROM Items INNER JOIN (
   SELECT 
   v.magcode AS warehouse, 
   MAX(i.itemcode) AS ItemCode, 
   MAX(i.description_0) AS Description,  
   i.SearchCode AS SearchCode, 
   MAX(ia.Assortment) AS Assortment, 
   MAX(ia.Description_0) AS ItemGroup, 
   MAX(CASE
   WHEN i.condition = 'A' THEN 'Active'
   WHEN i.condition = 'B' THEN 'Blocked'
   WHEN i.condition = 'D' THEN 'Discontinued'
   WHEN i.condition = 'E' THEN 'Inactive'
   WHEN i.condition = 'F' THEN 'Future'
   END) AS ItemStatus, 
   ISNULL(MAX(a.purchasepackage), '-') AS ItemUnit,
   MAX(i.SalesPackagePrice) AS SalesPackagePrice, 
   MAX(v.bestniv) AS Minimum, 
   MAX(v.maxvrd) AS Maximum, 
   MAX(i.lev_crdnr) AS Supplier, 
   MAX(a.DeliveryTimeInDays) AS DeliveryTime, 
   MAX(ISNULL(a.SlsPkgsPerPurPkg,1)) AS SalesPkg, 
   ISNULL(Actual.Quantity,0) AS Stock 
  ,ISNULL(SUM(QtyToReceived),0) AS QtyToBeReceived 
  ,ISNULL(SUM(QtyToBeDelivered),0) AS QtyToBeDelivered 
  FROM items i 
  JOIN voorrd v ON i.itemcode=v.artcode 
  LEFT JOIN itemaccounts a ON i.itemcode=a.itemcode and i.lev_crdnr=a.crdnr 
  AND i.itemcode IS NOT NULL AND a.itemcode IS NOT NULL  AND i.lev_crdnr IS N 
 NOT NULL AND a.crdnr IS NOT NULL 
JOIN ItemAssortment ia ON ia.Assortment = i.Assortment 
 LEFT OUTER JOIN 
dbo.TempToBeReceivedDelivered#3E5BBBE6#FB7B#4309#9CE1#560885B9BF94# budget
 ON v.magcode = budget.warehouse AND i.ItemCode = budget.artcode 
 AND v.magcode IS NOT NULL AND budget.warehouse IS NOT NULL  AND i.ItemCode IS NOT NULL AND budget.artcode IS NOT NULL 
LEFT OUTER JOIN 
 (SELECT GX.artcode, GX.warehouse, 
 GX.Quantity, 
 GX.AmtActualStock, GX.TotalCnt, 
 CASE WHEN GX.FreeQuantity > GX.CurrentQuantity THEN (CASE WHEN GX.CurrentQuantity < 0 THEN 0 ELSE GX.CurrentQuantity END) ELSE 
 (CASE WHEN GX.FreeQuantity < 0 THEN 0 ELSE GX.FreeQuantity END) END As FreeQuantity 
 FROM ( 
SELECT sb.ItemCode AS artcode, SUM(CASE WHEN sb.Date <= {d '2019-05-27'} THEN sb.Quantity END) as Quantity, 
 ROUND(SUM(CASE WHEN sb.Date <= {d '2019-05-27'} THEN sb.StockAmount END),2) as AmtActualStock, 
 SUM(CASE WHEN sb.Date <= {d '2019-05-27'} THEN sb.Quantity END) as CurrentQuantity, 
 SUM(CASE WHEN sb.Date <= {d '2019-05-27'} THEN sb.FreeStock END) AS FreeQuantity, sb.Warehouse, 
 SUM(sb.GbkmutCount) AS TotalCnt 
 FROM StockBalances sb WITH (NOLOCK) JOIN Items ON sb.ItemCode = Items.ItemCode JOIN ItemAssortment ON Items.Assortment = ItemAssortment.Assortment 
 --WHERE  Items.Class_02 in @Customer 
 GROUP BY sb.ItemCode, sb.WareHouse, Items.Class_02  
 HAVING SUM(sb.GbkmutCount) > 0) GX) AS Actual  
 ON Actual.artcode = i.ItemCode AND Actual.warehouse = v.magcode  AND Actual.artcode IS NOT NULL AND i.ItemCode IS NOT NULL  AND Actual.warehouse IS NOT NULL AND v.magcode IS NOT NULL 
 WHERE i.type IN ('S', 'B')
 AND i.ItemCode BETWEEN '0030122186' AND 'XS45000'
 AND i.Condition IN ('A')
 AND ((i.IsSalesItem <> 0)) AND i.Type IN ('S', 'B')
 AND 1=1 
 GROUP BY v.magcode , i.itemcode, i.SearchCode, Actual.Quantity 
) stk ON items.ItemCode = stk.ItemCode
INNER JOIN grtbk ON Items.GLAccountDistribution = grtbk.reknr
 ORDER BY stk.ItemCode

SSRS中的参数设置为从“查询”的“值”字段中获取值:Class_02 标签字段:Class_02

0 个答案:

没有答案