1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracle Analytics Cloud:ISO8601形式の文字列を日付型に変換

Posted at

はじめに

データ分析するにあたり、時系列で計数を見てみるというのは基本だと思います。
日付データのフォーマットとして様々なパターンが考えられますが、今回はISO 8601に基づいたフォーマットをOracle Analtyics Cloud(OAC)で日付データとして取り扱う方法を紹介します。
なお、ISO 8601形式とは例えば 2023-09-01T01:10:24.000 というもので、日付と時刻をTで区切って表現するものです。

サンプルデータの入手

気象庁の「各種データ・資料」の震源リストを使用します。

2023年08月01日 のデータを使用しました。
ブラウザから赤い囲みの部分のデータをコピー&ペーストして、テキストファイルとして保存します。
image.png

Excelで加工

まずは、保存したテキストファイルを固定長データとしてExcelシートに取り込みます。
image.png
固定長データとして「次へ」をクリックします。
image.png
時と分の間の「:」を独立した列として定義して「次へ」をクリックします。
image.png
「:」列は「削除する」として「完了」をクリックします。
image.png
image.png
取り込み成功しました。
image.png
2行目に不要な行があるので削除しておきます。
また、10行毎に空行が挿入されているので、これは後でまとめて削除します。
新たな列をG列として追加します。
image.png
セルG2に、次の式を入力します。

=A2&"-"&TEXT(B2,"00")&"-"&TEXT(C2,"00")&"T"&TEXT(D2,"00")&":"&TEXT(E2,"00")&":"&TEXT(F2,"00.000")

image.png
この式をG列全体にコピーします。
image.png
G列の値を「-00-00T00:00:00.000」でフィルタし、該当する行を削除します。
image.png
名前をつけて、XLSX形式で保存します。
image.png

OACで可視化

OACにログインし、「ホーム」を表示します。

データセットの作成

「作成」ボタンをクリックして、「データセット」をクリックします。
image.png
保存しておいたExcelファイルをドラッグ&ドロップするか、クリックしてファイルを選択します。
image.png
先程、計算式により作成した列は「日付」タイプではなく「属性」列として認識されているのがわかります。
このまま「OK」をクリックします。
image.png
結合ダイアグラムの右隣のタブに移動します。
「日時」列の3点リーダをクリックして、「日付に変換」をクリックします。
image.png
フォーマットを確認して「ステップの追加」をクリックします。
image.png
データ型が「日時」になりました。
image.png

ハイフンやコロンがないフォーマットの場合は、日付に変換する際に「ソース・フォーマット」を「カスタム」にして書式を「yyyyMMdd'T'HHmmss.SSS」とします。
image.png

ついでに行数を返す列を追加しておきます。
データセットの一番右側の列の3点リーダをクリックして「作成」をクリックします。
image.png
名前を「件数」、式を「1」として「ステップの追加」をクリックします。
image.png
処理形式を「メジャー」、集計を「合計」とします。
image.png
名前をつけてデータセットを保存します。
image.png

ワークブックの作成

ワークブックの作成ボタンをクリックします。
image.png
時間帯別の発生件数を可視化してみました。
image.png
完成です!

データセットの編集

記事の趣旨とはズレるのですが、せっかくなのでデータセットを少し編集します。
このデータセットには緯度・経度の座標データがあります。
フォーマットは、度分秒になっています。
1度は60分で1分は60秒となります。
これを、OACのマップで利用できる十進度に変換するとなると

  • 度+分/60+秒/3600

という換算式となります。
これをデータセットの新しい列に式として定義します。

ワークブックの「データ」モードからデータセットの編集

「データ」をクリックします。つづいて、データセットの編集アイコンをクリックします。
image.png

新しい列を追加

「緯度」列の3点リーダをクリックして、メニューの中から「作成」をクリックします。
image.png
次の式を入力します。
名前は「緯度 (十進度)」とし、「ステップの追加」をクリックします。

cast(left("緯度",2) as double)+cast(substring("緯度",4,2) as double)/60+cast(substring("緯度",7,1) as double)/3600

image.png
同様の手順で、「経度」の隣に新しい列「経度 (十進度)」を作成します。

cast(left("経度",3) as double)+cast(substring("経度",5,2) as double)/60+cast(substring("経度",8,1) as double)/3600

image.png
データセットを上書き保存し、ワークブックに戻ります。
image.png

OACで再度可視化

座標データを使用して、マップを作成しました。
体に感じない地震が多いとはいえ、たった1日でこんなに発生しているんですね。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?