top of page
検索
  • 執筆者の写真M.Y

QuickSight periodOverPeriodLastValueで表示したい期間でフィルターをする方法

はじめに

 

以前、こちらの記事でQuickSightの昨対を計算する関数をご紹介させていただきました。


その際、注意事項として「昨対の計算を行うため、フィルターの絞り込みは1年未満にしてしまうと計算ができないので注意が必要です。」とご紹介しました。

しかし、フィルターを行えないとビジュアル上に空白の不要な値が表示されてしまい、利用者からとても見にくい状態となってしまうため、 ビジュアルから見えなくすることで 見にくいビジュアルから脱却できる方法について、ご紹介したいと思います。



表示上見えなくするフィルターの作成方法

 

1. sampleデータの準備


今回は、QuickSightとAthenaを利用して、カスタムSQLで2022/2〜2024/2/のsampleデータを準備し、SPICEへインポートしました。


select '2024-02-01' as month, 94237 as kingaku
union all select '2024-01-01' as month, 93426 as kingaku
union all select '2023-12-01' as month, 97403 as kingaku
union all select '2023-11-01' as month, 92268 as kingaku
union all select '2023-10-01' as month, 92497 as kingaku
union all select '2023-09-01' as month, 97088 as kingaku
union all select '2023-08-01' as month, 90638 as kingaku
union all select '2023-07-01' as month, 94618 as kingaku
union all select '2023-06-01' as month, 86588 as kingaku
union all select '2023-05-01' as month, 89107 as kingaku
union all select '2023-04-01' as month, 88332 as kingaku
union all select '2023-03-01' as month, 85065 as kingaku
union all select '2023-02-01' as month, 93729 as kingaku
union all select '2023-01-01' as date, 89948 as kingaku
union all select '2022-12-01' as date, 91569 as kingaku
union all select '2022-11-01' as date, 99694 as kingaku
union all select '2022-10-01' as date, 88603 as kingaku
union all select '2022-09-01' as date, 93704 as kingaku
union all select '2022-08-01' as date, 87939 as kingaku
union all select '2022-07-01' as date, 97971 as kingaku
union all select '2022-06-01' as date, 92000 as kingaku
union all select '2022-05-01' as date, 92871 as kingaku
union all select '2022-04-01' as date, 98079 as kingaku
union all select '2022-03-01' as date, 91397 as kingaku
union all select '2022-02-01' as date, 98102 as kingaku


2. 昨対の値を取得する計算フィールドを作成する。


分析で「periodOverPeriodLastValue」の計算フィールドを追加します。


periodOverPeriodLastValue(sum(kingaku),month,YEAR,1)





上記のように、昨年の日付のデータがない月は(空白)となります。



昨年の金額がある2023/2〜2024/2でフィルターをすると、データが絞り込まれてしまい、正しく計算を行うことはできません。






3. ビジュアルの表示だけを絞り込むための日付の作成


ビジュアルの表示を絞り込むための日付を、計算フィールドで作成を行います。


minOver(min({month}), [{month}])


4. filter_date を利用したフィルターの作成


先ほど計算フィールドで作成を行った日付で、フィルターを行います。





データへのフィルターを行わず、表示上のみフィルターを行うことができました。



注意点

 

あくまでデータ上はフィルターがされず、表示上のフィルターになります。


フィルターによりデータ量を減らしてクイックに分析を可能としている場合には、全データへのアクセスとなるため、分析がクイックにならない場合があるので、注意が必要です。



以上です。


閲覧数:12回0件のコメント

最新記事

すべて表示

データ状態により異なるSQLを実行させたい

はじめに 近頃担当する業務は夜間バッチでのデータ更新処理が多く、特にDWH的にテーブル再構築(TRUNCATE/INSERT)のパターンを多く使用しています。 その中でSQLで処理を組み上げる時、エラー処理などで条件分岐で異なるSQLを実行したくなる事は珍しくありません。 多くのシステムでは呼び出し側でSQLの実行結果を参照し、次に実行するSQLを選択/実行していると思います。 また、SQLだけで

Quick Sightの分析のクロスアカウントコピー

はじめに 今回のブログではQuick Sightで作成した分析をクロスアカウントコピーするための方法を紹介します。 開発環境で作成した分析を本番環境にコピーしたい時などにこの方法が使えるのではないかと思います。 前提 コピー先アカウントとコピー元アカウントで同じ形のデータセットが存在する。 コピー元ではそのデータセットから作られた分析が存在する。 実施環境 今回のブログで紹介する手順はcloud9

Comments


bottom of page