OmniでデータベースのPrimary Keyを設定する方法

OmniでデータベースのPrimary Keyを設定する方法

2026.01.13

こんにちは、業務効率化ソリューション部のikumiです。
今回は、OmniでPrimary Keyを設定するオプションについて試してみたので、その内容について記載していきます。

GUIでPrimary Keyを設定する方法

  • 前提として、Omniはidまたはtable_idという名前のフィールド名をデフォルトでPrimary Keyに設定します
  • それ以外の場合は、GUIでPrimary Keyを設定することができます
  • 設定方法としては、Workbookの編集画面から、Primary Keyとして設定したいフィールドのアクションメニューの、Modeling > Primary Keyから設定できます!
    omni-primary-key-setting-option-no1

複合Primary Keyの設定方法

  • 場合によっては、単一のフィールドのみではなく複数のフィールドの組み合わせをPrimary Keyとするケースもあるかと思います
  • その場合は、フィールド同士をCONCATして結合してからPrimary Keyとするか、custom_compound_primary_key_sqlパラメーターを使用して定義する方法もあります。

フィールド同士をCONCATする場合

  • この場合はすべてGUIによって操作が可能です
  • まずは+ Add Fieldから新しいフィールドを作成します
    omni-primary-key-setting-option-no2
  • 続いて、Primary Keyとして設定したいフィールド同士をCONCATで結合させた式を作成します
    omni-primary-key-setting-option-no2
  • 作成出来たら、通常の手順と同様にModeling > Primary Keyを設定できます!
    omni-primary-key-setting-option-no1
  • IDEで確認すると、以下のようにprimary_keyパラメーターが追加されていました!
    omni-primary-key-setting-option-no4

custom_compound_primary_key_sqlパラメーターを使用する場合

  • この場合は、IDEから操作をする必要がありますので、まずはIDE画面に移動します
  • そして、以下のようにview file直下にパラメーターを設定します
schema: omni_dbt
table_name: ORDER_ITEMS

custom_compound_primary_key_sql: [ '"ORDER_ID"', '"PRODUCT_ID"' ]
  • この場合は、Workbookの画面でPrimary Keyフィールドは確認できません
  • また、確認したところprimary_keycustom_compound_primary_key_sqlが両方設定されてしまっていた、というケースでは、custom_compound_primary_key_sqlパラメーターが優先されるようです
  • (実際には、custom_compound_primary_key_sqlパラメーターが設定された時点でprimary_keyパラメーターが自動的に消えるという動き)



以上、Primary Keyの設定に関するオプションを試してみました✨

この記事をシェアする

FacebookHatena blogX

関連記事