はじめに
Magic ETL DataFlowsの[集計する]タブでは、2つのタイルを使用できます。以下のものが含まれます。- グループ化
- ランクとウィンドウ

[グループ化]タイル

グループ化タイルを設定するには:
- キャンバスで [グループ化] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- グループ化する列を選択します。
-
追加する列それぞれに対し、以下を実行します。
- 新しい列の名前を入力します。
- 集計する列を選択して新しい列に挿入します。
-
使用する集計タイプを選択します。
タイプ
説明
利用可能なデータタイプ
カウント
列のnull以外の値を返します。
小数、整数、テキスト、日付
Nullも含めてカウント
nullを含む、列のすべての値を返します。
小数、整数、テキスト、日付
固有の値をカウント
列の固有値の数を返します。
小数、整数、テキスト、日付
最初のnull値以外の値
最初のnull値以外の値を返します。
小数、整数、テキスト、日付
最後のnull値以外の値
最後のnull値以外の値を返します。
小数、整数、テキスト、日付
最初の値
最初の値(null値を含む)を返します。
小数、整数、テキスト、日付
最後の値
最後の値(null値を含む)を返します。
小数、整数、テキスト、日付
合計
列のすべての値を合計します。
小数、整数
平均
列のすべての値の平均を返します。
小数、整数
中央値
列のすべての値の中央値を返します。
小数、整数
最小
列の最小値を返します。
小数、整数、日付
最大
列の最大値を返します。
小数、整数、日付
標準偏差
列の値の標準偏差を返します。
小数、整数
「,」で区切られている文字列を結合
列のすべてのテキスト値をコンマで区切って、結合します。
テキスト
- (条件付き)列の追加は、 [列を追加] をクリックします。
[ランクとウィンドウ]タイル

パーティションについて
関数はいずれも、オプションでパーティションとして使用する列の指定が可能です。例えば、「State」という連続列がある場合、パーティションとして「State」を選択すると、新しい列の値を状態別に分割します。これを次の例で示します。「Amount」列の値は降順で順位付けされ、「State」ごとに分割されます。
ランク関数
ランク関数は、選択した列にある値それぞれの順位を求め、新しい列に表示します。ランク関数には、ランク、Dense Rank、行番号の3種類があります。ランク
ランク関数では、選択した列にある値それぞれに順位番号を割り当てます。同一の値を含むセルが複数ある場合は、同じ順位番号が振られ、スキップされた数に応じた「ギャップ」が生じます。例えば、列初めの3つのセルの値が100で、その次のセルの値が200、さらに昇順設定となっている場合、初めの3つのセルの順位は「1」となり、4番目のセルの順位は「4」となります。 以下のスクリーンショットは、この例を示したものです。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 順位結果が返される新しい列の名前(「順位」など)を追加します。
- [関数タイプを選択] メニューから、 [ランク] を選択します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順位を付ける列を選択します(値のある列を推奨)。
- ダイアログのステップ3で、列の値に順位付けする順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
Dense Rank
Dense Rank関数は、ランク関数と同様ですが、大きな違いが1つあります。同じ値のセルが複数ある場合、ランク関数同様それらのセルに振られる順位番号は同じですが、以降のセルに対しては、その続きで番号が振られます(「ギャップ」が生じない)。例えば、列最初のセル3つの値が100で、その次のセルの値が200、昇順設定となっている場合、初めのセル3つの順位は「1」となり、4番目のセルの順位は「2」となります。 以下のスクリーンショットは、この例を示したものです。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 順位結果が返される新しい列の名前(「順位」など)を追加します。
- [関数タイプを選択] メニューから、 [Dense Rank] を選択します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順位を付ける列を選択します(値のある列を推奨)。
- ダイアログのステップ3で、列の値に順位付けする順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
行番号
行番号関数では、選択した列にある値すべての行番号を返します。パーティションを使用する場合、取得される行番号はパーティショングループ内の番号となり、DataSetの行番号とは 異なる 場合がありますのでご注意ください。この例を以下のスクリーンショットで示します。行番号関数から返された行番号が、新規のパーティションごとに再開されています。そのため、行4から始まる出力された行番号はDataSetの行番号とは異なります。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 順位結果が返される新しい列の名前(「行番号」など)を追加します。
- [関数タイプを選択] メニューから、 [行番号] を選択します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、行番号を付ける列を選択します。
- ダイアログのステップ3で、列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
フレームされた関数
フレームされた関数では、あるセルとその前(「先行」)と後(「後続」)にある指定した数のセルに対し数学関数を適用します。適用後の出力値は、新しい列に表示されます。 以下の例で、この機能を簡単に示します。この例では、ユーザーが合計関数を選択し、先行値が1で後続値が2となっています。

平均
平均関数では、特定セルとそれに対し指定の先行値および後続値の平均を結果として返します。以下の例では、ユーザーが「Amount」列に平均関数を適用、先行値と後続値を2、「Cust」列をパーティションに設定しています。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 出力値が返される新しい列の名前を追加します。 「平均(2P・2F)」などのように先行値と後続値の数がわかりやすい名前を推奨します。
- [関数タイプを選択] メニューから、 [平均] を選択します。 関数タイプを選択すると、新規メニューが2種類表示されます。
- [列の選択] メニューから、平均の対象となる値のある列を選択します。
- [先行] と [後続] のフィールドに、平均計算に含める先行値および後続値の数を入力します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順序の基にする列を選択します。
- ダイアログのステップ3で、新しい列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
カウント
カウント関数では、特定セルとそれに対し指定の先行値および後続値の個数を返します。以下の例では、ユーザーが「Amount」列にカウント関数を適用、先行値と後続値を2、「Cust」列をパーティションに設定しています。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 出力値が返される新しい列の名前を追加します。 「カウント(2P・2F)」などのように先行値と後続値の数がわかりやすい名前を推奨します。
- [関数タイプを選択] メニューから、 [カウント] を選択します。 関数タイプを選択すると、新規メニューが2種類表示されます。
- [列を選択] メニューから、カウント対象となる値のある列を選択します。
- [先行] と [後続] のフィールドに、カウント計算に含める先行値および後続値の数を入力します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順序の基にする列を選択します。
- ダイアログのステップ3で、新しい列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
合計
合計関数では、特定セルとそれに対し指定の先行値および後続値の合計を返します。以下の例では、ユーザーが「Amount」列に合計関数を適用、先行値と後続値を2、「Cust」列をパーティションに設定しています。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 出力値が返される新しい列の名前を追加します。 「合計(2P・2F)」などのように先行値と後続値の数がわかりやすい名前を推奨します。
- [関数タイプを選択] メニューから、 [合計] を選択します。 関数タイプを選択すると、新規メニューが2種類表示されます。
- [列の選択] メニューから、合計計算対象となる値のある列を選択します。
- [先行] と [後続] のフィールドに、合計計算に含める先行値および後続値の数を入力します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順序の基にする列を選択します。
- ダイアログのステップ3で、新しい列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
オフセット関数
オフセット関数では、DataSetに新しい列を追加し、この列に選択した列と同じ値を指定した行数分オフセットした上で返します。 Offset関数は2種類あります。新しい列の値を元の関数の 後ろ にオフセットするのがラグ関数、新しい列の値を元の列の 前 にオフセットするのがリード関数です。ラグ関数、リード関数のいずれでも、パーティションを使用します。ラグ
ラグ関数では、新しい列の値は、指定したオフセット後、元の列の値の後ろに出力されます。以下の例では、ラグ関数に3を適用し、「Cust」列がパーティションとして追加されています。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 出力値が返される新しい列の名前を追加します。 ラグのオフセット値がわかりやすい名前を推奨します。
- [関数タイプを選択] メニューから、 [ラグ] を選択します。 関数タイプを選択すると、新規メニューが2種類表示されます。
- [列の選択] メニューから、新しい列への出力対象となる値のある列を選択します。
- [含める行] のフィールドに、任意のオフセット値を入力します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順序の基にする列を選択します。
- ダイアログのステップ3で、新しい列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。
リード
リード関数では、新しい列の値は、指定したオフセット後、元の値の前に出力されます。以下の例では、リード関数に3を適用し、「Cust」列がパーティションとして追加されています。
- キャンバスで、 [ランクとウィンドウ] タイルをクリックします。
-
(オプション)タイルの名前を変更するには、
をクリックして名前を入力します。
- [関数の追加] をクリックします。
- 出力値が返される新しい列の名前を追加します。 リードのオフセット値がわかりやすい名前を推奨します。
- [関数タイプを選択] メニューから、 [リード] を選択します。 関数タイプを選択すると、新規メニューが2種類表示されます。
- [列の選択] メニューから、新しい列への出力対象となる値のある列を選択します。
- [含める行] のフィールドに、任意のオフセット値を入力します。
- ダイアログの右上にある [適用] ボタンをクリックします。 新規のステップが3種類表示されます。
- ダイアログのステップ2で、順序の基にする列を選択します。
- ダイアログのステップ3で、新しい列の値を並べ替える順序を選択します。
- (オプション)パーティションに使用する列があれば、ダイアログのステップ4で選択します(パーティションの説明については、このページ上部にある「 パーティションについて 」を参照してください)。