新エネルギー・産業技術総合開発機構の太陽光スペクトルデータをピボットグラフで表現する

 色の知覚(1)太陽光では,新エネルギー・産業技術総合開発機構の日射データが巨大すぎてインポートできなかった.データをある程度絞り込むことで何とかならないか,試行錯誤した結果を報告する.

csv ファイルの構造をよく読む

 まずはファイルの構造をよく把握しておくことが重要である.この場合,日射スペクトルデータベース解説書になる.11 ページ以降に「分光データファイルのフォーマット」という章題があり,特に表 5-6 の各行の構成をよく読む必要がある.

日射スペクトルデータベース解説書
日射スペクトルデータベース解説書

 また,表 5-7 のリマーク値の意味もよく把握しておく必要がある.データとして有効なリマーク値は 0, 1, 2 のみであり,それ以外は意味をなさない.

テキストフィルターを活用してデータを絞り込む

 今回太陽光のスペクトルデータは波長 350 nm から 1700 nm までの 1 nm ごとのデータである.一度にまとめてインポートしようとすると,メモリ溢れを起こして EXCEL がフリーズする(Power BI なら全件インポートできる).となると,何らかの規則で絞り込む必要がある.

 データ件数を 10 分の 1 にするならテキストフィルター条件を 0 で終わるとする.100 分の 1 なら 00 で終わるとする.今回は 25 分の 1 にしてみた.

 明言していないが,ここではWaveLength のデータ型はテキスト型である.後で数値型に変換する.

Filter Rows の Advanced で Or 条件で ends with に条件を指定する
Filter Rows の Advanced で Or 条件で ends with に条件を指定する

 ends with のテキストを 1 ずつ加算して 25 回繰り返せば,理屈の上では全データを取得できる.

25 分の 1 でも結果は 2100 万件

 かなり時間を要して取得したデータ件数は 21,099,375 件でファイルサイズは 68 MB.この 25 倍となると,概算で 5 億件,1.7 GB を超える.EXCEL で扱える範囲ではない.

クエリと接続
クエリと接続

 それでも,ピボットグラフなら表現は可能だ.

ピボットグラフに表現する

 Insert タブの Charts に PivotChart があり,押下すると PivotChart & PivotTable があるのでこれをクリックする.

ピボットテーブルとピボットグラフ (PivotChart & PivotTable)
ピボットテーブルとピボットグラフ (PivotChart & PivotTable)

 Create PivotTable ではブック内のデータモデルを使用していることを確認し,このまま OK をクリックする.

ピボットテーブルの作成 (Create PivotTable)
ピボットテーブルの作成 (Create PivotTable)

 先程作成した列名が表示されており,これをピボットテーブルのボックスに投入していく.

ピボットグラフのフィールド (PivotChart Fields)
ピボットグラフのフィールド (PivotChart Fields)

グラフの表現目的を確認する

 グラフの表現目的を繰り返し確認する.「波長ごとの放射照度の日内変動」であった.

 「波長ごとの」で WaveLength を Legend (Series) に投入する.これは系列になる.

 「日内変動」で Hour と Minute を Axis (Categories) に投入する.これは横軸である.

 「放射照度」を縦軸で表現したいので Σ Values に投入する.初期値では Sum (合計)となっているが,Average (平均)に変更する.

 Year, Month, Day を Filters に投入する.Point も Filters に投入する.ここでは集約の粒度を指定することになる.

Drag fields between areas below: フィールドをフィルター,行,列,Σに投入
Drag fields between areas below:
フィールドをフィルター,行,列,Σ値に投入

 Σ 値の集計方法を合計から平均に変更する.

Value Field Settings of Sigma Value
Value Field Settings of Sigma Value
From Sum to Average
From Sum to Average

グラフの種類の変更

 初期設定では縦棒グラフであるが,積み上げ棒グラフに変更する.

グラフの種類の変更(Change of Chart Type...)
グラフの種類の変更(Change of Chart Type…)

系列の間隔を詰めてゼロに

 データ系列の書式の間隔を 0 とする.

Format Data Series の Gap Width を 0 とする
Format Data Series の Gap Width を 0 とする

結果

 つくば市のデータを示す.例によって春分の日,夏至,秋分の日,冬至を代表として 3 月,6 月,9 月,12 月を示す.

 北米のデータと比較すると中央寄りに分布している印象である.この分布の違いが,植生の違いや太陽光発電効率の違いに影響している可能性がある.

つくば市の3月の放射照度日内変動の平均
つくば市の3月の放射照度日内変動の平均
つくば市の6月の放射照度日内変動の平均
つくば市の6月の放射照度日内変動の平均
つくば市の9月の放射照度日内変動の平均
つくば市の9月の放射照度日内変動の平均
つくば市の12月の放射照度日内変動の平均
つくば市の12月の放射照度日内変動の平均

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください