【Alteryx Tips】データベースのテーブルにPrimary Keyを設定する方法

AlteryxでデータベースのテーブルにPrimary Keyを設定する方法を紹介します。

なぜPrimary Keyが必要なのか?

まず、なぜPrimary Keyが必要なのかを説明します。

結論としては「Alteryxのデータ出力ツールでデータベースの更新を行う際は、データベースのテーブルにPrimaryKeyが設定されていないと失敗してしまう」からです。

それでは、どのようになるのか見ていきましょう。

Alteryxのデータ出力ツールでデータベースのテーブル(以下DBテーブル)を更新する場合には以下の更新メニューが存在します

これらを実行する場合、DBテーブルにPrimary Keyが設定されている必要性があります。

データベース側でDBテーブルを作成する場合は、Primary Keyの設定は容易ですが、Alteryxを用いてDBテーブルを作成する場合は、通常Primay Keyの存在しないDBテーブルが作成されます。このようなテーブルを更新する場合はエラーが発生してしまいます。

そこで「Primary Key(主キー)」の設定が必要となります。

AlteryxでPrimaryKeyを設定してデータベースのテーブルを作成する方法

それでは、Alteryxを使ってPrimary Keyを設定しつつデータベースにテーブルを作る方法を紹介します。

AlteryxでPrimary Keyを設定する(出力ツール <Output Tool>オプション)

サンプルとして、以下のテキスト入力ツールのデータから、Primary Key付きDBテーブルを作成します。今回、Primary Keyはフィールド「id」に設定します。

テキストツールではタイプが自動判別ですので、選択ツールを使い、適切なタイプに修正します。

出力ツールのオプション「SQLステートメント事後作成」(テーブル作成後にSQL実行)にフィールド「id」をPrimaryKeyに変更するSQLを記載します。

SQL構文はデータベースに準拠しますのでご注意ください。

今回はMicroSoft SQL Serverを使用していますので下記の2行のSQL文になります

SQL文 内容
ALTER TABLE PrimaryKeyTest用 ALTER COLUMN id int not null; Primary Keyに変更するため、属性をNot Nullに変更します。
ALTER TABLE PrimaryKeyTest用 ADD PRIMARY KEY (id); フィールドidをPrimary keyに変更します。

※「PrimaryKeyTest用」は作成するテーブル名です

※太文字部分以外は設定に合わせて変更してください

SQLステートメント事後作成を利用することでPrimary Keyに設定されていることがデータベース側(今回は、Microsoft SQLServer)でも確認できます。

まとめ

  • Alteryxの出力ツールでデータベースを更新する際はテーブルにPrimary Keyが設定されている必要があります
  • Alteryxで普通にデータベースにテーブルを作成するとPrimary Keyは設定されません
  • AlteryxからPrimary Keyを設定するには、テーブル作成時に「SQLステートメント事後作成」オプションを活用しましょう
  • Alteryxの出力ツールでデータベースを更新する際、Drop(上書き)であればPrimary Keyは不要です
  • Alteryxを使わずに、元々データベース側でテーブルを作成している場合、Primary Keyを設定していれば改めてAlteryxで設定する必要はありません

 

※Alteryx Version 2018.4.5時点での情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は2週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事