我是SQL / SSRS的新手,我一直在学习。我知道一份特定的报告需要做什么,所以我一直在努力,直到这样做,一路上有大量的谷歌搜索,所以请轻轻一点!
报告我遇到的问题是从ERP中的4个不同表中提取数据。基本上它是股票控制报告。我们想要一个已达到最低库存阈值(项目表)的项目清单,库存量(库存,这是ILE表中的数量总和),当前分配给销售订单的库存量(总和) “销售线表”中的数量)以及为生产订单分配的数量(“产品订单”表中的“数量总和”)。
对于那些具有关联PO和SO数量的项目,我们希望列出PO / SO编号。
这是我的剧本:
SELECT i.[No_],
i.[Description],
i.[Global Dimension 2 Code],
i.[Base Unit of Measure],
ILE.Inventory,
pl.POQty,
pl.[Prod_ Order No_],
sl.SOQty,
sl.[Document No_]
FROM [TEST JANUARY 2016$Item] i
INNER JOIN (
SELECT [Item No_], SUM([Quantity]) AS Inventory
FROM [TEST JANUARY 2016$Item Ledger Entry]
GROUP BY [Item No_]
) ILE ON i.[No_] = ILE.[Item No_]
LEFT JOIN (
SELECT [Item No_], [Prod_ Order No_], SUM([Remaining Quantity]) AS POQty
FROM [TEST JANUARY 2016$Prod_ Order Line]
WHERE [status] = '3'
GROUP BY [Item No_],
[Prod_ Order No_]
) pl ON i.[No_] = pl.[Item No_]
LEFT JOIN (
SELECT [No_], [Document No_], SUM([Outstanding Quantity]) AS SOQty
FROM [TEST JANUARY 2016$Sales Line]
WHERE [Document Type] = '1'
GROUP BY [No_],
[Document No_]
) sl ON i.[No_] = sl.[No_]
WHERE i.[Minimum Order Quantity] NOT IN ('0.00000000000000000000')
AND i.[Inventory Posting Group] = 'PCM'
AND i.[Product Group Code] = 'PCM'
GROUP BY i.[No_],
i.[Description],
i.[Global Dimension 2 Code],
i.[Base Unit of Measure],
ILE.Inventory,
pl.POQty,
pl.[Prod_ Order No_],
sl.SOQty,
sl.[Document No_],
i.[Minimum Order Quantity]
HAVING (SUM(ILE.[Inventory])) <= i.[Minimum Order Quantity]
因此。如果我只有数量的总和,那就没关系,因为每个项目只有一行。最初我只是想要PO参考,这很好 - 我只是将PO数量/参考放在最后并分组(或合并单元格,尝试两者)一直到此为止,在那里它将数量分成各自的PO号。
然而,只要我加入SO ref,那么我就会重复 - 比如项目上有6个PO,但只有一个SO,报告将有6行 - 6个独特的PO但是相同的SO 6倍。完成数量,显然完全扭曲了总数。
如果有3个PO和3个SO,我得到9行。每个PO都有一条线,每条SO都在其上。
Output of one item from my report, which has 1 SO but 7 PO's
Output of item which has 3 SO's and 3 PO's
我已尝试在SSRS中分组到SO,但之后我仍然得到相同的输出...只是将每个'set'分组。
我认为这是一个SSRS小组的问题(完全意识到我缺乏知识,而不是软件!) - 我只想拥有与PO /数量相同的输出,在一个不错的小清单中最后,在最后两列中,我想要一个很好的SO /数量清单。每列都有各自的总数。
我甚至不确定我是否已经设置了我已经正确的行组 - 我开始按Item(col1)分组,然后是子组col2,然后是子组col3,依此类推直到最后,最后4列是PO / POQty / SO / SOQty但这些列没有分组。我想也许我的团体完全错了?甚至不知道从列组开始的位置: - |
我真的希望这是有道理的,抱歉!
orangemog