コラム詳細

SUMIF関数の代わりに使えるTableauの機能とは?

2024年01月26日

  • Tableau
  • 使い方

はじめに
セラクCCCのSalesforce推進部Tableau担当のUです。プログラムやソフトウェアごとに使用できる関数に差異があるため、Tableauでデータ分析する際にはExcelで使っていた関数を使えずに困ることがあります。そこで本記事では、Excelで利用頻度の高いSUMIF関数やSUMIFS関数の代わりに、Tableauで利用できる機能をご紹介します。

 

SUMIF関数とは

SUMIFはExcelで利用頻度が高い便利な関数です。合計を求める「SUM」と条件を設定する「IF」を組み合わせた関数であり、条件に一致するレコードを合計します。

 

SUMIF関数の数式に登場する引数は3つです。「検索範囲」で検索するセルの範囲を、「検索条件」で文字列や数値・日付といった形式で条件を、さらに「合計範囲」で合計するセルの範囲を指定します。Excel上で1つの項目が複数の列にまたがって存在する場合には、「検索範囲」と「合計範囲」も複数の列にまたがって指定します。指定範囲内に関係ない項目が含まれていても問題ありません。

 


<SUMIF関数を使った数式の構造と引数>

 


<ExcelでのSUMIF関数利用のイメージ>

 

SUMIF関数とSUMIFS関数の用途

SUMIF関数は単純にレコードすべてを合算するのではなく、「ある企業の取引合計金額」や「特定商品の売上総額」など条件に一致するレコードを合算します。
SUMIFS関数はSUMIF関数に似ていますが、「先月の商品Aと商品Bの売上合計」や「企業Cの前期取引合計金額」といった、複数の条件にすべて一致するレコードの合算に使われます。

 

Tableauで利用できる数式での代替

『Tableau Desktop』では、ExcelでSUMIF関数やSUMIFS関数が担っていた計算を、IF関数やIIF関数を利用した数式で代替できます。

 

IIF関数でのSUMIF関数代替

IIF関数は条件を満たしているかどうかを確認し、TRUEとFALSEの場合に異なる値を返します。IIF関数は「真」「偽」のシンプルな条件分岐を設定する場合に有用です。

 

・【参考】SUMIF関数を利用したExcelの数式
SUMIF(検索範囲,検索条件,合計範囲)

 

・SUMIF関数の代わりにIIF関数を利用したTableauの数式
SUM (
IIF ( 検索条件 , [集計項目] , 0 )
)

 

IF関数でのSUMIFS関数代替

IF関数は[THEN]や[ELSEIF]句を利用できるため、IIF関数よりも複雑な条件分岐の際に便利です。

 

・【参考】SUMIFS関数を利用したExcelの数式
SUMIFS(合計範囲, 検索範囲1, 検索条件1, 検索範囲2, 検索条件2)

 

・SUMIFS関数の代わりにIF関数を利用したTableauの数式
SUM(
IF 検索条件1
AND 検索条件2
THEN [集計項目]
ELSE 0
END
)

 

Tableauで利用するIF関数とIIF関数の違い

IF関数を利用した数式は、カッコ内の数値を合算する「SUM()」の内部に「IF条件」を組み込み、「IF~END」で括った内部は「条件 THEN [集計項目] ELES 0」という構造です。条件に合致したレコードは[集計項目]の値を、条件に当てはまらないレコードの[集計項目]は「0」として、すべてのレコードの[集計項目]を合算しています。ExcelでのSUMIF関数は条件に合致するレコードを選択して合算するため、計算内容は異なりますが、計算結果は等しくなります。
IF関数とIIF関数について、「条件式の真偽が判定できない場合」の処理が異なる点には注意が必要です。IF関数では「IF条件」に合致していないと、判定できなくとも「偽」として扱われます。一方でIIF関数では、条件式の真偽が判定できない場合は「どちらでもない=NULL」と判断されるため、結果が異なる点には注意が必要です。

 

SUMIF関数の代わりに使える「フィルター」「LOD表現」「合計値表示」

Excelでグラフを作成する際には、グラフ化する範囲をセル単位で指定する必要があるため、グラフ作成の前にSUMIF関数を利用して必要な項目を計算しておく工程が不可欠です。しかしTableauではデータ抽出の際だけでなく、グラフを作成した後でもデータの絞り込みや粒度変更ができます。Tableau Desktopには、データの絞り込みや粒度変更のために、数式以外にも複数の機能が用意されています。
ExcelでSUMIF関数を使っていた作業に対応するTableau Desktopの機能は複数存在するため、Tableauで分析をする際には、あらためて目的を明確化してから最適な機能を選択しましょう。

 

フィルター 機能によるデータの絞り込み

Tableau Desktopには、対象範囲や使用タイミングが異なる複数のフィルター機能があります。
グラフを作成する前に「利用するデータを絞り込む」フィルターは2種類です。[抽出フィルター]はデータを抽出する際に利用できますが、データソースにライブ接続している場合には利用できません。[データソースフィルター]は、ワークブックに読み込んだデータ全体に適用されるため、すべてのシートに影響があります。
ほかにも、グラフを作成した後で利用できる複数のフィルターがあります。[コンテキストフィルター]はワークシートごとに設定できるフィルターです。[ディメンションフィルター]は、ディメンションフィールドを使用して特定のカテゴリに関連するデータを絞り込めます。また[メジャーフィルター]は、メジャーフィールドを使用して特定の数値範囲に関連するデータを絞り込めます。
たとえば「製品ごとの利益データをグラフ化する際に、直近3年分に絞り込む」といった場合に、フィルター機能は便利です。

 

LOD表現(詳細レベル表現)よる粒度変更

LOD(Level of Detail)表現は[詳細レベル表現]とも呼ばれ、データソースやグラフの粒度をコントロールする機能です。Tableau Desktopではグラフが自動生成される際にこのLOD(粒度)も自動決定されますが、粒度を手動で変更する場合はLOD計算を利用します。
LOD表現には、現在のディメンションより粒度を細かく変更するINCLUDE、粒度を大きく変更するEXCLUDE、現在のディメンションに関係のない新たな粒度を設定するFIXEDの3種類があります。
「日ごとの売上から月ごとの売上」のように粒度を変更する際にLOD表現は便利です。

 

合計値の表示

Tableau Desktopには、数式で合計値を求める以外に、画面左の[アナリティクス]ペインの[合計]をドラッグ&ドロップして、[列]の合計や[行]の合計、[すべての小計]を表示する機能があります。また[メニュー]の[分析]、[合計]からも操作できます。
グラフ化の準備ではなく、Excelで合計値を求めるためにSUMIF関数を利用していた場合、この機能が便利です。

 

『Tableau Prep』で条件を絞って集計する方法

Tableau Desktopでの分析前に、『Tableau Prep』で利用データを抽出・加工している場合、同時に使うデータを絞り込むと効率的です。Tableau Prepの画面上部には[フローペイン]という領域があり、設定したデータクリーニング作業がフロー形式で表示されます。作成済みのフローはコピーして再利用可能なため、一度設定してしまえば使いまわせる点も便利です。

 


<『Tableau Prep』画面のフローペイン>

 

しかしTableau Prepでは、『Tableau Desktop』や『Tableau Cloud』、『Tableau Server』といった製品とは異なり、SUM関数を利用できません。Tableau Prepでは、入力ステップ[+]から[Σ集計]を選択して設定を開始し、[グループ化したフィールド]に集計軸にする項目、[集計フィールド]に集計したい項目をドラッグして集計できます。

 


<「Σ集計」から合計値を求める>

 

まとめ

Tableauには、関数や数式を使わずにデータを絞り込み集計する便利な機能が用意されています。しかし便利ではあっても、多くのユーザにとってなじみ深いExcelとはそもそも設計思想が異なるため、どうしても直感的な操作が難しい部分もあります。そのためTableauを効果的に使いこなすコツを熟練者から学ぶのが効果的です。社内のTableau活用人材の育成で悩んでいるといった場合にはご相談ください。当社には300名(23年5月時点)超のSalesforce/Tableau専門コンサルタントやセキュリティ技術者が在籍しており、定着や活用支援サービスを行っております。

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください