0

データが入っている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で実行できますか

4

0 に答える 0