2017-01-28 16 views
0

RDLC折れ線グラフレポートを作成して、 を3つの異なる期間に1つのアイテムにしたいと考えています。異なる部門の3つの異なる期間と3つの異なる期間の各項目を比較するRDLC折れ線グラフレポート

どのデータフィールドをデータベースから取得する必要がありますか?私はクエリの下で使用しましたが、それはグラフにとって十分ではありません。

SELECT d.DepartmentName, 
     SUM(CASE WHEN r.Date BETWEEN '2016-10-01' AND '2016-10-31' THEN ri.RequiredQty ELSE 0 END) FirstMonth, 
     SUM(CASE WHEN r.Date BETWEEN '2016-11-01' AND '2016-11-30' THEN ri.RequiredQty ELSE 0 END) SecondMonth, 
     SUM(CASE WHEN r.Date BETWEEN '2016-12-01' AND '2016-12-31' THEN ri.RequiredQty ELSE 0 END) ThirdMonth 
FROM RequisitionItem ri, Requisition r, [User] u, Department d 
WHERE ri.RequisitionID = r.RequisitionID 
AND  r.UserID = u.UserID 
AND  u.DepartmentID = d.DepartmentID 
AND  ri.ItemID = 'C001' 
AND  d.DepartmentID IN ('BIOL' , 'COMM', 'BIZL', 'CPSC') 
GROUP BY d.DepartmentName 

enter image description here

+0

ようこそスタックオーバーフロー!最初に[ツアー(http://stackoverflow.com/tour)に参加して[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を学んで[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例を参照してください。そうすれば、私たちがあなたを助けやすくなります。 –

答えて

0

これは、データがグラフを生成するために取得するための正しい方法ではありません。 あなたの選択の各行は3つの情報

  • シリーズあなたのケースで情報私が想像し、時間帯に
  • Y軸する必要があり、部門
  • X軸データが含まれている必要があります必要な数量のデータ

このように照会する必要があります

 SELECT d.DepartmentName, --series field 
      LEFT(CONVERT(varchar, r.Date,112),6) Period, --X Axis Values 
      SUM(ri.RequiredQty) Quantity, --Y axis values 
     FROM RequisitionItem ri, Requisition r, [User] u, Department d 
     WHERE ri.RequisitionID = r.RequisitionID 
     AND  r.UserID = u.UserID 
     AND  u.DepartmentID = d.DepartmentID 
     AND  ri.ItemID = 'C001' 
     AND  d.DepartmentID IN ('BIOL' , 'COMM', 'BIZL', 'CPSC') 
     GROUP BY d.DepartmentName, LEFT(CONVERT(varchar, r.Date,112),6) 

情報:この命令LEFT(CONVERT(varchar, r.Date,112),6)は、そのようにグループ部門および月別のグループが一緒にYYYYMMフィールドに日付フィールドを変換するために使用されます。

関連する問題