【レポート】トレーニングセッション「Alteryx Designer for SQL Users(SQLユーザーのためのAlteryx Designer)」– Alteyrx Inspire 2023 #alteryx23

最後におまけの小ネタあり!アメリカのおやつ事情
2023.06.07

こんにちは、まつおかです。

2023年5月22日(月)~5月25日(木)まで、アメリカ・ラスベガスで開催されたAlteryxの年次カンファレンスイベント「Inspire 2023」に現地参加してきました。

当エントリではイベント2日目に行われたトレーニングセッション「Alteryx Designer for SQL Users(SQLユーザーのためのAlteryx Designer)」のレポートをお届けします。

セッション概要

当トレーニングセッションの概要は以下のとおりです。

概要

You know SQL, and have a sound understanding of working with data, but how can you translate this knowledge to Alteryx? This session uses SQL terminology and keywords to help you understand tools and processes in Alteryx.

SQLに詳しいしデータを扱うことについても十分な理解があるけれど、それをAlteryxでうまく活かすことができますか?このセッションでは、SQLの用語やキーワードを使用して、Alteryxのツールやプロセスを理解するのに役立ちます。

登壇者

Grant Eaton 氏
Advanced Professional, Sales Engineer, Alteryx

セッションレポート

学習目標

このトレーニングセッションでは、次のことを学びます。

  • Alteryxの基本説明と、それがSQLに関連する方法や関連する可能性があるかを説明
  • ワークフローでSQL文を再現するために適切なツールを選択し適用する方法

SQLユーザーは、データの概念について十分に理解しています。問題は、この既存の知識を新しいテクノロジーの文脈でどのように活用するかということです。

対象プロセスとツール

Input and Preparation Tools

Input Data Tool(データ入力ツール)

  • データを選択する最初のステップ
  • 設定オプションは入力データの形式に依存
  • リレーショナルデータベース管理システム(RDBMS)や一部のファイルベースのソースではSQLコマンドが使用可能
  • レコード制限機能(TOP,LIMIT)

Browse Tool(閲覧ツール)

  • 接続されたツールのデータを閲覧
    • 一度に複数列のデータプロファイル情報や単一列のデータが閲覧可能
    • データ型、レコード数、データ品質、各種統計情報が確認可能

Select Tool(セレクトツール)

  • 列(フィールド)を選択:SQLのSELECT句に相当
  • データ型を変更:SQLのCAST関数に相当
  • フィールド名を変更:SQLのAliasまたはAS句に相当
  • フィールドの並べ替え
  • 不明なフィールドの処理
    • 新規または変更されたフィールドを通過させたり制限するなどデータ変更時の動作を考慮したワークフローの構築が可能

Filter Tool(フィルターツール)

  • 式はブール値で評価:SQLのWHERE句に相当
  • Filterツールの出力
    • T(True)は条件を満たしたレコード
    • F(False)は条件を満たさないレコード
  • 比較演算子や正規表現など、SQLの述語条件を模倣する表現が可能
    • SQLのHAVING句に相当
  • カスタムフィルター
    • カスタムフィルターを使用し、複雑な条件や複数の列を参照する条件設定が可能
    • 次のような条件関数を使用
      • IF c THEN t ELSE f ENDIF」といった式を使用し、TRUE または FALSE の結果を提供、特定の条件に基づきデータをハイライトまたはフィルタリング
    • 条件付き関数はどのデータ型でも使用可能

Auto Field Tool(オートフィールドツール)

  • 入力のすべてのレコードを読み取り、列内のデータに関連する最小のサイズに設定可能
  • 「フィールドタイプを自動変更する文字列フィールドを選択」で、自動設定するフィールド(列)を選択
    • 個別にフィールドを選択、もしくは「すべて」を選択、また「クリア」ボタンを使用
    • 設定されたフィールドが正しくロードされ下流で認識されるよう、この時点でワークフローを実行

Join Tools

Join Tool(結合ツール)

  • 結合条件は特定のフィールドを選択することで指定
    • SQLのWHERE句と使用されるJOIN句に相当
  • 同じデータ型を使用することがベスト
  • セレクトツールやオートフィールドツールを使用し結合する前にデータ型を調整
  • Double/Floatは非推奨
  • 大文字と小文字が区別される
  • フォーミュラツールを使用し大文字小文字を揃えておく
  • 出力時の動作を選択(この後詳細な説明あり)

Join Tool Output Type(結合ツールの出力タイプ)

  • INNER JOIN
    • Jアンカーから出力されたものがSQLのInner Joinに相当
  • LEFT OUTER JOIN
    • Lアンカー、Jアンカーから出力されたデータをユニオンしたものがSQLのLeft Outer Joinに相当
  • RIGHT OUTER JOIN
    • Jアンカー、Rアンカーから出力されたデータをユニオンしたものがSQLのRight Outer Joinに相当
  • FULL OUTER JOIN
    • Lアンカー、Jアンカー、Rアンカーから出力されたデータをユニオンしたものがSQLのFull Outer Joinに相当
  • Multiple(複数結合ツール)
    • Alteryxにあるツールで、2つ以上のデータを結合することが可能

Summarize and Sort Tools

Summarize Tool(集計ツール)

  • GROUP BYフィールドを選択し「追加」→「グループ化」を選択
    • SQLのGROUP BYに相当
  • 集計関数はアクションとして適用
    • フィールドを選択
    • 追加 > 希望する関数を選択
  • 関数例
    • Sum(), min(), max(), first(), last(), count(), average(), median(), mode(), percentile(), standarddeviation(), variance(), longest(), shortest(), concat(), など

Sort Tool(ソートツール)

  • 並べ替えの対象となるフィールドを1つ以上選択
  • 各項目について、昇順または降順のいずれかを選択
  • ソートを実行する際に使用する辞書を選択 データベースの照合順序を選択するのと同じようなもの
  • SQLと同様に、ソートされるフィールドの順序が重要
    • SQLのORDER BY句に相当
  • 下流処理において特定の順序でレコードを並べる必要があるワークフローにはAMPエンジンを使用

ワークフロー例

ここまでで紹介したツールを使用したワークフローがこちらです。
2つのcsvファイルを読み込み、データを絞り、結合、集計しています。

これをSQLで記述すると以下のようになります。

SELECT A.STATE, AVG(SPONSOREDBILLS)
FROM
	(SELECT *
	 FROM CURRENT_LEGISLATORS A
					LEFT OUTER JOIN BILLS_SUMMARY_114 B
						ON A.GOVTRACK_ID = B.GOVTRACK_ID
	 WHERE TYPE="REP")
GROUP BY A.STATE
HAVING AVG(SPONSOREDBILLS)>13
ORDER BY  AVG(SPONSOREDBILLS) DESC

SQLに慣れている場合は良いのですが、可読性を考えるとAlteryxのワークフローの方が理解できるメンバーが増えて良いと思います。 途中のデータを確認できるのもAlteryを使うメリットにもなります。

さいごに

以上、トレーニングセッション「Alteryx Designer for SQL Users(SQLユーザーのためのAlteryx Designer)」のレポートでした。

SQLユーザーが処理をAlteryxに置き換えることができるとデータを利用できるメンバーも増え、また、啓蒙していく立場としても頼りになるのではないかと思います。

おまけの小ネタ

(ここからはセッションとは関係のない、アメリカ出張に関する小ネタです!)

Inspire 2023 では、参加者に朝食と昼食が提供されたのですが、それに加え午前と午後に1回ずつBreak Timeがあり軽食が提供されます。
これが私にはまあまあ驚きで・・・
朝食や昼食をとったあと2時間ほどでドーナツやパン、スナック菓子、ナッツなどが提供されるのですが、毎回「さっき食べたばかりなのにこんなに食べられる!?」と。
ホットドッグが出ていた時もありとても美味しそうではあったのですが、お腹に余裕がなく残念でした。。。
で、ほんとにアメリカの方々は毎日こんな頻繁に食べるものなのか!?と思い調べてみたところ、「忙しい生活や、食品産業や広告の発展、さらにコロナ禍で毎日の過ごし方が変わったことが間食の機会を増やしている」といったことが書かれた記事を見つけました。
実際には食生活や習慣というのは人それぞれではあるとは思うものの、少なくとも日本人と比べアメリカ人のほうが間食する割合は高いようです。学校でもスナックタイムが設けられてるそうな!
イベント内で提供されていたものなので普段の間食よりはもしかすると少しいいものが出されているかもしれないですが、(食べ過ぎを気にせずw)もう少し楽しめば良かったかなー?と思ったりもして。
それにしても毎食用意されていたコーラの数にもびっくりでした!
食文化の違いを感じるのも、海外での楽しみのひとつですね~。特に食べるのが好きな私にはw

おまけのおまけ、最近買って楽しかった本です!