製品ガイド

SQL ユーザーのための Alteryx ガイド

Alteryx SQL

データへのアクセスやデータの準備に対する旧来のアプローチは多くの時間を要するものとなりがちです。こうした状況に頭を抱えるアナリストの中には、ITやSQLの開発者に頼らずに、自ら問題に対処し、SQLのコーディングを学ぶ人もいるほどです。SQLを書く際にアナリストが直面する最大の問題の1つは、SQLを無事に動作させることです。SQLにはオートコレクト機能がないため、ピリオドやカンマを打ち間違えたとしても、自動的に検出されないため、時間をかけて書いたスクリプトが無駄になってしまう恐れさえあります。

 

Alteryx では、最先端のワークフローベースのアプローチにより、非構造化データを含むあらゆるデータソースからのデータを簡単に準備、ブレンド、分析することができます。 そのため、コードのテストやデバッグに時間を費やすのではなく、反復可能なワークフローを構築し、他のアナリストや IT 部門、ビジネスの意思決定者など、あらゆるステークホルダーとデータの抽出や変換の方法を正確に共有することができます。 これにより、 コーディングにかかる時間を大幅に短縮するだけでなく、透明性と一貫性を高めることが可能となっています。

 

このガイドでは、SQL でコーディングされることの多い一般的なデータ関連のプロセスのいくつかをリストアップし、 Alteryx で同様のプロセスを実行する方法を解説します。 SQL に関する知識を Alteryx のワークフローでどのように活用できるのか、さまざまな例を交えながら理解を深めていただける内容となっていますので、ぜひご活用ください。

 
 

セレクト

SELECT/FROM/WHERE/GROUP BY/HAVING/ORDERBY など

SQLの場合

 

 

Alteryx の場合

 

Alteryxでデータにアクセスするには、データ入力ツールをキャンバスにドラッグアンドドロップして、データベースを指定および選択します。
この例では、データ入力ツールを使用してSQL Serverデータベースに接続しています。

セレクトツールを使って、データタイプを変更、フィールドを選択または選択解除、あるいはフィールド名を任意の名前に変更することができます。ここでは、顧客IDがフィールド名です。

 

Alteryxでは、結合ツールで複数のデータセットを簡単に結合することができます。

結合ツールを使用して共通のフィールド (主キー) を持つ2つのテーブルを結合すると、Alteryxが自動的に3つのレコードセットを返します。

  • 内部結合 (J) : 共通フィールドに基づいてレコードを一致させながら、結合しようとするテーブル (R) の列と結合したソーステーブル (L) の列。
  • 左非結合 (L) : 結合しようとするテーブル (R) に一致するものが見つからない、元のテーブル (L) のレコード
  • 右非結合 (R) : ソーステーブル (L) に一致するものが見つからない、結合しようとするテーブル (R) のレコード

こちらは顧客 ID の結合です。


結合ツールの他に、Alteryxにはインデータベース結合ツールもあります。このツールを使用すると、データベースからデータを移動することなく大規模なデータセットに対してブレンディングと分析を行うことができ、従来の分析方法よりも大幅にパフォーマンスが向上します。

インデータベース結合ツールによって、内部結合、左外部結合、右外部結合、および完全外部結合を行うことができます。

Alteryxのインデータベースツールの詳細については、こちらをご覧ください。


ユニオンツールを使用すると、フィールド名あるいは各列の位置に基づいて複数のレコードセットを組み合わせることができます。各レコードセットの列ヘッダーの順序を簡単に変更して一致させることができます。

ここでは、結合されていない左レコードと(内部)結合レコードの2つのレコードセットを結合し、左外部結合を生成します。

 

特定の基準に基づくレコードの制限は、フィルタツールを使用して実行します。フィルタリングには、単純な比較から複雑な条件文まで何でも使用できます。この例では、米国を含まない国のレコードのみがフィルタリングされています。

 

Alteryxでは、集計ツールを使用して複数のレコードにわたるデータを収集し、集計関数を適用して結果を1つまたは複数のフィールドでグループ化します。

この例では、集計ツールを使用して国ごと (英国、ドイツなど) にグループ化し、国別の合計金額の平均を出しています。

特定の基準に基づくレコードの制限は、フィルターツールを使用して実行できます。フィルタリングは、単純な比較から複雑な条件文まで、何にでも使用できます。この例では、平均合計が1000またはそれ以上のレコードのみを示しています。

 

Alteryxのソートツールを使用すると、必要に応じてデータを整理できるようになります。列の名前を選択し、昇順または降順のどちらかを選択します。この例では、平均合計金額を降順で表示しています。


SQL の SELECT 分に対応する Alteryx ワークフローです。

 
 

クロス 結合

クロス 結合

SQLの場合

Alteryx の場合

フィールド付加ツールを使って、ソース入力のフィールドをターゲット入力のすべてのレコードに追加できます。ターゲット入力の各レコードは、ソース入力の各レコードごとに複製されます。この例では、すべての流通センターのレコードを各顧客レコードに追加しています。

流通センターのレコードを各顧客レコードに追加する Alteryx ワークフローです。

 
 

Where Between

Where Between

SQLの場合

Alteryx の場合

特定の範囲内のフィールド値を持つレコードに限定するには、Alteryxフィルターツールを使用します。この例では、2016 年 12 月 1 日〜31 日の期間における注文日をフィルタリングしています。

2016 年 12 月 1 日 ~ 31 日の間に発注された注文の顧客注文データをフィルタリングする Alteryx ワークフローです。

 
 

Where In

Where In

SQLの場合

Alteryx の場合

可能な選択肢のセットに属するフィールド値を持つレコードに限定するには、Alteryxフィルターツールを使用します。この例では、米国または英国のいずれかの国の顧客のフィルタリングを行っています。

米国または英国の顧客のフィルタリングを行うための Alteryx ワークフローです。

 
 

Distinct

Distinct

SQLの場合

Alteryx の場合

Alteryxのユニークツールを使うと、選択したフィールドに基づいて、データを2つのストリーム (重複したレコードと固有のレコード) に分けることができます。この例で選択されたフィールドは国です。

Distinct

この Alteryx ワークフローでは、ユニークツールを用いて、選択したフィールド(この例では「国」)に基づいて、データを 2 つのストリーム(重複したレコードと固有のレコード)に分けています。