
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から設定できます!

複合Primary Keyの設定方法
- 場合によっては、単一のフィールドのみではなく複数のフィールドの組み合わせをPrimary Keyとするケースもあるかと思います
- その場合は、フィールド同士をCONCATして結合してからPrimary Keyとするか、
custom_compound_primary_key_sqlパラメーターを使用して定義する方法もあります。
フィールド同士をCONCATする場合
- この場合はすべてGUIによって操作が可能です
- まずは
+ Add Fieldから新しいフィールドを作成します

- 続いて、Primary Keyとして設定したいフィールド同士をCONCATで結合させた式を作成します

- 作成出来たら、通常の手順と同様に
Modeling>Primary Keyを設定できます!

- IDEで確認すると、以下のように
primary_keyパラメーターが追加されていました!

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_keyとcustom_compound_primary_key_sqlが両方設定されてしまっていた、というケースでは、custom_compound_primary_key_sqlパラメーターが優先されるようです - (実際には、
custom_compound_primary_key_sqlパラメーターが設定された時点でprimary_keyパラメーターが自動的に消えるという動き)
以上、Primary Keyの設定に関するオプションを試してみました✨







