ナレッジベース

表計算を使用する計算フィールドによるディメンションの並べ替え


発行: 03 Jun 2014
最終修正日: 20 Jul 2023

ご質問

表計算を使用する計算フィールドによるディメンションの並べ替え方法。

環境

Tableau Desktop

回答

表計算を使用するフィールドは現在、既定の並べ替えオプションで利用できません。一般に、表計算によってビューを並べ替えるには、表計算のコピーを不連続フィールドとして行シェルフの最初の位置に配置し、それを非表示にします。

表計算では多くのカスタマイズが可能なため、必要なソリューションは元のビューによって異なります。 以下の手順では、"Superstore (スーパーストア)" サンプル データ セットを使用して、単純な方から順に 3 つの例を見ていきます。これらの手順については、この記事の右側のペインからダウンロード可能な "Sorting by Table Calc_v2022.1.twbx" ワークブックで説明しています。

例 1: 合計売上高に対する割合でサブカテゴリーを並べ替える

これらの手順は "Example 1: sort by % of total sales (例 1: 合計売上高に対する割合で並べ替える)" ビューから始まります。"Example 1: sort by % of total sales (例 1: 合計売上高に対する割合で並べ替える)" ビューの作成手順は、添付のワークブックに含まれています。
  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログ ボックスで次の操作を実行し、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに "% of total sort order (合計に対する割合の並べ替え順序)" という名前を付けます。
    2. 列シェルフにある三角形のアイコンが付いた緑色の [SUM(Sales) (SUM(売上高))] フィールドを計算エディターへドラッグします。Tableau により、簡易表計算の式が書き出されます。
    3. オプション: 最終的なビューで降順になるよう、生成された式に -1 を掛けます。
  3. 左側のデータ ペインで [% of total sort order (合計に対する割合の並べ替え順序)] を右クリックし、[不連続に変換] を選択します。
  4. [% of total sort order (合計に対する割合の並べ替え順序)] を、行シェルフの最初の位置までドラッグします。
  5. 行シェルフで [% of total sort order (合計に対する割合の並べ替え順序)] を右クリックし、[ヘッダーの表示] をオフにします。

例 2: 最近の年の差の割合の売上高でサブカテゴリーを並べ替える

これらの手順は "Example 2: sort by 2015 % Difference (例 2: 2015 年の差の割合で並べ替える)" ビューから始まります。"Example 2: sort by 2015 % Difference (例 2: 2015 年の差の割合で並べ替える)" ビューの作成手順は、添付のワークブックに含まれています。
  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログ ボックスで次の操作を実行し、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに "Most recent Year % Diff Sort Order (最近の年の差の割合の並べ替え順序)" という名前が付いています。
    2. 次の IF THEN ステートメントを記述します。
      WINDOW_SUM(
          IF LAST() = 0
          THEN 
      
          END
      )

      この IF THEN ステートメントは、ビューの最後の列までフィルターします。WINDOW_SUM() 関数は、サブカテゴリー内のすべての年について、同じフィルターされた値を返します。
    3. [ラベル] にある三角形のアイコンが付いた緑色の [SUM(Sales) (SUM(売上高))] フィールドを、計算エディターの "THEN" と "END" の間にドラッグします。Tableau により、簡易表計算の式が書き出されます。
    4. オプション: 最終的なビューで降順になるよう、式全体に -1 を掛けます。
  3. 左側のデータ ペインで [Most recent Year % Diff Sort Order (最近の年の差の割合の並べ替え順序)] を右クリックして、[不連続に変換] を選択します。
  4. [Most recent Year % Diff Sort Order (最近の年の差の割合の並べ替え順序)] を、行シェルフの最初の位置までドラッグします。
  5. 行シェルフで [Most recent Year % Diff Sort Order (最近の年の差の割合の並べ替え順序)] を右クリックし、[ヘッダーの表示] をオフにします。


例 3: ユーザーが選択した年の合計売上高に対する割合でサブカテゴリーを並べ替える

これらの手順は "Example 3: sort by selected % of Total (例 3: 合計に対する選択した割合で並べ替える)" ビューから始まります。"Example 3: sort by selected % of Total (例 3: 合計に対する選択した割合で並べ替える)" ビューの作成手順は、添付のワークブックに含まれています。
  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログ ボックスで次の操作を実行し、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに「Year of Order Date (注文日の年)」という名前が付けられています。
    2. 式フィールドで、次のような計算を作成します。
      DATEPART('year', [Order Date])
  3. 左側のデータ ペインで [Year of Order Date (注文日の年)] を右クリックし、[作成] > [パラメーター…] を選択します。
  4. [パラメーターの作成] ダイアログで、次の操作を行い、[OK] をクリックします。
    1. パラメーターに名前を付けます。この例では、パラメーターに "Select a Year to Sort View (ビューを並べ替える年を選択)" という名前を付けています。
    2. [表示形式] ドロップダウンで [数値 (カスタム)] を選択し、小数位を 0 にし、[桁区切り記号を含める] をオフにします。 
    3. [ワークブックが開いている場合] を選択し、ドロップダウンで [Year of Order Date (注文日の年)] を選択します。
  5. "% of total (合計に対する割合)" という名前の計算フィールドを作成し、[ラベル] にある三角形のアイコンが付いた緑色の [SUM(Sales) (SUM(売上高))] フィールドを計算エディターにドラッグします。Tableau により、簡易表計算の式が書き出されます。
  6. "Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)" という名前で、次のような式の計算フィールドを作成します。
    -1 *
    WINDOW_SUM( 
        IF MIN(YEAR([Order Date])) = [Select a Year to Sort View]
        THEN [% of total]
        END
    )

    -1 を掛けると、最終的なビューで降順の並べ替え順序になります。
  7. 左側のデータ ペインで [Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)] を右クリックして、[不連続に変換] を選択します。
  8. [Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)] を、行シェルフの最初の位置までドラッグします。
  9. 行シェルフで [Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)] を右クリックし、[表計算の編集...] を選択します。
  10. [表計算] ダイアログで、次を実行してからダイアログを閉じます。
    1. [ネストされた計算] ドロップダウンで、[% of total (合計に対する割合)] を選択します。
    2. [次を使用して計算] で、[表 (下)] を選択します。
      注: [Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)] 内で参照される [% of total (合計に対する割合)] フィールドは、ビューでの簡易表計算とは異なる方法で計算される可能性があるため、合計に対する割合が同じように計算されることを保証する必要があります。
  11. 行シェルフで [Selected Year % of Total Sort Order (選択した年の合計に対する割合の並べ替え順序)] を右クリックし、[ヘッダーの表示] をオフにします。

 

詳細情報

最終的な目標は、ビューを並べ替えるための値を返す計算フィールドを作成することです。
  • 例 1 は、行シェルフに 1 つのディメンションしかない単純な棒グラフを並べ替える方法を示しています。
  • 例 2 は、ハイライト表のすべての行を最後の列の値で並べ替えます。並べ替え順序の計算では、2015 年の差の割合の売上高のみを返す必要がありますが、同じ行のすべての年について 2015 年の値を返す必要があります。それ以外の場合、各年は個別に並べ替えられます。
  • 例 3 も、特定の列の値でハイライト チャートを並べ替えますが、今回、ビューの表計算は、並べ替え順序を作成するために使用される表計算とは異なる方法で計算されます。これには、正しい結果を得るための設定を使用して高度な計算を設定する必要があります。

ディメンションから作成されたヘッダーのツールヒントには、そのビューに表計算が含まれている場合でも、並べ替えアイコンが含まれます。ただし、このオプションでは、現在の値に基づいて手動並べ替えが作成されます。ヘッダーのツールヒントから作成された並べ替えは、データが更新されても更新されません。

異なる方法での表計算によって異なる結果が得られるしくみについては、「表計算での値の変換」および「ネストされた表計算」を参照してください。
この記事で問題は解決しましたか?