パラメータ等を使った、動向分析について教えてください。

株主の動向分析をしたいと思ってます。
データは半期(4月と10月)ごとの時点データです。<-確定基準年月日
例えば、
2023年4月時点で100株購入した株主が何人いるか?前回確定基準年月日が空欄の株主、
その後
2023年10月に
・100株を保有し続けてる株主が何人いるか?
・100株すべてを売却した株主が何人いるか?
・100株から増やした株主が何人いるか?
・100株から減らした株主が何人いるか?
同じように
2024年4月、2024年10月・・・と指定した期間で動向推移を見たい。
また、購入株数(100、200、1000など)も指定した株数で動向推移を見れるようにしたい。これはリストで固定で選択できれば良いです。
どのように設定すると実現できるか教えてほしい。

日付は年月日で持っています。20230331、20230930・・・
株数は1株単位のため、1~99株を100以下、100~199株を100株

検索開始日付~検索終了日付 ← 確定基準年月日を使用してリスト選択したい。
基準株数(100、200、300・・・30,000など)

データを展開できないため、文字だけの説明になりますが、よろしくお願いします。

以下のようなダミーデータを作り試してみました。

データ

shareholder_id,record_date,shares
S0001,20230331,100
S0001,20230930,100
S0001,20240331,100
S0001,20240930,100
S0001,20250331,100
S0001,20250930,100
S0002,20230331,100
S0002,20230930,0
S0002,20240331,0
S0002,20240930,0
S0002,20250331,0
S0002,20250930,0
S0003,20230331,100
S0003,20230930,200
S0003,20240331,200
S0003,20240930,300
S0003,20250331,300
S0003,20250930,300
S0004,20230331,200
S0004,20230930,100
S0004,20240331,100
S0004,20240930,100
S0004,20250331,100
S0004,20250930,100

作成手順

  1. データセット作成
    ファイルをアップロードし、record_dateを日付型に変換します

  2. 計算式を3つ作成
    名前:prev_shares

lag(
  sum({shares}),
  [{record_date} ASC],
  1,
  [{shareholder_id}]
)

名前:movement

ifelse(
  {prev_shares} = 0 AND sum({shares}) > 0, '新規購入',
  {prev_shares} > 0 AND sum({shares}) = 0, '全売却',
  sum({shares}) = {prev_shares},           '維持',
  sum({shares}) >  {prev_shares},          '増加',
  sum({shares}) <  {prev_shares},          '減少',
  '不明'
)

名前:prev_bucket

ifelse(
  {prev_shares} = 0,                          '0(前回なし)',
  {prev_shares} >= 1   AND {prev_shares} < 100,  '100以下',
  {prev_shares} >= 100 AND {prev_shares} < 200,  '100',
  {prev_shares} >= 200 AND {prev_shares} < 300,  '200',
  {prev_shares} >= 300 AND {prev_shares} < 400,  '300',
  {prev_shares} >= 500 AND {prev_shares} < 600,  '500',
  {prev_shares} >= 1000 AND {prev_shares} < 1100,'1000',
  {prev_shares} >= 30000 AND {prev_shares} < 30100,'30000',
  'その他'
)
  1. ピポットテーブルで可視化

この方式の注意点は以下のとおりです。

  • 全売却した株主は行自体が存在しないので「全売却」をカウントできないため、保有株0のレコードを作成する必要があります

ありがとうございます。
ピボットテーブルを作成する際に期間を任意に設定して、表示させることは可能ですか?
作成した頂いたダミーデータを参考にさせていただくと
20230331~20250331や20230331~20240930、20230930~20250930など
ユーザーで指定した期間での推移を表示させたい。
また、基準となる枚数を100や200・・・などこちらもユーザーがリストから任意で指定して、
表示をさせたい。

私の説明がヘタなため、お手間をかけてしましますが、よろしくお願いします。

日付の範囲指定は、フィルターにて実現可能です。

基準値を変更するのは、データそのものを更新することになるので、Quick Sightの中で行うことはできません。指定した基準値でデータセットを更新する仕組みを別途作成する必要があります。