コンテンツにスキップ

データモデルとプロジェクト要素

プロジェクト内のテーブルは、Period、Org、Account のように列名を共有していることがよくあります。プロジェクト要素は、こうした名前の1つをプロジェクト全体で1回だけ記述するものです。その名前の列を持つすべてのテーブルに同じ説明、マスク、ディメンションが表示されるため、何十ものテーブルに同じメモを入力し直す必要がなくなります。

プロジェクトホームの データモデル ページでは、プロジェクトの要素を一覧表示し、各要素を共有しているテーブルを確認し、テーブル間で食い違っている箇所を確認できます。

設定 内容
名前 要素が記述する列名。列にある名前と完全に同じ表記で入力します。
説明 列に格納されている内容。独自のメモを持たない列には、この説明が表示されます。
タイプ プロジェクトがこの列に期待するデータ型。チェックのみが行われ、適用はされません。タイプの競合を参照してください。
マスク 数値マスク。独自のマスクを持たない列は、このマスクを使用します。
ディメンション 列の値の取得元となるディメンション。独自のディメンションを持たない列は、このディメンションを使用します。
エイリアス 同じ意味を持つ他の列名。

列が要素に関連付けられる仕組み

Section titled “列が要素に関連付けられる仕組み”

列は、列IDが要素の名前またはそのエイリアスのいずれかと同じ場合に、その要素に関連付けられます。照合は完全一致です。period と Period は別の名前なので、両方を対象にするには period を Period のエイリアスとして追加します。

要素を追加または削除すると、一致するすべての列がそれに従います。

関連付けられた列は、列自身の値が空である場合に、要素の説明、マスク、ディメンションを取り込みます。列自体に設定した値が常に優先されます。要素がテーブルに保存されている内容を変更することはありません。要素を削除すると、各列は元の状態にそのまま戻ります。

タイプは要素から取り込まれません。

プロジェクトを開き、プロジェクトホームのレールで データモデル を選択します。レールのバッジには、プロジェクトの要素数が表示されます。列からこのページを開くこともできます。

  • テーブルエクスプローラーで列のプロパティをオンにして、列を選択します。要素行には、その列の要素が表示されます。要素がなく、プロジェクトを編集できる場合は これを要素にする と表示されます。クリックすると、その要素の データモデルページが開きます。要素がない場合は、列自身の説明、マスク、ディメンションを初期値とする新しい要素の データモデルページが開きます。
  • ディメンションの使用状況の一覧にある プロジェクト要素 という名前の行から、データモデルページを開きます。

プロジェクトを開けるユーザーなら誰でもこのページを閲覧できます。要素を作成、変更、削除するには、プロジェクトへの書き込みアクセス権が必要で、プロジェクトがロックされていてはいけません。そうでない場合、ページには「ここではデータモデルを表示できますが、変更はできません。」というメッセージが表示されます。

  1. データモデル ページで、新しい要素 をクリックします。
  2. 名前を入力します。必要に応じて、説明、タイプ、マスク、ディメンションを入力します。どのタイプも受け入れる場合は、タイプを 任意のタイプ のままにします。
  3. エイリアスに、同じ意味を持つ他の列名を1行に1つずつ入力します。
  4. 保存をクリックします。

要素は、すでに別の要素が持っている名前やエイリアスを使用できません。要素を変更するには、その横にある鉛筆アイコン(要素を編集)をクリックします。名前を変更すると、古い名前はエイリアスとして残るため、その列は引き続きこの要素に関連付けられます。

要素を削除するには、その要素を開いて削除をクリックし、要素を削除 で確定します。確認画面には、その要素に関連付けられているテーブルの数が表示されます。それらのテーブルに保存されている内容は何も変わりません。

推奨 の下に、要素にする価値のある列名が一覧表示されます。

  • まだ要素でもエイリアスでもなく、2つ以上のテーブルにある名前で、列のタイプが結合キーになり得るもの(タイプが不明な場合も該当します)。「name は n個のテーブルにあります」と表示されます。要素を作成をクリックして作成します。
  • 大文字と小文字およびアンダースコアを無視すると要素の名前またはエイリアスと一致する名前で、1つのテーブルにしかなくても対象になります。「name は element (n個のテーブル) のようです」と表示されます。エイリアスを追加をクリックすると、その列がその要素に関連付けられます。

キャンバスの上にある グラフ と マトリクス の切り替えで、同じテーブルと要素を2通りの方法で表示できます。

  • グラフ。 各要素がハブとなり、各テーブルは、列を持つ要素と線でつながれたカードとして表示されます。線上の 1 は、そのテーブルの唯一のキーである列を示します。複数の列からなる複合キーを持つテーブルには表示されません。ページは1つの要素とそのテーブルを表示した状態で開きます。要素をクリックするとその要素に、テーブルをクリックするとそのテーブルにフォーカスし、テーブルをダブルクリックするとそのテーブルが開きます。要素を非表示 の横にあるチップで、図に表示しない要素を非表示または表示できます。
  • マトリクス。 テーブルごとに1行、要素ごとに1列で表示されます。テーブル名で絞り込む で行を絞り込みます。

列のタイプが他のテーブルと異なるテーブルは、要素の下に「column は table で type であり、他のテーブルと異なります。」と警告されます。タイプはファミリー単位で比較されるため、整数と小数は競合しません。要素にタイプがある場合は、他のテーブルがそのファミリーと比較されます。ない場合は、ほとんどの列が使用しているファミリーと比較され、2つのファミリーが同数の場合は、アルファベット順で先に来るほうが使用されます。競合は警告にすぎず、何も変更しません。

読み取れないテーブルは除外され、ページの動作を止める代わりにページ上で件数として表示されます。

要素は、要素の名前を示すピルとして表示されます。

  • テーブルエクスプローラー。 列の一覧には マーク 列があり、ディメンションや行アクセスのピルの隣にピルが表示されます。ピルにカーソルを合わせると、要素、その説明、ディメンションを確認できます。
  • 列のプロパティ。 要素行から要素を開きます。説明、マスク、ディメンションが空の場合、フィールドにヒントとして「要素 name から: value」と表示されます。このヒントは列と一緒には保存されません。
  • ステップの データマッピングタブ。 要素に属するソース列とターゲット列には、列名の後に要素のピルが表示されます。

REST API と MCP から要素を使用する

Section titled “REST API と MCP から要素を使用する”

REST API では、/rest/v1/analyze/projects/{project_id}/elements で要素を読み取り、変更します。

リクエスト 動作
GET elements と、関連付けられた各列名をその要素の名前に対応付ける index を返します。
PUT name、memo、dtype、mask、dimension、aliases から要素を作成または置換します。名前を変更するには rename_from を追加します。
DELETE(?name= 付き) 指定した名前の要素を削除します。
GET /graph データモデルページに表示される内容を返します。テーブル数とタイプの競合を含む各要素、各テーブルの関連付けられた列、および提案です。

テーブルのメタデータは、各列に保存されている値を返します。要素から取り込む値は返しません。列がどの要素から値を取り込んでいるかを調べるには、GET elements が返す index でその列名を検索します。

MCP 経由で接続されたアシスタントは、element_find、element_upsert、element_delete を使用します。アシスタントが取得するテーブルの説明には、各列のメモが表示され、列にメモがない場合は要素の値で補われます。