select 值基于 ssrs 中的最大值

select value based on max in ssrs

在下面的 table 中,根据最大提前期,订单数量应 select,并且订单数量不应为零。如果为零意味着需要 select 下一个值基于提前期的下一个最高值。

在此示例中,提前期最大值为 12。根据提前期订单数量为 0,因此下一个最高提前期为 11 select 的最终答案为 5。

目前我正在使用此代码。它返回第一个出现的值。需要应用以上逻辑。

=LookupSet(Fields!InvoiceNumber.Value & Fields!PONumber.Value, Fields!InvoiceNumber.Value & Fields!PONumber.Value,Fields!CustomerOrderQty.Value, "dsILI")(0)

我的查询。

SELECT mmm_mmmidno, mmm_productdesc, mmm_invoiceno AS InvoiceNumber, mmm_pono AS PONumber, mmm_billunit AS BillUnit,mmm_customerorderedqty AS CustomerOrderQty,mmm_itemleadtime as ItemLeadTime FROM Filteredmmm_invoicelineiteminfo

数据:

   Invoice No   Lead Time   Order Qty
   -----------------------------------
   ET2010           2         10
   ET2010           5         22
   ET2010           8          4
   ET2010           4          7
   ET2010           6          8
   ET2010          12          0
   ET2010          11          5
   ET2010           9          3

只需像这样更改您的查询:

SELECT mmm_mmmidno
      ,mmm_productdesc
      ,mmm_invoiceno AS InvoiceNumber
      ,mmm_pono AS PONumber
      ,mmm_billunit AS BillUnit
      ,mmm_customerorderedqty AS CustomerOrderQty
      ,mmm_itemleadtime as ItemLeadTime 
FROM Filteredmmm_invoicelineiteminfo
WHERE mmm_customerorderedqty > 0
ORDER BY ItemLeadTime DESC