SSRS 2008(不是R2)按多个表中的多个列分组,没有重复的字段

时间:2016-03-03 14:15:41

标签: sql-server reporting-services ssrs-2008 ssrs-2008-r2

我是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

0 个答案:

没有答案