詳細レベルとランク計算の作成

計算フィールドを使用すると、データ ソースに既に存在するデータを使用して新しいデータを作成できます。Tableau Prep Builder では、Tableau Desktop と同じ計算タイプが多数サポートされています。計算の作成に関する一般的な情報については、「Tableau での計算の開始」(Link opens in a new window)を参照してください。

: Tableau Desktop でサポートされている関数の中には、Tableau Prep Builder ではまだサポートされていないものもあります。Tableau Prep Builder で使用できる関数については、計算エディターの関数リストを確認してください。

バージョン 2020.1.3 以降の Tableau Prep Builder では、FIXED 詳細レベル (LOD) と RANK および ROW_NUMBER 分析関数を使用して、より複雑な計算を実行できます。

たとえば、FIXED LOD 計算を追加してテーブル内のフィールドの粒度を変更したり、新しい ROW_NUMBER () 分析関数を使用して重複行をすばやく検索したり、新しい RANK () 関数のいずれかを使用して、類似するデータを持つ選択行の上位 N 個または下位 N 個の値を検索したりできます。これらのタイプの式を作成する際に、より詳しいガイド付きの操作を行いたい場合は、新しいビジュアル計算エディターを使用できます。

詳細レベルの計算

同じ表内で複数の粒度レベルでデータを計算する必要がある場合は、それを行うための詳細レベル (LOD) 式を記述できます。たとえば、各地域の総売上高を検索する場合は、{FIXED [Region] : SUM([Sales])} のような計算を記述できます。

Tableau Prep Builder は FIXED 詳細レベル表現をサポートし、構文 {FIXED [Field1],[Field2] : Aggregation([Field)} を使用します。

LOD 表現の式には 2 つの部分があり、コロンで区切られています。

  • FIXED [フィールド] (必須): 値を計算するフィールドです。たとえば、顧客と地域の総売上高を検索する場合は、FIXED [Customer ID], [Region]: と入力します。フィールドを選択しない場合、コロンの右側で定義された集計を実行して、その値をすべての行に対して繰り返すことになります。

  • Aggregation ([フィールド]) (必須): 計算対象と必要な集計のレベルを選択します。たとえば、総売上高を検索する場合は、SUM([Sales] と入力します。

Tableau Prep Builder でこの機能を使用する場合は、次の要件が適用されます。

  • INCLUDE および EXCLUDE の LOD 表現はサポートされません。
  • 集計計算は LOD 表現内でのみサポートされます。たとえば、SUM([Sales]) は有効ではありませんが、{FIXED [Region] : SUM([Sales])} は有効です。
  • LOD 表現内でネストの式はサポートされません。たとえば、{ FIXED [Region] : AVG( [Sales] ) / SUM( [Profit] )} はサポートされません。
  • LOD 表現と別の式の組み合わせはサポートされません。たとえば、[Sales]/{ FIXED [Country / Region]:SUM([Sales])} はサポートされません。
  • 詳細レベル (LOD) 計算の作成

    詳細レベル計算を作成するには、計算エディターを使用して自分で計算を記述できますが、より詳しいガイド付きの操作を行いたい場合は、ビジュアル計算エディターを使用できます。このビジュアル計算エディターでは、フィールドを選択すれば Tableau Prep Builder が計算を記述してくれます。

    計算エディター

    1. [プロファイル] ペイン ツールバーで [計算フィールドの作成] をクリックするか、プロファイル カードまたはデータ グリッドで [その他のオプション] メニューをクリックし、[計算フィールドの作成] > [カスタム計算] を選択します。

    2. 計算エディターで、計算の名前を入力して式を入力します。

      たとえば、都市別の製品出荷平均日数を検索するには、次のような計算を作成します。

    ビジュアル計算エディター

    リストからフィールドを選択すると、選択に応じて Tableau Prep Builder が計算を作成してくれます。結果のプレビューが左側のペインに表示されるので、選択に応じた結果も途中で確認できます。

    1. プロファイル カードまたは [結果] ペインで、[その他のオプション] メニューをクリックし、[計算フィールドの作成] > [固定 LOD] を選択します。

    2. ビジュアル計算エディターで、次の操作を行います。

      • [グループ化] セクションで、値を計算するフィールドを選択します。[計算フィールドの作成] > [固定 LOD] メニュー オプションを選択したフィールドが、既定で追加されます。プラス アイコンをクリックして、計算に追加フィールドを追加します。これにより、式の左側の {FIXED [Field1],[Field2] : に値が設定されます。
      • [次を使用して計算] セクションで、新しい値の計算に使用するフィールドを選択します。次に、集計を選択します。これにより、式の右側の Aggregation([Field)} に値が設定されます。

        フィールドの下の図では、値の分布と各値の組み合わせの総数が示されます。データのタイプに応じて、ボックス プロット、値の範囲、または実際の値が表示されます。

        : 使用可能な集計値は、フィールドに割り当てられたデータ型によって異なります。

      • フィールドを削除するには、[グループ化] セクションのフィールドのドロップダウン ボックスで右クリック (MacOS の場合は Cmd を押しながらクリック) し、[フィールドの削除] を選択します。

      • 左側のペインで、フィールド ヘッダーをダブルクリックし、計算の名前を入力します。
    3. [完了] をクリックして、新しい計算フィールドを追加します。[変更] ペインに、Tableau Prep Builder によって生成された計算が表示されます。[編集] をクリックすると、ビジュアル計算エディターを開いて変更を加えることができます。

ランクまたは行番号を計算する

分析関数 (ウィンドウ計算と呼ばれることもある) を使用すると、表全体またはデータ セット内の選択行 (パーティション) を対象に計算を実行できます。たとえば、選択行にランクを適用する場合は、次の計算構文を使用します。

{PARTITION [field]: {ORDERBY [field]: RANK() }

  • PARTITION (オプション): 計算を実行する行を指定します。複数のフィールドを指定できますが、表全体を使用する場合、関数のこの部分を省略することで Tableau Prep Builder がすべての行をパーティションとみなします。例: {ORDERBY [Sales] : RANK() }
  • ORDERBY (必須): ランクのシーケンスの生成に使用する 1 つまたは複数のフィールドを指定します。
  • Rank () (必須): 計算するランクの種類または ROW_NUMBER () を指定します。Tableau Prep Builder は RANK()、RANK_DENSE()、RANK_MODIFIED()、RANK_PERCENTILE()、および ROW_NUMBER() 関数をサポートします。
  • DESC または ASC (オプション): 降順 (DESC) または昇順 (ASC) を表します。既定では、ランクは降順で並べ替えられるため、降順を式で指定する必要はありません。並べ替え順序を変更する場合は、式に ASC を追加します。両方のオプションを関数に含めることもできます。たとえば、選択行をランク付けする必要があるが、行を昇順に並べ替えてからランクを降順に適用したい場合は、式にこれら 2 つのオプションを含めます。例: {PARTITION [Country], [State]: {ORDERBY [Sales] ASC,[CUSTOMER] DESC: RANK() }}

Tableau Prep Builder でこの機能を使用する場合は、次の要件が適用されます。

  • RANK () 関数内でネストの式はサポートされません。たとえば、[Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }} / SUM( [Profit] )} はサポートされません。
  • RANK () 関数と別の式の組み合わせはサポートされません。たとえば、[Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }} はサポートされません。

サポートされる分析関数

関数 説明
RANK () 各行に、1 から始まる整数のランクを昇順または降順で割り当てます。複数の行の値が同一である場合、値の最初のインスタンスに割り当てられたランクが共有されます。次の行のランクを計算する際、同じランクの行の数も追加されるため、ランク値が連続しない場合があります。
RANK_DENSE() 各行に、1 から始まる整数のランクを昇順または降順で割り当てます。複数の行の値が同一である場合、値の最初のインスタンスに割り当てられたランクが共有されますが、ランク値はスキップされないため、連続するランク値が表示されます。
RANK_MODIFIED() 各行に、1 から始まる整数のランクを昇順または降順で割り当てます。複数の行の値が同一である場合、値の最後のインスタンスに割り当てられたランクが共有されます。ランク値はスキップされません。Rank_Modified は Rank + (Rank + Number of duplicate rows - 1) として計算されます。
RANK_PERCENTILE() 各行に、0 から 1 までの百分位値のランクを昇順または降順で割り当てます。RANK_PERCENTILE は (Rank-1)/(Total rows-1) として計算されます。
ROW_NUMBER() 一意の行ごとに、連続する行 ID を割り当てます。重複する行がある状態でこの計算を使用すると、行の順序が変わっていれば、フローを実行するたびに結果が変化する可能性があります。

ランク計算または行番号計算を作成する

ランク計算または行番号計算を作成するには、計算エディターを使用して自分で計算を記述できますが、より詳しいガイド付きの操作を行いたい場合は、ビジュアル計算エディターを使用できます。このビジュアル計算エディターでは、フィールドを選択すれば Tableau Prep Builder が計算を記述してくれます。

: ROW_NUMBER () 計算は、ビジュアル計算エディターでは使用できません。

計算エディター

計算エディターを使用して、いずれかのサポートされる RANK () または ROW_NUMBER () 計算を作成します。サポートされる分析計算の一覧は、計算エディターで [分析] の下にある [参照] ドロップダウンに表示されます。

  1. [プロファイル] ペイン ツールバーで [計算フィールドの作成] をクリックするか、プロファイル カードまたはデータ グリッドで [その他のオプション] メニューをクリックし、[計算フィールドの作成] > [カスタム計算] を選択します。

  2. 計算エディターで、計算の名前を入力して式を入力します。

    たとえば、最新の顧客注文を検索するには、次に示すような計算を作成し、番号 1 でランク付けされた顧客注文行のみを保持するようにします。

: ROW_NUMBER を使用して重複値を検索して削除する

"Superstore (スーパーストア)" サンプル データ セットを使用するこの例では、ROW_NUMBER 関数を使用して、フィールド [Row ID (行 ID)] の値が完全に重複するものを検索して削除します。

  1. "Sample Superstore (サンプル スーパーストア)" フローを開きます。

  2. [フロー] ペインで、[Orders West (オーダー西)] のインプット ステップとして、クリーニング ステップ [Rename States (都道府県名の変更)] をクリックします。

  3. ツールバーで [計算フィールドの作成] をクリックします。

  4. 計算エディターで ROW_NUMBER 関数を使用します。式 {PARTITION [Row ID]: {ORDERBY[Row ID]:ROW_NUMBER()}} を使用して [Row ID (行 ID)] フィールドに行番号を追加し、[保存] をクリックします。

  5. 新しい計算フィールドで、フィールド値 1 を右クリック (MacOS の場合は Cmd を押しながらクリック) し、メニューから [保持] を選択します。

ビジュアル計算エディター

詳細レベル計算を作成するときと同様に、ビジュアル計算エディターを使用してランク計算を作成できます。計算に含めるフィールドを選択し、行のランク付けに使用するフィールドと計算するランクのタイプを選択します。結果のプレビューが左側のペインに表示されるので、選択に応じた結果も途中で確認できます。

  1. プロファイル カードまたは [結果] ペインで、[その他のオプション] メニューをクリックし、[計算フィールドの作成] > [ランク] を選択します。

  2. ビジュアル計算エディターで、次の操作を行います。

    • [グループ化] セクションで、値を計算する行のフィールドを選択します。これにより、計算のパーティション部分が作成されます。

      プラス アイコンをクリックして、計算に追加フィールドを追加します。すべての行を含める場合、または選択したフィールドを削除する場合は、[グループ化] セクションのフィールドのドロップダウン ボックスを右クリック (MacOS の場合は Cmd を押しながらクリック) し、[フィールドの削除] を選択します。

    • [並べ替え] セクションで、新しい値のランク付けに使用するフィールドを選択します。 [計算フィールドの作成] > [ランク] メニュー オプションを選択したフィールドが、既定で追加されます。

      プラス アイコンをクリックして計算に追加フィールドを追加し、[ランク] タイプを選択します。並べ替えアイコン をクリックして、ランクの順序を降順 (DESC) から昇順 (ASC) に変更します。

      : ランク値は、フィールドに割り当てられたデータ型によって異なります。

    • 左側のペインで、フィールド ヘッダーをダブルクリックし、計算の名前を入力します。

  3. [完了] をクリックして、新しい計算フィールドを追加します。[変更] ペインに、Tableau Prep Builder によって生成された計算が表示されます。[編集] をクリックすると、ビジュアル計算エディターを開いて変更を加えることができます。

 

ありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください