すべて展開 / 折りたたむ
ColumnNo - チャート関数このページ上
ColumnNo() は、ピボット テーブルの現在の行セグメント内の現在列の番号を返します。最初の列の番号は 1 です。
構文:
ColumnNo( [ total ] )
引数 TOTAL テーブルが 1 軸の場合、または TOTAL 修飾子が引数として使用される場合は、現在の列セグメントは常に列全体と等しくなります。 集計範囲の定義
ピボット テーブルに複数の水平軸 が存在する場合、現在の行セグメントには、項目ソート順の最後の水平軸を示す行を除くすべての軸行の現在列と同じ値を持つ列だけが含まれます。ピボット テーブルの水平軸の項目間ソート順は、上から下への軸の順序で定義されます。。
情報メモ チャートの式いずれかにこのチャート関数が使用されている場合、チャートの y 値のソート、またはテーブルの式列ごとのソートは許可されません。よって、これらのソート機能は自動的に無効になります。ビジュアライゼーションまたはテーブルでこのチャート関数を使用すると、ビジュアライゼーションのソートは、レコード間の関数に対するソートされた入力の状態に戻ります。
例: チャートの数式 IF( ColumnNo()=1, 0, Sum(Sales) / Before(Sum(Sales))) ColumnNo が 1 に等しい場合、チャートはゼロを返します。それ以外の場合は、Sum(Sales) / Before(Sum(Sales) の結果を返します。この例では、チャートは列 2 以降の値を返し、列 1 はゼロを返します。
例 - ColumnNo の基本 チャートの数式 概要
データセットには四半期ごとの売上データが含まれています。この例では、各期間の売上高にその期間の列番号を乗算します。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
コードをクリップボードにコピーします 結果
データをロードしてシートを開きます。新しいピボット テーブルを作成し、次の項目を列軸として追加します。
次のメジャーを作成します:
結果テーブル Q1 Q2 Q3 Q4 1000 4000 9000 16000
各四半期の売上高の合計に ColumnNo 関数の出力を乗算します。たとえば、Q4 の売上の値は 4000 で、Q4 は 4 番目の列なので、ColumnNo 関数の出力は 4 を返します。したがって、メジャーの数式は 4000 に 4 を乗算して、16000 を返します。
例 - ColumnNo のシナリオ チャートの数式 概要
データセットには四半期ごとの売上高が含まれています。企業は、Q1 と Q3 (奇数列) の売上データを 5% 増加し、残りの列 (Q2 と Q4) の売上を 10% 増加したいと考えています。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
コードをクリップボードにコピーします 結果
データをロードしてシートを開きます。新しいピボット テーブルを作成し、次の項目を列軸として追加します。
次のメジャーを作成します:
結果テーブル Q1 Q2 Q3 Q4 Sum(Sales) If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10) Sum(Sales) If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10) Sum(Sales) If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10) Sum(Sales) If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10) 1000 1050 2000 2200 3000 3150 4000 4400
結果は、奇数列 1 と 3 (Q1 と Q3 ) の売上額が 5% 増加し、残りの偶数列 2 と 4 (Q2 と Q4 ) の売上額が 10% 増加したことを示しています。
例 - ColumnNo の高度なシナリオ チャートの数式 概要
この例では、前のシナリオと同じデータセットを使用して、各期間の値の累積合計を表示します。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
ロード スクリプト
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
コードをクリップボードにコピーします 結果
データをロードしてシートを開きます。新しいピボット テーブルを作成し、次の項目を列軸として追加します。
次のメジャーを作成します:
結果テーブル Q1 Q2 Q3 Q4 1000 3000 6000 10000
この例では、ColumnNo 関数を使用して累計を生成する方法を示します。次の説明は、メジャーの数式に関する詳細を提供します。RangeSum(Before(Sum(Sales), 0, ColumnNo()))
Sum(Sales) : ピボット テーブルの現在のセルの売上合計を計算します。
Before(Sum(Sales), 0, ColumnNo()) : Before 関数は、ピボット テーブルの前の列から値を取得します。
Sum(Sales) 引数により、関数は前のセルの合計 Sales を取得します。
0 のオフセット値は、列のオフセット (現在の列の現在の行セグメントに残る) を指定します。
ColumnNo() は、データを取得するときに何列遡るかを決定します。これは、現在の列の位置を動的に表します (たとえば、列 3 の場合、ColumnNo() は 3 に等しいため、関数は 3 つの列を遡って参照します)。
RangeSum() : RangeSum 関数は、指定された値の範囲の合計を計算します。null 値はゼロとして処理されます。この式では、RangeSum は、Before() 関数によって取得された先行するすべての Sales 値と現在のセルの売上を合計することによって、効果的に累積合計を生成します。