LoginSignup
1
0

【MicroStrategy】Lag関数で同列に前月値、前年同月値を表示する方法

Last updated at Posted at 2022-12-07

Lag関数を用いて前月値、前年同月値を表示する方法について

はじめに

本記事がQiita初投稿になります。
今回はMicroStrategyで前月値や前年同月値を表示する方法、Lag関数の使用方法についてまとめていきたいと思います。
設定後の出力結果はこちら

使用環境と前提

今回はドシエを使用するため、すべてブラウザ上で作業しています。

本記事では以下のダミーデータを使用しています。

 商品   年月   金額 
A 202107 1000
A 202108 2500
A 202109 3500
A 202207 2000
A 202208 3000
A 202209 4500
B 202107 900
B 202108 1750
B 202109 2800
B 202207 1800
B 202208 2100
B 202209 3600
C 202107 1100
C 202108 3000
C 202109 3850
C 202207 2400
C 202208 3300
C 202209 5400

※使用する関数の都合上、データは連続した年月のもの

事前にドシエに商品、年月ごとに金額を表示するグリッドを作成しておきます。
image.png

作業の流れ

以下手順で必要なアトリビュート、メトリックを作成していきます。
1.年月アトリビュートから派生させて、月、年のアトリビュートを作成する〈事前準備〉
2.手順1の派生アトリビュートを用いて、前月値を表示するメトリックを作成〈本題、Lag関数の設定〉
3.手順2と同様に前年同月値を表示するメトリックを作成〈本題、Lag関数の設定〉

作業手順〈事前準備〉

1.年月アトリビュートから派生させて、月、年のアトリビュートを作成する

後述のLag関数で前月、前年を指定するために月と年の独立したアトリビュートが必要なので、年月アトリビュートからそれぞれ派生アトリビュートとして作成します。

1-1.月アトリビュート

年月アトリビュートから、月部分を抜き出します。

SubStr(年月@ID, 5, 6)

 
※関数エディタで以下のように設定も可能
image.png

1-2.年アトリビュート

月アトリビュートと同様に、年月アトリビュートから、年部分を抜き出します。

LeftStr(年月@ID, 4)

 
※関数エディタで以下のように設定も可能
image.png

グリッドに月、年のアトリビュートを追加表示させた結果は以下です。
image.png

作業手順〈本題、Lag関数の設定〉

2.手順1の派生アトリビュートを用いて、前月値を表示するメトリックを作成

必要なオブジェクトがそろったので、本題に入ります。
商品、年毎に月アトリビュートを基準に1つ前の金額を表示するよう、Lag関数を用いて作成します。

Lag関数とは?

以下5つを設定して、指定した順序でメトリック値を表示する関数です。
ValueList:表示させたいメトリック ※選択肢はデータセット内のメトリック
Offset:並べ替えで指定したものに対し、いくつ前を表示するか
DefaultValue:初期値
区切り(BreakBy):並べ替えの区切りとなるもの
並べ替え(SortBy):基準となるもの

⇒今回は商品、年毎 [BreakBy] 月アトリビュートを基準 [SortBy] にし、1つ前 [Offset] 金額メトリックの数値 [ValueList] を、データがない場合は0 [DefaultValue] を表示させたいので、以下のように設定します。

Lag<BreakBy={商品, 年}, SortBy=(月@ID)>(金額, 1, 0)

 
※関数エディタで以下のように設定も可能
image.png

3.手順2と同様に前年同月値を表示するメトリックを作成

手順2と同様に、商品、月毎に年アトリビュートを基準に1つ前の金額を表示するよう、Lag関数を用いて作成します。

商品、月毎 [BreakBy] 年アトリビュートを基準 [SortBy] にし、1つ前 [Offset] 金額メトリックの数値 [ValueList] を、データがない場合は0 [DefaultValue] を表示させたいので、以下のように設定します。

Lag<BreakBy={商品, 月}, SortBy=(年@ID)>(金額, 1, 0)

 
※関数エディタで以下のように設定も可能
image.png

出力結果

image.png

おわりに

今回は前月値や前年同月値を表示する方法について記載しました。
別記事になりますが使用時の注意点について以下にまとめていますので、こちらもご参照いただければと思います。

MicroStrategyには他にも関数が用意されているので、今後も投稿したいと思います。

株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください:
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area

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