データが入っているEAVテーブルがあります
stageid, value, row
1 rob 1
2 01/01/2012 1
3 2000 1
1 Ben 2
2 ......... and so on
このデータを使用可能な形式(3列のテーブルなど)に転置/ピボットする必要があります
恐ろしい見た目のクエリは
SELECT pearson,
Date_format(a.salesdate, '%Y-%m-01') AS monthYear,
Count(1)
FROM (SELECT row,
Group_concat(IF(stageid = 74, value, NULL)) AS 'pearson',
Group_concat(IF(stageid = 59, Str_to_date(value, '%d/%m/%Y'), NULL)) AS 'salesdate',
Group_concat(IF(stageid= 67, value, NULL)) AS 'salescount'
FROM stagingdata
GROUP BY row) AS a
WHERE a.pearson IS NOT NULL
AND a.pearson != ''
AND Year(a.salesdate) IN ( '2012', '2011' )
GROUP BY Trim(Lower(a.pearson)),
Date_format(a.salesdate, '%Y-%m')
HAVING Count(1) > 10
ORDER BY pearson, a.salesdate ASC
この結果が得られます
Person, Date, Sales
Rob 2012-01-01 2000
Ben 2012-01-01 500
Ben 2012-03-01 300
Rob 2012-05-01 2000
NVD3を使用して積み上げ面グラフを作成したいのですが、日付列のデータの位置がずれていることがわかります。データを補間する必要があると思いますが、方法がわかりません。
だから私のデータは次のようになります
Person, Date, Sales
Rob 2012-01-01 2000
Ben 2012-01-01 500
Ben 2012-03-01 300
Rob 2012-03-01 0
Rob 2012-05-01 2000
Rob 2012-05-01 0
クエリでこれを行いますか?PHPでは<おそらくそうではありません!私の3列のチャートphpからjson作成者までをできるだけ一般的にしたいので、またはこれをNVD3またはD3で実行できますか