Tableau Prep Builder 2020.1.3 新機能紹介:計算フィールドでFIXEDが使えるようになりました。

2020.03.12

こんにちは。データアナリティクス事業本部のまつおかです。

現在Tableau Prep Builderはバージョン2020.1.4までリリースされていますが、今回は2020年3月3日にリリースされた2020.1.3の新機能であるLOD(Level of Detail:詳細レベル)表現の使用についてご紹介します。Tableau DesktopではおなじみのLOD表現ですが、その中の「FIXED」がついにPrepでも使えるようになったのです!

概要

今までデータの一部で粒度の調整が必要となった場合、例えば「顧客別の初回オーダー日」を追加したいといった際は、一度集計ステップを経由し、顧客別でグループ化して最小のオーダー日を算出した結果と、元のデータソースを結合する方法で実現していました。

これがLOD表現の中の「FIXED」の使用が可能になったことで、クリーニングステップの中で計算フィールドを作成するだけで簡単に追加することができるようになりました。

やってみた

使用環境

今回のフロー作成に使用した環境は以下です。

  • Windows 10 Pro
  • Tableau Prep Builder 2020.1.4

データソースにはTableau Desktopをインストールするとデフォルトで付いているサンプルデータ「スーパーストア」を使用しています。

計算フィールドの作成

LOD表現を使用し「顧客別の初回オーダー日」を追加してみます。

項目作成はクリーニングステップの中で行います。作成には計算エディターを使用して自身で計算式を作成する方法と、条件を指定するとPrepが代わりに計算式を作成してくれるビジュアル計算エディターを使用する方法の2通りがあります。

計算エディターで計算式を入力し作成する場合

プロファイルペインのツールバーにある「計算フィールドの作成」をクリックして計算エディターを開き、以下の計算式を入力します。

{ FIXED [顧客 ID]:MIN([オーダー日])}

左下に「計算は有効です」と表示されているのを確認してから[保存]ボタンをクリックします。
これで計算フィールドが追加されました。

ビジュアル計算エディターで作成する場合

プロファイルカードの右にある[・・・](その他のオプション)をクリックし、[計算フィールドの作成]>[固定LOD]を選択すると、ビジュアル計算エディターが開きます。

各項目は次のように設定をします。

  • [グループ化]セクション:
    「顧客ID」を選択します。ここはエディターを開く際に選択したフィールドがデフォルトで表示されており、[グループ化]の右にある「+」アイコンをクリックすることで、更にグループ化したい項目を追加することができます。削除する場合は右クリック(Macの場合はCmdキーを押しながらクリック)し「フィールドの削除」を選択します。

  • [次の方法で計算]セクション:
    「オーダー日」を選択し、左に表示される集計方法に「MIN」を指定します。

[完了]をクリックすると計算フィールドが追加され、式が作成されているのがわかります。項目名は自動で付与されますので、フィールド追加後に変更してください。

作成した項目を確認

上記2つの方法で作成した項目のデータを確認してみましょう。当たり前ではありますが、どちらの方法で作成した項目も結果は同じです。

一人の顧客に絞って見てみると「顧客別_初回オーダー日」には全ての行に初めてオーダーした日が入っているのがわかります。

これでLOD表現を使用した項目の作成ができました!

仕様に関する注意点

  • Tableau Prep Builderで使用できるLOD表現は「FIXED」のみです。「INCLUDE」および「EXCLUDE」は使用することができません。

  • 「SUM」や「MIN」などの集計計算はLOD表現内でのみ使用が可能です。計算フィールドで「MIN(オーダー日)」と記述しても無効ですが、「{ FIXED [顧客 ID]:MIN([オーダー日])}」は有効になります。

  • { FIXED [顧客 ID]: MAX([オーダー日])-MIN([オーダー日])}」のような、LOD表現内でのネストはサポートされていません。

  • [利益]/{ FIXED [顧客 ID]: SUM([利益])}」のように、LOD表現を他の式と組み合わせることはできません。

さいごに

今までのTableau Prep Builderの計算フィールドは1行単位での計算のみ可能でしたが、LOD表現が使用できることにより複数行を対象とした計算が可能になりました。これによりステップを減らしシンプルでわかりやすいフローにすることができますね。噂には聞いていましたが非常に便利な機能です!