Spotfire® ユーザー ガイド

NavigatePeriod()

一部のノード ナビゲーション メソッドは、周期的データを含む階層、その中でも特に時間階層に適しています。時間は本質的に階層構造 (年、四半期、月など) であり、期間は繰り返します。これらのナビゲーション メソッドの 1 つは、NavigatePeriod() です。このメソッドでは、階層内で独自のナビゲーションを定義できます。定義では、4 つの引数、つまり、参照する軸、階層内で上に移動するレベルの数、横方向に移動するステップの数、下に移動するレベルの数を制御する入力値を指定します。

実際に、NavigatePeriod() メソッドは、他の多くのナビゲーション メソッドを置き換えることができます。「NavigationPeriod() メソッドと Parent() メソッドの比較」参照してください。

さらに、時間階層のノードは明らかであるため、データを失ったノードは自動的に検出できます。

以下に、NavigatePeriod() メソッドの例を示します。



この例では、開始ノードとして「Q3, 2020」を使用しています。「Q3, 2018」を参照するとします。ここでは、次の 3 つの引数を使用して NavigatePeriod() 式を定義できます。

NavigatePeriod([Axis.X],"Year",-2)

最初の引数は問題の軸であり、2 番目の引数は Year レベルまでナビゲートし、3 番目の引数はこの Year レベルで横方向にナビゲートします。ここでは、値が負であるため、時間を 2 ステップ戻します。4 番目の引数を省略すると、自動的に開始点と同じレベルに戻ります。この場合は、2018 年の対応する四半期です。必要に応じて、4 番目の引数を追加することにより、リーフ レベル以外のレベルを指定できます。
ヒント: 対象の階層レベルを指定するときは、レベルの名前を上下に移動するステップ数に置き換えることもできます。引数として 0 を使用することは、レベルを維持することを意味します。上のイメージでは、 NavigatePeriod([Axis.X],1,-2) は、NavigatePeriod([Axis.X],"Year",-2) と同じ結果になります。

注: このトピックで使用される式を適用するため、インメモリのデータが使用されることを前提とします。

棒グラフは、さまざまな種類の果物と野菜の 1 月と 2 月の売上高を、カテゴリごとに分けて示しています。各タイプの売上への毎月の貢献度をパーセンテージで表現したいとします。



Parent() メソッドは正常に動作し、それぞれ果物と野菜のカテゴリ内でタイプの貢献度を返します。つまり、階層の 1 レベル上への移動になりますが、2 ステップ上に移動することは簡単ではありません。

この場合、NavigatePeriod() メソッドが適切な選択です。以下の値軸の式を参照してください。



  • 最初の引数 [Axis.X] は、階層軸、この場合はカテゴリ軸を参照します。棒グラフの方向が水平か垂直かに関係なく、カテゴリ軸は常に Axis.X と呼ばれることに注意してください。
  • 2 番目の引数「Month」は、Month レベル、つまり階層の 2 つ上のステップに移動します。「Month」は、式で 2 に置き換えることもできます。
  • 3 番目の引数 0 は、階層内で横方向のナビゲーションが行われないことを指定します。
  • 4 番目の引数であるもう 1 つの 0 は、月レベルを維持します。
たとえば、1 月の総売上高の 27% はバナナの売上高です (88/(38+88+64+28+66+40))。
注: パーセンテージは四捨五入されています。