0
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:「XX年の値を100とすると」をやってみる

Posted at

はじめに

「XX年の値を100とすると、現在はZZです」という説明を聞いたり見たりすることがあります。
これをOracle Analytics Cloud(OAC)でやってみたいと思います。

1. データを準備する

1.1 e-Statからデータをダウンロード

データはe-Statの「小売物価統計調査 小売物価統計調査(動向編)」から条件を絞ってAPIでCSVに抜き出したものを使います。
余分なヘッダは削除しました。
image.png

ちなみに、「鶏卵」と「うるち米(単一原料米,「コシヒカリ」)」の全地域、全期間のデータをダウンロードしました。
特に指定しませんでしたが、ダウンロードしたCSVのエンコーディングはUTF-8でした。
OACにアップロードするテキストファイルは、UTF-8である必要があります。

APIの利用にはユーザ登録が必要です。

1.2 OACにアップロード

アップロードは簡単です。
ログインして、「作成」ボタンをクリックし「データセット」を選択します。
image.png
左上の「ここにデータ・ファイルをドロップするか~」にファイルをドラッグ&ドロップするか、クリックしてファイルを選択します。
image.png
アップロードされたファイルを確認して「OK」をクリックします。
image.png
こんな感じになると思います。
image.png
「xx_code」が集計項目として認識されてしまっています。一方で、価格データである「value」は文字として認識されてしまいました。
「時間軸 (月)」も文字と認識しています。

1.3 データセットを修正

取り込んだデータの定義を編集します。

1.3.1 文字列を数値に変更する

数値に変更したい列の「オプション」アイコンをクリックします。
今回の場合は「value」列です。
image.png
表示されるメニューから「数値に変換」をクリックします。
image.png
処理形式を「メジャー」、集計を「平均」にします。
image.png
列ヘッダをダブルクリックして、列名を変更します。
image.png

1.3.2 文字列を日付に変更する

同様に「時間軸 (月)」を日付に変換しようとしたのですが、フォーマットの問題なのかうまくいかなかったので、「yyyy年MM月」を一旦「yyyy/MM」にしてみることにしました。
「時間軸 (月)」のオプションメニューから「編集」をクリックします。
image.png
次のような式を入力し、「ステップの追加」をクリックします。

REPLACE(REPLACE(時間軸(月),'年','/'),'月','')

image.png
この状態で、あらためて「日付に変換」をクリックし、「ステップの追加」をしたところ意図したような日付列に変換されました。
image.png

1.3.3 分析に使用しない列を非表示にする

分析に不要な列のオプションメニューから、「非表示」を選択します。
あるいは、表示形式を「メタデータ」に変更した方が作業しやすいかもしれません。
image.png
表示したくない列にチェックを付けていきます。
image.png

データセットを保存します。
image.png
任意の名前を入力します。
image.png

2. ワークブックを作成

データセットが保存できたら、そのままワークブックを作成してみましょう。
image.png
Auto Insightが表示された場合は、ひとまず閉じておきます。
image.png

表と折れ線でデータを確認しました。
image.png

鶏卵とコシヒカリでは価格差が大きいので、このようなグラフにしてしまうと鶏卵の価格の変化が掴みづらいですね。
というか、コシヒカリって2000年には5,500円だったんですね。

3. 計算の追加

新しいキャンバスを追加します。
「マイ計算」を右クリックし「計算の追加」を選択します。
image.png

任意の式の名称を入力します(例えば「価格変動」)。
次のような式を入力し、「保存」をクリックします。

価格*100/MIN(CASE WHEN 時間軸(月)=MIN(時間軸(月)by 銘柄) THEN 価格 END by 銘柄)

image.png

グラフ化してみました。
image.png
2000年1月の価格を100とした場合の、2021年7月までの価格変動(全国平均)です。

式の意味ですが

MIN(CASE WHEN 時間軸(月)=MIN(時間軸(月)by 銘柄) THEN 価格 END by 銘柄)

ここの部分で、銘柄別に一番古い(期初の)価格を返すことになります。
この値で、価格を100倍したものを割り算すると期初の値は100になり、その後のデータは価格変動に従って算出されます。

4. Auto Insight

この記事の最初の方で、Auto Insightの画面を閉じましたが、実はこのタイプのグラフも提案されていました。
2022-09-09_12h32_20.png

もう一度、Auto Insightによる提案を確認したい場合はAuto Insghtアイコンをクリックしてください。
image.png

目的のグラフをキャンバスにドラッグ&ドロップします。
image.png

必要な計算式も含め、全部自動的に作成してくれるのでした。
image.png

0
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
0
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?