Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何解决以下问题以在Microsoft Dynamics AX的SSRS中显示按日期显示的库存记录_Sql Server_Reporting Services_Axapta - Fatal编程技术网

Sql server 如何解决以下问题以在Microsoft Dynamics AX的SSRS中显示按日期显示的库存记录

Sql server 如何解决以下问题以在Microsoft Dynamics AX的SSRS中显示按日期显示的库存记录,sql-server,reporting-services,axapta,Sql Server,Reporting Services,Axapta,我是新的Microsoft Dynamics AX业务分析师。我正在编写一个SQL查询,以显示按日期显示的库存记录,如期初库存、净发货、售出库存、转出库存、库存调整和期末库存。 我写了一个查询,其中显示了@FromDate=2013-11-01和@ToDate=2014-01-01之间的以下记录。 正在获取518条记录。我不关心在报告中显示多达前398条记录,因为这些是计算期初库存的日期前记录。 问题是: 1.我不想在报表上的@FromDaterecords之前显示可用于隐藏它们的条件。 2.前

我是新的Microsoft Dynamics AX业务分析师。我正在编写一个SQL查询,以显示按日期显示的库存记录,如期初库存、净发货、售出库存、转出库存、库存调整和期末库存。 我写了一个查询,其中显示了@FromDate=2013-11-01和@ToDate=2014-01-01之间的以下记录。 正在获取518条记录。我不关心在报告中显示多达前398条记录,因为这些是计算期初库存的日期前记录。 问题是: 1.我不想在报表上的@FromDaterecords之前显示可用于隐藏它们的条件。 2.前一天的收盘价必须等于第二天的开盘价。但在图3中可以看到,情况并非如此

注:我将所有数量逐一汇总,如SumOpeningStock。它显示了单位的确切数量。 图-1 图2-2 图-3

下面是SQL查询

提前谢谢你的帮助

SELECT TempTable.Dated, TempTable.BusinessGroup,
       ISNULL(SUM(Opening),0) OpeningStock, ISNULL(SUM(Dispatched),0) NetDispatched,
       (ISNULL(SUM(Opening),0) + ISNULL(SUM(Dispatched),0)) TotalStock,
       ISNULL(SUM(Sold),0) SoldStock, ISNULL(SUM(TransferredOut),0) TransferOutStock,
       ISNULL(SUM(StockAdjustment),0) StockAdjustment,
       (ISNULL(SUM(Opening),0)+ISNULL(SUM(Dispatched),0)-ISNULL(SUM(Sold),0)-ISNULL(SUM(TransferredOut),0)+ISNULL(SUM(StockAdjustment),0)) ClosingStock   
FROM
(
    /*------------------Opening---------------------------*/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,SUM(CSM.Qty) Opening,
      0 Dispatched, 0 Sold, 0 TransferredOut, 0 StockAdjustment,CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId <>3 AND CSM.InventLocationID='SW143' AND CSM.Dated < '2013-11-01' 
    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL

    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,SUM(CSM.Qty) Opening,
      0 Dispatched, 0 Sold, 0 TransferredOut, 0 StockAdjustment,CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =4 AND CSM.OtherLocation='SW143' AND CSM.Dated < '2013-11-01' 
    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL

    /*---------------------Dispatch----------------------*/
    /****Transfer in****/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName, 0 Opening,
      SUM(CSM.Qty) Dispatched, 0 Sold, 0 TransferredOut, 0 StockAdjustment, CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =4 AND CSM.InventLocationID='SW143' AND CSM.Dated BETWEEN '2013-11-01' AND '2014-01-01'

    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL
    /***Purchase Order***/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName, 0 Opening,
      SUM(CSM.Qty) Dispatched, 0 Sold, 0 TransferredOut, 0 StockAdjustment, CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =1 AND CSM.InventLocationID='SW143' AND CSM.Dated BETWEEN '2013-11-01' AND '2014-01-01'

    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL

    /***------------------Sales---------------------***/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName, 0 Opening,
      0 Dispatched, SUM(CSM.Qty * -1)Sold, 0 TransferredOut, 0 StockAdjustment, CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =6 AND CSM.InventLocationID='SW143' AND CSM.Dated BETWEEN '2013-11-01' AND '2014-01-01'

    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL
    /***---------------Transfer out------------------***/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName, 0 Opening,
     0 Dispatched, 0 Sold, SUM(CSM.Qty) TransferredOut, 0 StockAdjustment, CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =3 AND CSM.InventLocationID='SW143' AND CSM.Dated BETWEEN '2013-11-01' AND '2014-01-01'

    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation

    UNION ALL
    /***------------Stock Adjustment--------------***/
    SELECT CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName, 0 Opening,
      0 Dispatched, 0 Sold, 0 TransferredOut, SUM(CSM.Qty) StockAdjustment, CSM.OtherLocation
    FROM dbo.Mtq_CompleteStockMovement AS CSM 
      LEFT OUTER JOIN dbo.INVENTTABLE AS IT ON CSM.ITEMID = IT.ITEMID AND CSM.DataAreaID = IT.DATAAREAID
      LEFT OUTER JOIN dbo.RBOINVENTTABLE AS RIT ON RIT.ITEMID=IT.ITEMID AND RIT.DATAAREAID=IT.DATAAREAID
    WHERE CSM.DataAreaID='tcl' AND CSM.LabelId =5 AND CSM.InventLocationID='SW143' AND CSM.Dated BETWEEN '2013-11-01' AND '2014-01-01'

    GROUP BY CSM.Dated,RIT.BUSINESSGROUP,RIT.DIVISIONGROUP,RIT.ITEMDEPARTMENT,CSM.InventLocationID,CSM.ITEMID,IT.ITEMNAME,RIT.SEASONCODE,CSM.LabelId,CSM.LabelName,CSM.OtherLocation
) AS TempTable

GROUP BY TempTable.Dated, TempTable.BusinessGroup
ORDER BY TempTable.Dated, TempTable.BusinessGroup