はじめに
データ分析するにあたり、時系列で計数を見てみるというのは基本だと思います。
日付データのフォーマットとして様々なパターンが考えられますが、今回はISO 8601に基づいたフォーマットをOracle Analtyics Cloud(OAC)で日付データとして取り扱う方法を紹介します。
なお、ISO 8601形式とは例えば 2023-09-01T01:10:24.000 というもので、日付と時刻をTで区切って表現するものです。
サンプルデータの入手
気象庁の「各種データ・資料」の震源リストを使用します。
2023年08月01日 のデータを使用しました。
ブラウザから赤い囲みの部分のデータをコピー&ペーストして、テキストファイルとして保存します。
Excelで加工
まずは、保存したテキストファイルを固定長データとしてExcelシートに取り込みます。
固定長データとして「次へ」をクリックします。
時と分の間の「:」を独立した列として定義して「次へ」をクリックします。
「:」列は「削除する」として「完了」をクリックします。
取り込み成功しました。
2行目に不要な行があるので削除しておきます。
また、10行毎に空行が挿入されているので、これは後でまとめて削除します。
新たな列をG列として追加します。
セルG2に、次の式を入力します。
=A2&"-"&TEXT(B2,"00")&"-"&TEXT(C2,"00")&"T"&TEXT(D2,"00")&":"&TEXT(E2,"00")&":"&TEXT(F2,"00.000")
この式をG列全体にコピーします。
G列の値を「-00-00T00:00:00.000」でフィルタし、該当する行を削除します。
名前をつけて、XLSX形式で保存します。
OACで可視化
OACにログインし、「ホーム」を表示します。
データセットの作成
「作成」ボタンをクリックして、「データセット」をクリックします。
保存しておいたExcelファイルをドラッグ&ドロップするか、クリックしてファイルを選択します。
先程、計算式により作成した列は「日付」タイプではなく「属性」列として認識されているのがわかります。
このまま「OK」をクリックします。
結合ダイアグラムの右隣のタブに移動します。
「日時」列の3点リーダをクリックして、「日付に変換」をクリックします。
フォーマットを確認して「ステップの追加」をクリックします。
データ型が「日時」になりました。
ついでに行数を返す列を追加しておきます。
データセットの一番右側の列の3点リーダをクリックして「作成」をクリックします。
名前を「件数」、式を「1」として「ステップの追加」をクリックします。
処理形式を「メジャー」、集計を「合計」とします。
名前をつけてデータセットを保存します。
ワークブックの作成
ワークブックの作成ボタンをクリックします。
時間帯別の発生件数を可視化してみました。
完成です!
データセットの編集
記事の趣旨とはズレるのですが、せっかくなのでデータセットを少し編集します。
このデータセットには緯度・経度の座標データがあります。
フォーマットは、度分秒になっています。
1度は60分で1分は60秒となります。
これを、OACのマップで利用できる十進度に変換するとなると
- 度+分/60+秒/3600
という換算式となります。
これをデータセットの新しい列に式として定義します。
ワークブックの「データ」モードからデータセットの編集
「データ」をクリックします。つづいて、データセットの編集アイコンをクリックします。
新しい列を追加
「緯度」列の3点リーダをクリックして、メニューの中から「作成」をクリックします。
次の式を入力します。
名前は「緯度 (十進度)」とし、「ステップの追加」をクリックします。
cast(left("緯度",2) as double)+cast(substring("緯度",4,2) as double)/60+cast(substring("緯度",7,1) as double)/3600
同様の手順で、「経度」の隣に新しい列「経度 (十進度)」を作成します。
cast(left("経度",3) as double)+cast(substring("経度",5,2) as double)/60+cast(substring("経度",8,1) as double)/3600
OACで再度可視化
座標データを使用して、マップを作成しました。
体に感じない地震が多いとはいえ、たった1日でこんなに発生しているんですね。