2つの関連オブジェクトとメインオブジェクトの集計

2つの関連オブジェクトとメインオブジェクトの集計

2つの関連オブジェクトとメインオブジェクトの集計について具体例を交えて、RaySeet内部の集計ステップを説明します。集計のステップは大きく以下の3つのステップに分かれます。

  1. レコードを抽出する。
  2. レコードを縦に結合する。この時、複合項目は同一項目として扱う。
  3. レコードを集計する。

オブジェクト(集計のデータソース)

具体例として対象のオブジェクトに以下のレコードが存在する場合を取り上げます。予算オブジェクトとパートナー予算オブジェクトは参照項目として取引先を持っており、親子関係にあります。

取引先(標準オブジェクト):

ID 取引先名
9009000000A9aaA 葡萄株式会社
9009000000A9aaB グレープシティ株式会社
9009000000A9aaC GrapeCity株式会社

予算(カスタムオブジェクト):

取引先(参照項目) 項目 予算
9009000000A9aaA Web 4,000
9009000000A9aaA Web 5,000
9009000000A9aaA DM 6,000
9009000000A9aaB Web 1,000
9009000000A9aaB DM 2,000
NULL Web 3,000

パートナー予算(カスタムブジェクト):

取引先(参照項目) 項目 予算
9009000000A9aaA Web 400
9009000000A9aaA Web 500
9009000000A9aaA DM 600
9009000000A9aaB Web 100
9009000000A9aaB DM 200
NULL Web 300

基本デザインでは取引先オブジェクトに加えて、予算オブジェクトとパートナー予算オブジェクトを追加します。

行/列/値の設定

基本デザインで以下のように設定します。取引先オブジェクトの取引先名と予算オブジェクトの項目単位で集計を行います。

行:

  • 取引先/取引先名
  • 複合項目
    • 予算/項目
    • パートナー予算/項目

値:

  • 複合項目
    • 予算/予算
    • パートナー予算/予算

親オブジェクトである取引先名は複合項目として設定しなくても複合項目と同じ扱いをします。子供のオブジェクトである予算とパートナー予算の項目については複合項目にする必要があります。

集計のステップ

ステップ1:レコードを抽出する

取引先:

取引先オブジェクトのレコードをすべて抽出します。

ID 取引先名
9009000000A9aaA 葡萄株式会社
9009000000A9aaB グレープシティ株式会社
9009000000A9aaC GrapeCity株式会社

今回の例ではフィルターは設定されていないので、すべてのレコードを抽出しています。フィルターが設定されている場合は、そのフィルターの条件に合致するレコードのみが抽出されます。

予算(カスタムオブジェクト):

関連オブジェクトのレコードは親オブジェクトのレコードに紐づくレコードのみを抽出します。今回の例では取引先(参照項目)がNULLのレコードは抽出されません。

取引先(参照項目) 項目 予算
9009000000A9aaA Web 4,000
9009000000A9aaA Web 5,000
9009000000A9aaA DM 6,000
9009000000A9aaB Web 1,000
9009000000A9aaB DM 2,000

予算オブジェクトにフィルターが設定されている場合は、さらにそのフィルターの条件に合致するレコードのみが抽出されます。

パートナー予算(カスタムオブジェクト):

関連オブジェクトのレコードは親オブジェクトのレコードに紐づくレコードのみを抽出します。今回の例では取引先(参照項目)がNULLのレコードは抽出されません。

取引先(参照項目) 項目 価格
9009000000A9aaA Web 400
9009000000A9aaA Web 500
9009000000A9aaA DM 600
9009000000A9aaB Web 100
9009000000A9aaB DM 200

パートナー予算オブジェクトにフィルターが設定されている場合は、さらにそのフィルターの条件に合致するレコードのみが抽出されます。

ステップ2:レコードを縦に結合する

レコードを縦に結合します。

  • 取引先オブジェクトには予算/実績オブジェクトの項目である「項目」と「予算」/「実績」は存在しないため空白として結合します。
  • 関連オブジェクトを使用する場合のメインオブジェクトの項目は、複合項目として設定しなくても複合項目と同じ扱いをします。そのため、予算オブジェクトから抽出したレコードに取引先名を補完して結合します。

取引先と予算の結合:

取引先名 項目 予算 抽出元オブジェクト
葡萄株式会社 取引先
グレープシティ株式会社 取引先
GrapeCity株式会社 取引先
葡萄株式会社 Web 4,000 予算
葡萄株式会社 Web 5,000 予算
葡萄株式会社 DM 6,000 予算
グレープシティ株式会社 Web 1,000 予算
グレープシティ株式会社 DM 2,000 予算
葡萄株式会社 Web 400 パートナー予算
葡萄株式会社 Web 500 パートナー予算
葡萄株式会社 DM 600 パートナー予算
グレープシティ株式会社 Web 100 パートナー予算
グレープシティ株式会社 DM 200 パートナー予算

ステップ3:レコードを集計する

取引先オブジェクトの取引先名とパートナー予算/予算オブジェクトの項目単位で集計を行います。

取引先名 項目 予算
葡萄株式会社 Web 9,900
葡萄株式会社 DM 6,600
葡萄株式会社
グレープシティ株式会社 Web 1,100
グレープシティ株式会社 DM 2,200
グレープシティ株式会社
GrapeCity株式会社

Copyright © 2024 MESCIUS inc. All rights reserved.