SAP BW/4HANA
SAP BW/4HANA InfoObject基礎:種類・作成方法・特性とキー数値の違い
SAP BW/4HANAのInfoObjectについて、特性とキー数値の違い、InfoObjectの種類、作成時の設計ポイント、ADSOやCompositeProviderとの接続方法を実務向けに解説します。
InfoObjectとは何か
SAP BW/4HANAのInfoObjectは、分析モデルで使う業務上の項目を意味的に定義するメタデータオブジェクトです。たとえば会社コード、品目、得意先、会計期間、数量、金額などをInfoObjectとして定義すると、データ取得、変換、マスターデータ、テキスト、権限、分析時の意味を一貫して扱えます。単なるデータベース列ではなく、値の意味と利用方法をモデルに組み込む点が重要です。
InfoObjectは、フィールド名を統一するためだけの仕組みではありません。データ型、長さ、通貨や単位、表示属性、マスターデータの有無などを決め、複数のデータフローで同じ業務概念を再利用します。設計開始時には、元データの列名をそのまま登録するのではなく、分析で必要な業務概念を先に整理します。
InfoObjectの種類
実務で中心になる種類は、特性、キー数値、単位、通貨、時間関連のInfoObjectです。用途ごとに役割が異なるため、項目の値を見て種類を決めるのではなく、分析時にどのように扱うかで判断します。
| 種類 | 主な役割 | 例 |
|---|---|---|
| 特性 | 行を分類、検索、絞り込みする | 会社コード、品目、得意先、地域 |
| キー数値 | 集計、計算、比較する | 売上数量、売上金額、原価 |
| 単位 | 数量の単位を示す | 個、KG、時間 |
| 通貨 | 金額の通貨を示す | JPY、USD、EUR |
| 時間特性 | 期間や日付で分析する | 年、会計期間、カレンダー日 |
特性には、マスターデータを持つものと、単純なコードや日付として利用するものがあります。マスターデータを持たせる場合は、キー、テキスト、属性の要件を明確にします。属性を増やしすぎるとメンテナンス範囲が広がるため、レポートで実際に利用する補足情報に絞ります。
キー数値には集計方法、データ型、桁数、表示形式、通貨または単位との関係を設定します。金額や数量を特性として登録すると、集計や計算の意味が崩れるため、数値項目はキー数値として設計します。
特性とキー数値の違い
特性は「どの切り口で見るか」を表し、キー数値は「何を測るか」を表します。売上明細を例にすると、会社コード、品目、販売組織、会計期間は特性、売上数量と売上金額はキー数値です。分析では特性で集計単位を決め、その単位ごとにキー数値を集計します。
特性は値の一覧、階層、属性、テキスト、権限チェックと結び付けやすい項目です。キー数値は合計、平均、最小値、最大値などの集計や式計算の対象になります。この違いを曖昧にすると、フィルターでは使えるものの集計できない項目や、意味のない合計値がモデルに入り込みます。
設計時は次の質問を項目ごとに確認します。
- その項目は分析結果を分類する値か。
- 値を足し上げたり、平均したりするか。
- 値にテキストや属性を持たせるか。
- 数量または金額であれば、単位や通貨は何か。
- NULL、ゼロ、未確定値をどのように扱うか。
たとえば割引率は数値ですが、単純合計には適さない場合があります。その場合はキー数値の集計動作と計算ロジックを設計し、利用者が誤った集計を行わないようにします。
InfoObject作成前の設計
InfoObjectを作成する前に、データソース、変換、ADSO、CompositeProvider、クエリで必要な項目を一覧化します。項目ごとに業務名、技術名、データ型、長さ、キー性、マスターデータ、単位または通貨、必須性を記録すると、後工程での再設計を減らせます。
最初に決めるのは、既存のInfoObjectを再利用できるかどうかです。共通の会社コードや品目を新規作成すると、同じ業務概念が複数の技術項目に分かれ、マッピングや権限管理が複雑になります。一方で、意味や粒度、値の管理責任が異なる項目を無理に共用すると、データ品質の問題が発生します。
命名では、業務上の意味が分かる短い名称を使い、説明文に利用範囲とデータオーナーを残します。技術名だけで意味を推測できるようにするより、説明、データ型、参照元、許容値を合わせて管理する方が運用しやすくなります。
時間項目は、カレンダー日、会計期間、会計年度などの粒度を明確にします。日付を文字列として扱うと、期間比較、並べ替え、時間階層の利用で問題が起こりやすくなります。数量には単位、金額には通貨を関連付け、変換処理で単位や通貨が欠落しないようにします。
InfoObjectの作成手順
InfoObjectはSAP BW/4HANAのモデリング環境で作成します。使用している開発環境の権限とTransport設定を確認したうえで、次の順序で進めると設計漏れを抑えられます。
- InfoObjectの種類を選び、技術名と説明を入力する。
- 特性ならデータ型、長さ、キー項目、マスターデータやテキストの要否を設定する。
- キー数値ならデータ型、桁数、小数点、集計方法、単位または通貨との関係を設定する。
- 必要な属性、テキスト、階層、参照関係を定義する。
- 保存して有効化し、チェック結果を確認する。
- ADSOや変換など、利用先のオブジェクトへ割り当てる。
- サンプルデータでロード、変換、集計、表示を検証する。
作成直後は、定義が保存されていることだけでなく、有効化後に利用先が正しく認識することを確認します。特にデータ型、長さ、キー性を後から変更すると、既存の変換やデータ格納に影響します。変更前に依存オブジェクトとTransportの順序を確認します。
ADSOとInfoObjectの関係
ADSOはデータを保持し、InfoObjectは保持する項目の意味や振る舞いを定義します。ADSOの設計では、キー項目、データ項目、更新方式、履歴要件を整理し、必要な列に適切なInfoObjectを割り当てます。ADSOの具体的な設計はSAP BW/4HANAのADSO設計も参照してください。
すべての列をInfoObject化する必要があるかは、再利用性と運用要件で判断します。複数のデータフローで共通利用する会社コードや品目はInfoObject化の効果が高く、単一の中間処理だけで使う技術項目はモデル全体の方針に沿って設計します。項目を増やすこと自体を目的にせず、意味の統一と保守性を優先します。
ADSOにロードする前には、変換でのマッピング、固定値、ルックアップ、単位変換、通貨変換を確認します。InfoObject側の定義と変換側の処理が一致しない場合、ロードは完了しても分析値が誤ることがあります。
変換とCompositeProviderでの利用
InfoObjectは、データ取得後の変換処理でソース項目とターゲット項目を結び付けます。ソースのコード体系とターゲットのコード体系が異なる場合は、マッピング表や変換ルールを明示し、未変換値の扱いを決めます。変換設計の整理にはSAP BW/4HANAの変換アプローチが役立ちます。
CompositeProviderでは、複数のプロバイダーを共通の特性とキー数値で組み合わせます。結合またはユニオンの前に、項目名だけでなく粒度、データ型、単位、通貨、NULLの扱いをそろえます。同じ名称でも意味や粒度が違う項目を共通化すると、重複集計や欠損が発生します。
データフローの検証では、少量の代表データを使って次の点を確認します。
- ソースの値が正しいInfoObjectへマッピングされる
- 特性の値が意図した粒度で保持される
- キー数値が重複せず、正しい集計結果になる
- 単位と通貨が欠落しない
- 未変換値や空値が監視できる
- CompositeProviderで同じ業務項目が二重計上されない
マスターデータとテキストの設計
特性にマスターデータを持たせる場合は、キー、テキスト、属性の責任範囲を分けます。キーは安定した業務識別子、テキストは表示名、属性は検索や分析に使う補足情報です。表示名の変更で履歴上のキーが変わらないよう、キーとテキストを別の概念として管理します。
テキストの言語、開始日と終了日、重複キー、未登録キーを事前に確認します。マスターデータのロード順序がトランザクションデータより後になる場合、レポートでテキストが表示されないことがあります。ロードチェーンでは依存関係を明確にし、マスターデータの更新完了を確認してから明細データを処理します。
属性を追加する場合は、その属性がどの時点で有効かを決めます。組織変更や品目分類の変更を履歴に反映する要件がある場合、現在値だけを参照する設計では分析結果が変わる可能性があります。履歴要件に応じて、ADSOや変換の保持方法を選びます。
InfoObjectの検証とトラブルシューティング
有効化に失敗した場合は、最初に技術名、データ型、長さ、参照関係、依存オブジェクトを確認します。続いて、変更されたInfoObjectを使用するADSO、変換、CompositeProviderを特定し、影響範囲を確認します。Transport対象と有効化順序が合っていることも確認します。
ロード後の値が空になる場合は、変換のマッピング、マスターデータの存在、言語、キー形式、前後空白、単位または通貨の割り当てを調べます。キー数値の集計が想定と異なる場合は、ADSOの粒度、CompositeProviderの結合条件、重複レコード、キー数値の集計方法を順に確認します。
処理時間やメモリ使用量に問題がある場合は、データ量だけでなく、不要な属性、過度に広い結合、重複した変換処理、頻繁なマスターデータ参照を確認します。モデルの性能確認ではSAP BW/4HANAのパフォーマンスチューニングも利用できます。
検証結果は、入力件数、出力件数、未変換件数、NULL件数、重複件数、集計値を記録します。件数だけでなく、代表的なキーとキー数値を比較すると、形式が正しくても意味が異なるデータを発見できます。
運用で守る設計原則
InfoObjectは一度作成して終わりではなく、データフローと利用先の変更を含めて管理します。説明文に業務定義、データオーナー、参照元、更新頻度、許容値、履歴方針を残すと、担当者が変わっても判断を再現できます。
変更前には、利用先の一覧、既存データへの影響、ロード停止の要否、Transport順序、ロールバック方法を確認します。特にキー性、データ型、長さ、単位、通貨、マスターデータ設定は、下流のオブジェクトとレポートに影響しやすい項目です。
モデルの品質を保つには、共通概念を再利用し、異なる意味の項目を無理に統合しないことが基本です。特性とキー数値の役割、データの粒度、単位と通貨、マスターデータの履歴を設計書に残し、サンプルデータによる回帰検証を変更ごとに実施します。
まとめ
InfoObjectは、SAP BW/4HANAのデータに業務上の意味と分析時の振る舞いを与える基盤です。特性は分類と検索、キー数値は集計と計算を担い、単位、通貨、時間、マスターデータを適切に関連付けます。作成時は再利用性、粒度、変換、ADSO、CompositeProvider、運用変更の影響を一体で確認することが重要です。