Class: RubyOSBXL::PivotTable

Inherits:
Object
  • Object
show all
Defined in:
lib/rubyosbxl.rb

Overview

ピボットテーブルの集計を取り扱うクラスです。

Instance Method Summary collapse

Instance Method Details

#addCustomField(customFieldName, customFieldFormula, numberFormat = "") ⇒ void

Note:

refreshメソッドを呼ばない限り、カスタムフィールドを追加しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

Note:

customFieldFormulaの数式は、通常ピボットフィールドのフィールド名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA # 2 と設定)

カスタムフィールドの追加を行います。

Parameters:

  • customFieldName (String)

    カスタムフィールド名

  • customFieldFormula (String)

    カスタムフィールドの集計式

  • numberFormat (String) (defaults to: "")

    表記書式を指定する場合は、指定可能です。空文字を設定すると、表記書式は設定されません。

#addCustomItem(itemName, targetFieldName, customItemFormula) ⇒ void

Note:

refreshメソッドを呼ばない限り、集計アイテムを追加しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

Note:

customFieldFormulaの数式は、通常ピボットフィールドのフィールド名および項目名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA # 2 と設定)

集計アイテムの追加を行います。

Parameters:

  • itemName (String)

    集計アイテムの名前

  • targetFieldName (String)

    追加する集計アイテムが属するピボットフィールドの項目名

  • customItemFormula (String)

    集計アイテムの集計式

#deleteCustomField(customFieldName) ⇒ void

Note:

refreshメソッドを呼ばない限り、カスタムフィールドを削除しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

カスタムフィールドの削除を行います。

Parameters:

  • customFieldName (String)

    カスタムフィールド名

#deleteCustomItem(itemName, targetFieldName) ⇒ void

Note:

refreshメソッドを呼ばない限り、集計アイテムを削除しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

Note:

upadteCustomItemPartialメソッドで追加した部分アイテムが集計アイテムに所属していた場合、削除します。

集計アイテムの削除を行います。

Parameters:

  • itemName (String)

    集計アイテムの名前

  • targetFieldName (String)

    削除する集計アイテムが属するピボットフィールドの項目名

#deleteCustomItemPartial(itemName, rowItems, colItems, dataFieldName) ⇒ void

Note:

refreshメソッドを呼ばない限り、集計アイテムの部分更新の削除だけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

集計アイテムの部分更新(集計アイテム中の単一セルを別の集計式にする)の削除を行います。

Parameters:

  • itemName (String)

    セットした集計式の所属するアイテム名

  • rowItems (Array<String>)

    部分更新したセルの行方向の値を上から記述した Array<集計する行の値>

  • colItems (Array<String>)

    部分更新したセルの列方向の値を上から記述した Array<集計する列の値>

  • dataFieldName (String)

    対象のデータフィールド名

#getField(fieldName) ⇒ RubyOSBXL::Dto::PivotFieldObject

ピボットテーブルのフィールド情報を取得します。

Parameters:

  • fieldName (String)

    フィールド名

Returns:

#getFieldsArray<RubyOSBXL::Dto::PivotFieldObject>

ピボットフィールドの全取得を行います。

Returns:

#getGrandTotalLayoutTypeRubyOSBXL::Enums::XlPivotTableDisplayGrandTotalType

ピボット集計の末尾集計行の有無(行および列)の取得を行います。

Returns:

#getLayoutTypeRubyOSBXL::Enums::XlPivotTableLayoutType

ピボット集計のレイアウトタイプの取得を行います。

Returns:

#getPivotTableSettingRubyOSBXL::Dto::PivotTableSettingObject

ピボットテーブルの設定項目を取得します。

Returns:

#getSubTotalsLayoutTypeRubyOSBXL::Enums::XlPivotTableDisplaySubtotalsType

ピボット集計の末尾集計行の集計位置の取得を行います。

Returns:

#refreshvoid

Note:

フィールド構成の変更やフィールドの追加や削除が行われた場合、このメソッドで反映させます。集計元のデータはそのままです

ピボットテーブルの再集計を行います。

#refreshDatavoid

Note:

集計元のデータが変更されていた場合、ピボットテーブルの集計に反映させます。

集計元のデータを最新化した上、再集計します。

#setFields(settings, layoutType, rowFields, colFields, filterFields, dataFields, grandTotalLayoutType = RubyOSBXL::Enums::XlPivotTableDisplayGrandTotalType::RowsAndColumns, subtotalsLayoutType = RubyOSBXL::Enums::XlPivotTableDisplaySubtotalsType::SubtotalsDisplayTypeBottom, specialDataFieldDirectionCol = true, specialDataFieldOrder = -1) ⇒ void

Note:

dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。

Note:

dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。

ピボット集計の実行を行います。

Parameters:

#upadteCustomItemPartial(itemName, customItemFormula, rowItems, colItems, dataFieldName) ⇒ void

Note:

refreshメソッドを呼ばない限り、集計アイテムの部分更新だけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。

Note:

customItemFormulaの数式は、通常ピボットフィールドのフィールド名および項目名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA # 2 と設定)

集計アイテムの部分更新(集計アイテム中の単一セルを別の集計式にする)を行います。

Parameters:

  • itemName (String)

    セットする集計式の所属するアイテム名

  • customItemFormula (String)

    セットする集計式

  • rowItems (Array<String>)

    部分更新するセルの行方向の値を上から記述した Array<集計する行の値>

  • colItems (Array<String>)

    部分更新するセルの列方向の値を上から記述した Array<集計する列の値>

  • dataFieldName (String)

    対象のデータフィールド名