#author("2018-02-02T14:08:00+00:00","","") 現在の殿堂チャートの作り方です。 参考資料です *殿堂データのCSV作成のお願い [#wc736f71] 現状、殿堂データの元データの製作が滞っている状況です。どうしても、一人の力でやっていると限界が出てしまうものですので今後、殿堂チャートを作る仕組みを作ることにしました。 そこで、元ネタとなるデータを投入するためのCSV作りを有志でお願いします。CSVの形式は以下の通りです。 集計年度,ジャンル,評価,曲名,作者,演奏時間(時),演奏時間(分),演奏時間(秒),メンバー数,ファイルサイズ -集計年度 当年の2回目の更新〜翌年の1回目の更新を当年度とする。 -ジャンル Museの殿堂でプルダウンメニューで選択できる項目「ポピュラー」、「クラシック」など -評価 ★→2~ ☆→1~ 無印→0~ (半角数字) -曲名 曲名をそのまま入力 -作者 作成者をそのまま入力 -演奏時間(時) 演奏時間の時間の部分を入力(半角数字) -演奏時間(分) 演奏時間の分の部分を入力(半角数字) -演奏時間(秒) 演奏時間の秒の部分を入力(半角数字) -メンバー数 メンバー数を入力(半角数字) -ファイルサイズ ファイルサイズを入力(半角数字) **CSVの例 [#pb349f99] "2017","ポピュラー","2","ロ・ロ・ロ・ロシアンルーレット","MIZ","0","3","44","16","9931" *データ入力 [#f9facb5c] まず、ExcelにMuseの殿堂より各種データを転記します。殿堂チャートに間違いがある場合、ほぼここの作業で誤りが出ています。 #ref(http://musewiki.dip.jp/pho/SNAG-000108.jpg) *データベースへデータを投入 [#oec6dab7] 一旦、Excelに入力したデータをOracleデータベースへ投入します。~ 具体的にはSQLDeveloperにコピペします。 #ref(http://musewiki.dip.jp/pho/SNAG-000107.jpg) 投入するデータベースのテーブルのDDLは以下のようになっています。 #ref(http://musewiki.dip.jp/pho/SNAG-000105.jpg) *集計作業 [#i0961a95] Oracleデータベースにデータが入ったらこれをSQLで集計し殿堂チャートそれぞれのランキングを出します。 例として、殿堂ポイントのSQLは以下のようになります。 select a_name, hoshi, (select count(hyoka_num) from chart where author_name = a_name and hyoka_num = 2) kurohoshi, (select count(hyoka_num) from chart where author_name = a_name and hyoka_num = 1) shirohoshi , (select count(hyoka_num) from chart where author_name = a_name and hyoka_num = 0) muji from( select sum( case hyoka_num when 0 then 1 when 1 then 2 when 2 then 4 end ) hoshi, author_name a_name from chart group by author_name order by hoshi desc) order by hoshi desc,a_name *整形 [#bad4bd7f] あとは、ランキングを見やすいようにExcelに貼り付けて整形し体裁を整えます。~ 最終的に、PDFに出力して公開します。