Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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查询给定周的实际值和预测值_Sql - Fatal编程技术网

Sql查询给定周的实际值和预测值

Sql查询给定周的实际值和预测值,sql,Sql,表:UnitsSold 栏目: 产品ID 数量 日期 预测分形–实际值可以是“A”,预测值可以是“F” 示例数据如下所示: UnitsSold ProductID Quantity Date ForecastOrActual Widget 100 1-June-2015 F Widget 120 1-June-2015 A Gizmo 90

表:UnitsSold 栏目:

  • 产品ID
  • 数量
  • 日期
  • 预测分形–实际值可以是“A”,预测值可以是“F”
示例数据如下所示:

UnitsSold
ProductID       Quantity    Date            ForecastOrActual
Widget          100         1-June-2015     F
Widget          120         1-June-2015     A
Gizmo           90          1-June-2015     F
Gizmo           80          1-June-2015     A
Doohickey       200         1-June-2015     A
我正在寻找一个sql查询,它返回一个聚合指标,指示给定周内实际值与预测值的符合程度。还有任何假设


感谢您的支持。谢谢

很难编写代码,因为这里有您的信息,但想法是:

WITH 
  cte_A AS
( SELECT qty,product, DATEPART( wk, DATE) AS WEEK 
  WHERE FORCAST='A'
  GROUP BY product,DATEPART( wk, DATE))
, cte_F AS
( SELECT qty,product, DATEPART( wk, DATE) AS WEEK 
  WHERE FORCAST='F'
  GROUP BY product,DATEPART( wk, DATE))
SELECT cte_A.product,cte_A.week,
CASE 
WHEN cte_F.qty - cte_A.qty >0 THEN 'Not met forcast'
WHEN cte_F.qty - cte_A.qty <0 THEN 'Met forcast'
END AS result
FROM cte_A join cte_F 
ON cte_A.product=cte_F.product
AND cte_A.week=cte_F.week

预期结果会是什么样子?请编辑您的问题,您需要哪种输出?发布您的预期结果,确定预测是否与实际发生的情况相符。只需发布您的预期结果。然后只有读者才能清楚地理解。该要求是针对这样提及的评估提出的。该角色要求您能够分析大量数据,并提出指标,说明公司在某些领域是在改善还是在恶化。一个很好的例子是确定我们的预测是否与实际发生的情况相符。编写一个SQL查询,返回一个聚合指标,指示给定周的实际值与预测值的符合程度。你做了什么假设?根据你的逻辑,这会给你一个总的数字。我想你也在问逻辑应该是什么,基于你的数据,你的逻辑是正确的。我能补充的是一种更“标准”的测量方法,比如0到100。我添加了一个新的性能逻辑,而不是0或1(无论是否满足预测),只是为了给你一个想法,如果你需要更多帮助,请告诉我。为了清晰起见,我发布了要求。。如果您能够细化表格:UnitsSold列:•ProductID•数量•日期•预测分形–可以是“A”表示实际,可以是“F”表示预测,我们将不胜感激。示例数据如下所示:UnitsSold ProductID Quantity Date Forecastorial Widget 100 1-June-2015 F Widget 120 1-June-2015 A Gizmo 90 1-June-2015 F Gizmo 80 1-June-2015 A Doohickey 200 1-June-2015 A编写一个SQL查询,该查询返回一个聚合度量,指示给定周的实际值与预测值的符合程度。你做了什么假设?@Eswar:不要将其他信息作为评论发布。编辑您的问题并将其添加为
WITH 
  cte_A AS
( SELECT qty,product, DATEPART( wk, DATE) AS WEEK 
  WHERE FORCAST='A'
  GROUP BY product,DATEPART( wk, DATE))
, cte_F AS
( SELECT qty,product, DATEPART( wk, DATE) AS WEEK 
  WHERE FORCAST='F'
  GROUP BY product,DATEPART( wk, DATE))
SELECT cte_A.product,cte_A.week,
CASE WHEN cte_F.qty = cte_A.qty THEN 0
ELSE 100.0*(cte_A.qty - cte_F.qty) / cte_F.qty As Performance
FROM cte_A join cte_F 
ON cte_A.product=cte_F.product
AND cte_A.week=cte_F.week