たきこみの丸太

暇だった。

スパチャ色割合の計算

takikomiprogramming.hateblo.jp
↑この辺のタイミングで、既に色情報は持っているので、期間区切って色とチャンネルでグルーピングしたものをピポットしてやれば、集計表はすぐ作れる。

SELECT
    t.id
    ,t.author_name
    ,t.thumbnail0_url
    ,t.thumbnail1_url
    ,t.thumbnail2_url
    ,COALESCE(max(CASE WHEN t.color_name = '' THEN t.count END), 0) AS 青
    ,COALESCE(max(CASE WHEN t.color_name = '水色' THEN t.count END), 0) AS 水色
    ,COALESCE(max(CASE WHEN t.color_name = '黄緑' THEN t.count END), 0) AS 黄緑
    ,COALESCE(max(CASE WHEN t.color_name = '' THEN t.count END), 0) AS 黄
    ,COALESCE(max(CASE WHEN t.color_name = 'オレンジ' THEN t.count END), 0) AS オレンジ
    ,COALESCE(max(CASE WHEN t.color_name = 'ピンク' THEN t.count END), 0) AS ピンク
    ,COALESCE(max(CASE WHEN t.color_name = '' THEN t.count END), 0) ASFROM
(
    SELECT
        ch.id
        ,ch.author_name
        ,ch.thumbnail0_url
        ,ch.thumbnail1_url
        ,ch.thumbnail2_url
        ,mv.color_name
        ,COUNT(mv.id) count
    FROM mv_chat_paids mv
    INNER JOIN channels ch ON mv.channel_id = ch.id
    WHERE
        mv.video_uploaded_date >= '2020-07-01 00:00:00'
        AND mv.video_uploaded_date <= '2020-07-31 23:59:59'
    GROUP BY
        ch.id
        ,ch.author_name
        ,ch.thumbnail0_url
        ,ch.thumbnail1_url
        ,ch.thumbnail2_url
        ,mv.color_name
) t
GROUP BY
    t.id
    ,t.author_name
    ,t.thumbnail0_url
    ,t.thumbnail1_url
    ,t.thumbnail2_url





見せ方として色が有ったほうが便利なので、スパチャスクショして、
f:id:takikomiprogramming:20200804211940p:plain
RGB値に変換して、

色名 R G B
21 101 192
水色 0 184 212
黄緑 0 191 165
255 179 0
オレンジ 230 81 0
ピンク 194 24 91
208 0 0

DBに突っ込んでおく。
f:id:takikomiprogramming:20200804212839p:plain
グラフ自前で作るのは面倒なので、エクセルと連携して、グラフ生成ツールを叩けば出来上がり。

takikomiprogramming.hateblo.jp