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?

QuickSightでの日付型データの変換

Posted at

はじめに

AWS QuickSightでダッシュボードを構築する際、使用するテーブルの日付に関する部分の型が数値や文字列の場合があります。実務上、数値や文字列を日付型に変換したり、日付型を数値または文字列に変換する必要性が度々発生します。
今回、この記事では、AWS QuickSightでの日付型に纏わる変換方法について紹介します。

使用するデータセット

データセットのダウンロード

今回は、各日付ごとに3種類の商品の販売件数に関するデータ(sample_sales.csv)を使用します。使用するデータセットは、以下に格納しています。
データセット

データセットの中身

データセットの各カラムの内容は以下の通りです。

カラム名 データ型 説明
日付 数値 商品販売日次(2024/4/4~2024/8/31) 
商品A 数値 商品Aの販売件数
商品B 数値 商品Bの販売件数
商品C 数値 商品Cの販売件数

データセットのアップロード

本記事はデータの操作方法に関する説明がメイントピックなので、QuickSight上でのデータのアップロードに関する説明は省略します。
データセットのアップロード、作成方法については、ユーザーガイドを参照してください。

データセットの編集

データをアップロードしたら以下の、データセットの編集画面に移動してください。

image_for_qiita_0.png

フィールドから直接型変換してみる

データセットのカラム名の下に各データセットの型が表示されています。
日付のデータもintegerとなっているので、これをdateに変更したいです。
試しに、既存のフィールド「日付」のデータ型を直接数値型に変更してみます。
フィールドの日付の横の「…」をクリックし、[データ型の変更]>[日付]を選択してください。

日付形式の編集」画面が表示されるので、「yyyy/MM/dd」と入力し更新ボタンを押してみてください。すると、同じ画面が表示され日付型に変更することができません。

計算フィールドから変換を行う

計算フィールドを使用するには、編集画面左上の[追加]>[計算フィールドの追加]を選択します。

image_for_qiita_1.png

「計算フィールドの追加」の画面は以下の通りです。赤枠部分から、編集したいカラムや関数を選択できます。「名前の追加」の部分はカラム名を記入、その下のエディタに関数を記入して使用します。

image_for_qiita_1_1.png

ここまでできれば、計算フィールドの準備は完了です。
試しに、商品A、商品Bおよび商品Cの合計販売件数を算出してみます。
シンプルに商品の和をとれば、合計値が算出できます。

合計値の算出
{商品A} + {商品B} + {商品C}

image_for_qiita_1_2.png

入力後、右上の保存ボタンを押すと、新しく「合計」というフィールドが作成されます。

image_for_qiita_1_3.png

日付型の変換

計算フィールドを使って、「文字型、数値型から日付型」および「日付型から文字型、数値型」の変換を行います。

文字型から日付型

{日付}は、文字型とします。文字型を日付型にするには、parseDate関数を使用します。parseDateの最初の引数に変換したいカラム、2番目の引数にフォーマット(今回はyyyyMMdd)を指定します。

文字型から日付型
parseDate({日付}, "yyyyMMdd")

数値型から日付型

{日付}は、数値型とします。数値型を日付型にするには、次に2段階のステップを踏みます。

  1. 数値型から文字型
  2. 文字型から日付型

1の数値型から文字型に変換するには、toStringを使用します。2の文字型から日付型については、parseDate関数を使用し、parseDateの最初の引数に変換したいカラムを文字列に変換したもの、2番目の引数にフォーマット(今回はyyyyMMdd)を指定します。

数値から日付型
parseDate(toString({日付}), "yyyyMMdd")

日付型から数値型

{日付}は、日付型とします。日付型を数値型にするには、extract関数を使用します。extractを使用すると、日付の年や月、日などを数値として抽出できます。extractの最初の引数に、抽出したい期間のフォーマット、2番目の引数に変換したいカラムを指定します。抽出した年、月、日の数値に対し、年×10000 + 月×100 + 日の計算をすれば、数値としての日付が取得できます。

日付型から数値型
extract("YYYY", {日付}) * 10000 + extract("MM", {日付}) * 100 + extract("DD", {日付})

日付型から文字型

{日付}は、日付型とします。日付型を文字型にするには、次に2段階のステップを踏みます。

  1. 日付型から数値型
  2. 数値型から文字型

1の日付型から数値型については、先に説明した「日付型から数値型」と同じです。2の数値型から文字型については、toStringを使用します。

日付型から文字型
toString(extract("YYYY", {日付}) * 10000 + extract("MM", {日付}) * 100 + extract("DD", {日付}))

今回使用した関数

今回使用した関数は、以下の通りです。QuickSightの関数については、ユーザーガイドのカテゴリ別関数にまとめられています。

参考文献

QuickSightユーザーガイド

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?