Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Date 在SSRS中基于日期查找细节_Date_Reporting Services - Fatal编程技术网

Date 在SSRS中基于日期查找细节

Date 在SSRS中基于日期查找细节,date,reporting-services,Date,Reporting Services,我有一个表,我正在使用它来提取SSRS中的订单详细信息,当产品编号的价格发生变化时,该表会显示这些信息。它更改了数据并更新了成本 我将两个不同的表配对,以创建一个报告,该报告是订购时包装的成本。以下是我如何提取数据: SELECT WAREHOUSE.ActPkgCostHist.ItemNo AS [ActPkgCostHist ItemNo] ,WAREHOUSE.ActPkgCostHist.ActPkgCostDate ,WAREHOUSE.ActPkgCostHist.Ac

我有一个表,我正在使用它来提取SSRS中的订单详细信息,当产品编号的价格发生变化时,该表会显示这些信息。它更改了数据并更新了成本

我将两个不同的表配对,以创建一个报告,该报告是订购时包装的成本。以下是我如何提取数据:

SELECT
  WAREHOUSE.ActPkgCostHist.ItemNo AS [ActPkgCostHist ItemNo]
  ,WAREHOUSE.ActPkgCostHist.ActPkgCostDate
  ,WAREHOUSE.ActPkgCostHist.ActPkgCost
  ,ORDER.OrderHist.OrderNo
  ,ORDER.OrderHist.ItemNo AS [OrderHist ItemNo]
  ,ORDER.OrderHist.DispenseDt
FROM
  WAREHOUSE.ActPkgCostHist
  INNER JOIN ORDER.OrderHist
    ON WAREHOUSE.ActPkgCostHist.ItemNo = ORDER.OrderHist.ItemNo
目录=发货订单

ActPkgCostHist表包含项目的成本以及成本更改的日期

OrderHist表包含除购买时的ActPkgCost之外的订单的完整详细信息

我正在尝试创建一个表,其中包含订单号、订单日期和订单时的包装成本

行数函数对于这种情况非常有用

SELECT WAREHOUSE.ActPkgCostHist.ItemNo AS [ActPkgCostHist ItemNo]
  ,WAREHOUSE.ActPkgCostHist.ActPkgCostDate
  ,WAREHOUSE.ActPkgCostHist.ActPkgCost
  ,ORDER.OrderHist.OrderNo
  ,ORDER.OrderHist.ItemNo AS [OrderHist ItemNo]
  ,ORDER.OrderHist.DispenseDt
FROM ORDER.OrderHist
INNER JOIN (
  SELECT ItemNo, ActPkgCostDate, ActPkgCost
    , ROW_NUMBER() OVER (PARTITION BY ItemNo ORDER BY ActPkgCostDate DESC) as RN
  FROM WAREHOUSE.ActPkgCostHist
  --if there are future dated changes, limit ActPkgCostDate to be <= the current date
) ActPkgCostHist on ActPkgCostHist.ItemNo = OrderHist.ItemNo
WHERE RN = 1

此子查询所做的是按ItemNo对成本历史记录进行分组。然后,对于每一项,它按最近程度对变化进行排序,最近的变化为1。然后在主查询中,将其筛选为仅包含1的行

对于每个订单中的每个项目,您必须找到最新的成本日期,并在加入成本表时使用它

选择C.ItemNo作为[ActPkgCostHist ItemNo], C.ActPkgCostDate, C.ActPkgCost, O.OrderNo, O.ItemNo作为[OrderHist ItemNo], O.D 从WAREHOUSE.ActPkgCostHist作为C -将订单详情与成本表关联,以便定义每个项目/订单的成本日期 内部联接选择MaxCH.ActPkgCostDate作为ItemCostDate, 哦,不, 哦,不, 哦,是的 从WAREHOUSE.ActPkgCostHist作为CH 内部联接ORDER.OrderHist作为OH 关于CH.ItemNo=OH.ItemNo -仅从订单日期之前的日期获取最新成本日期
说到SSR,我还是个新手。有没有办法把它隔开一点?我复制了文本,粘贴了它,出现了语法错误。你可以尝试poorsql.com来格式化它。您是否使用SSMS来运行它?它通常会突出显示带有错误的行。另外,这是SQL Server还是其他类型的SQL?我正在使用SSRS3.0来运行它。poorsql.com非常有帮助。