BI (Amazon QuickSight) の構成

この章ではBI (Amazon QuickSight) のセットアップを行います。


  • 画面左上の[サービス] をクリック
  • サービス検索窓に[quicksight]と入力
  • [QuickSight] が表示されるのでクリックして選択

  • QuickSightのコンソール画面が表示されます
  • [Sign up for QuickSight] をクリック

  • QuickSightのプランを選択します
  • 今回は[Standard] を選択します

  • 画面最下部の[Continue]をクリック

  • Select a region のプルダウンで、[Asia Pacific(Tokyo)] を選択

  • そのまま[OK]をクリック

  • QuickSightアカウント名を入力する
    • mdv-handson-xx (xxは各自に割り振られたIDを入れてください)
  • 通知のEメールアドレス
    • ご自身のメールアドレスを入力してください
  • 最後に[完了]をクリック


  • アカウント作成の画面が表示されるので数十秒待ちます

  • サインアップ完了画面が表示されたら[Amazon QuickSightに移動する]をクリック

  • QuickSight紹介ポップアップが出るので、[閉じる]をクリック

  • QuickSightの画面が表示されることを確認します

データの準備

  • 以降の手順にてRedshiftに入っている レセプト/DPCデータ をQuickSightに認識させます —
  • 画面左のメニューバーの[データセット]をクリック

  • 画面右上の[新しいデータセット]をクリック

  • [Redshift 自動検出] をクリック

  • ポップアップされた画面で下記の通り設定する
    1. データソース名:mdv-handson-xx (xxは各自の番号)
    2. インスタンスID:プルダウンから選択(1つしか出てきません)
    3. ユーザー名: handsonuser
    4. パスワード: Aws12345 (Aだけ大文字)
    5. 検証をクリック
    6. [データソースを作成] をクリック

  • [スキーマ]のプルダウンをクリック
  • [handson] をクリック

  • 表示されたテーブルから下記を選択
    • d1901aws_handson_02_actdata
    • 秘匿化された患者のレセプトのレコードとなります
  • [データの編集/プレビュー]をクリック

  • 画面左上の[SPICE]を選択
    • 高速な処理を実現するため、インメモリエンジンであるSPICEを選択します
  • 次に[データを追加]をクリック
    • 別なテーブルとJoinを行う設定をします

  • 下記のテーブルを選択します
    • d1901aws_handson_m_drug_flu
    • このテーブルは抗インフルエンザ薬の属性についてのテーブルとなります

  • 2つのテーブルをレセプトコード(receiptcode)にてJoinします
    1. テーブルとテーブルの間の赤丸をクリック
    2. 左のテーブルの結合句を receiptcode に指定
    3. 同じく右のテーブルの結合句を receiptcode に指定
    4. 結合タイプを Left Join に指定
    5. 最後に [適用] をクリック

  • 次に今回想定しているユースケースである 抗インフルエンザにデータを絞るためフィルタします
    1. 画面左下の [フィルタの追加] をクリック
    2. [atccode] を選択
      • 似たカラムに actdate があるので、誤って選択しないように注意

  • フィルタする内容を設定します
    1. atccode をクリック
    2. リストに抗インフルエンザ薬のコードである J05B4 を入力
    3. クリックして適用


  • テーブルの結合により重複したカラムがあるので削除します
    1. 画面左上の[フィールド]をクリック
    2. 左のペインから重複している下記カラムの2つのチェックボックスを外す
      • receiptcode[d1901aws_handson〜]
      • receiptname[d1901aws_handson〜]


  • 計算フィールドを作ります(テーブルにない下記2つのカラムを計算式にて作成します)
    • nyuinDuration
      • 入院期間(= 退院日ー入院日)
    • ageRange
      • 年齢層(0-99歳となっているのを5歳刻みで表示するため)
  • まずは画面左上の[計算フィールドを追加]をクリック

  • 最初に入院期間の計算フィールドを編集します

    1. 計算フィールド名:[nyuinDuration] を入力
    2. 計算式:下記をコピー&ペーストする
    3. 関数:[ceil]を検索して選択する
    4. [保存]をクリック

      dateDiff({admittingdate},{dischargingdate})
      


  • 計算フィールドに nyuinDuration のカラムが出来たことを確認します

  • 次に年齢層の計算フィールドを作りますので、再度 [計算フィールドを追加] をクリック

  • 下記の設定にて年齢層の計算フィールドを作ります

    1. 計算フィールド名:[ageRange] を入力
    2. 計算式:下記をコピー&ペーストする
    3. 関数:[addDateTime] を検索して選択する
    4. [保存] をクリック

      ifelse({age} <=4, '00-04', {age} >= 5 AND {age} <= 9, '05-09',{age} >= 10 AND {age} <= 14, '10-14', {age} >= 15 AND {age} <= 19, '15-19', {age} >= 20 AND {age} <=24 , '20-24' , {age} >= 25 AND {age} <= 29 , '25-29' , {age} >= 30 AND {age} <= 34 ,'30-34', {age} >= 35 AND {age} <= 39 , '35-39' , {age} >= 40 AND {age} <= 45 , '40-44' , {age} >= 45 AND {age} <=49 , '45-49' , {age} >= 50 AND {age} <= 54 , '50-54' , {age} >= 55 AND {age} <= 59 , '55-59' ,{age} >= 60 AND {age} <= 64 , '60-64' ,{age} >= 65 AND {age} <= 69 , '65-69' ,{age} >= 70 AND {age} <= 74 , '70-74' ,{age} >= 75 AND {age} <= 79 , '75-79' ,{age} >= 80 AND {age} <= 84 , '80-84' ,{age} >= 85 AND {age} <= 89 , '85-89' ,{age} >= 90 AND {age} <= 94 , '90-94' ,{age} >= 95 AND {age} <= 99 , '95-99' , 'over100' )
      


  • 画面左上の計算フィールドに [ageRange] が作られたことを確認

  • データの準備作業が完了しましたので、最後にこのデータセットに対して名前をつけて保存します
    • 画面上部に [mdv-handson-xx]を入力
    • その隣の[保存して視覚化]をクリック

  • 準備した内容に従って、データがQuickSightに用意されます
  • 今回はQuickSightのインメモリによる高速処理機能であるSPICEエンジンを利用しているため、そのロードに数分かかります
    • SPICEエンジンにより初回ロードの時間はかかりますが、以降の作業は非常に高速に行われます
    • またSPICEエンジンは人が都度ロードするのではなく定期的に自動でリフレッシュするような自動化も可能です


  • 下記の表示がされればインポート完了です
    • 「100% が成功しました」
    • 「128701行がSPICEにインポートされました」

以上で環境の構築、データの準備が揃いました。

それでは早速、BI(Amazon Quicksight)の機能を使い洞察得ていきましょう!


次の手順にすすみます。画面右端の [>]をクリックして進んでください。