はじめに
ウォーターフォールチャートは基本的に、特定の期間における一連の利益と損失を示す棒グラフで、期間終了時に残っている量を示すサマリバーとともに表示されます。利益は緑のバーで示され、損失は赤のバーで示されます。開始バーおよびサマリバーは青のバーで示されます。 ウォーターフォールチャートには、縦型と横型のサブタイプがあります。ウォーターフォールチャートを作成する
ウォーターフォールチャートは、DataSetから3つのデータ列または行を必要とします。1つはカテゴリー、1つは系列データ(通常は日付)、そして1つは値です。DataSetの系列データは、カテゴリーの順序を決定します(例えば、系列データが日付を含む場合、カテゴリーバーが日付にもとづいて配列されます)。しかしデフォルトでは、それはバーの上にマウスポインターを合わせたときの吹き出しテキストとしてのみ表示されます。ただし、 [チャートの設定] のボックスをチェックして個々の系列のサマリバーを表示させることができます。詳細については、「 ウォーターフォールチャートをカスタマイズする 」を参照してください。 値、カテゴリー、系列データについては、「 チャートデータについて 」を参照してください。 Analyzerで、ウォーターフォールチャートのデータを含む列を選択します。データ列の選択の詳細については、「 DataSet列をチャートに適用する 」を参照してください。 Analyzerでチャートをフォーマットする方法の詳細については、「 可視化カード作成パート2:Analyzer 」を参照してください。 以下の図は、典型的な列ベースのスプレッドシートのデータがどのように縦型ウォーターフォールチャートに変換されるかを示しています。

ウォーターフォールチャートをカスタマイズする
[チャートの設定] を編集することにより、ウォーターフォールチャートの外観をカスタマイズすることができます。すべてのチャート設定については、「 チャートのプロパティ 」を参照してください。ウォーターフォールチャート固有のプロパティには、以下があります。プロパティ | 説明 | 例 |
|---|---|---|
[一般]>[サマリバーを表示] | チャートの各系列のサマリ列を追加します。スクリーンショットは、各日付のバーにサマリ列が表示されている状態を示しています。マウスオーバー時のみ日付が表示されるため、これは各日付の系列を見やすくする良い方法です。 |
|
[一般]>[サマリテキスト] | サマリバーの下に表示される文字を指定できます。例では、「Summary(サマリ)」という言葉の代わりに「Total(合計)」という言葉を入れています。 |
|
高度なデモ
ウォーターフォールチャートは、データ、特に営業パイプラインのユースケースデータを表示するための強力なツールになります。「四半期の初めと終わりに当社の営業パイプラインはどのようなものでしたか? また、その間に何が変わりましたか?」や「パイプラインの値が変化したことは分かっていますが、変化したのはなぜですか?」などの質問に答えるのに役立ちます。ただし、これらのチャートの作成は非常に困難な場合もあります。効果的なウォーターフォールチャートを作成するすべての手順を説明するために、ここに詳細なデモをご用意しました。必要条件
このデモを行うには、2つのDataSetが必要です。1つは商談の開始点のスナップショットデータ、もう1つはその商談の終了点のスナップショットデータです。両方のDataSetにスナップショットの日付(通常BATCH_LY_RUNが有効)でフィルターをかけ、次の情報を含める必要があります。- 商談ID
- ステータスまたはステージ
- 金額
- 予想されるクローズ日

パート1 - DataSetを結合する
- Data Centerで新しいMySQL DataFlowを開始します。
-
2つのDataSet(必要条件で説明した開始/終了スナップショットDataSet)をDataFlowの入力DataSetとして追加します。

-
FULL OUTER JOINを使用してDataSetを結合する変換を追加します(コード例については、以下のスクリーンショットを参照してください)。
- 両方のDataSetでLEFT JOINを使用します。
-
「Opportunity ID」に関する
ifnullステートメントを含めて、商談IDが入力されていることを確認します。 -
whereステートメントを含めて、商談IDがNULLのもののみを表示します。 -
各キーディメンション列にラベルを付けて、期間の開始点と終了点のどちらであるかを示します。例えば、開始点DataSetに「Amount」という列がある場合は、MySQLで「
ob. `Amount` as `Beginning Amount`,」行を含めます。
-
出力DataSetを生成します。
FULL OUTER JOINが正常に完了すると、商談ごとに1行ずつある新しいDataSetができます。各行には、スナップショットの開始日と終了日の情報(ステータス、金額、クローズ日など)が表示されます。DataSetは次のように表示されます。
このDataSetは、ウォーターフォールチャートでレンダリングするすべてのバケットのベースになります。

パート2 - バケットを作成する
- Data Centerで新しいMySQL DataFlowを開始します。
- パート1で作成したDataSetを、DataFlowの入力DataSetとして追加します。
-
変換には、チャートにレンダリングするバケットごとにクエリを作成します。
-
各バケットに「Bucket」というハードコードされた列を割り当て、そのデータのサブセットが関連付けられているものすべてのラベルを入力します。
次の例では、各クエリは開始パイプラインを構成する商談を返します。

-
各バケットセクションの後に
union allステートメントを含めます(1つの商談が複数のバケットに入る可能性があるため、UNIONを推奨します)。
-
各バケットに「Bucket」というハードコードされた列を割り当て、そのデータのサブセットが関連付けられているものすべてのラベルを入力します。
次の例では、各クエリは開始パイプラインを構成する商談を返します。
- 出力DataSetを生成します。
パート3 - カードを作成する
-
Analyzerでウォーターフォールカードを作成し、列を次のように割り当てます。
- [サマリーグループ] - 「バケット」列
- [アイテム名] - 「バケット」列
- [値] - 金額データが含まれる列(デフォルトの[合計]集計を使用)
パート4 - 検証
ウォーターフォールカードを使用する場合は、すべてのプラスの金額がマイナスの金額と等しくなければなりません。つまり、金額の合計が0になる必要があります。値のバランスが取れていない場合は、データの差異を示す「Summary Ending Pipeline」値がチャートに表示されます。次の例では、プラスの金額とマイナスの金額は1,000ドルずれています。
-
バケットの計算に使用するDataSetにもとづいて表カードを作成します。
-
バケットごとに別のBeast Mode計算を作成します。
「Beginning Pipeline」バケットの場合、Beast Modeは次のようになります。
Sum(case when `Bucket` = ‘Beginning Pipeline’ then `Amount` else 0 end) -
(デフォルトの[合計]集計を使用して)「Amount」列も表に含め、ラベルを「Unexplained Variance」に変更します。

-
バケットごとに別のBeast Mode計算を作成します。
「Beginning Pipeline」バケットの場合、Beast Modeは次のようになります。
- 作成した表カードの詳細ビューに進みます。
-
「Unexplained Variance」列で並べ替えて、どの商談に問題があるかを確認します。
例えば、次のカードでは、1つの商談に-1,000ドルの説明できない差異があります。並べ替えることで、問題のある商談を簡単に特定できます。その後、ほかの列を見て、この差異に寄与しているアクティビティがあるかどうかを確認できます。ここにはアクティビティがないため、問題にはクエリ自体が関係していると想定できます。この場合は、DataFlowに戻り、問題を特定して解決することを試みます。

- 状況を修正します。 「Unexplained Variance」値がすべて0になり、カードから「Summary Ending Pipeline」バーが消えると、問題が解決したことが分かります。

