今日は3つの動的ツール(動的入力/動的リネーム/動的セレクト)を紹介します。
これらのツールを活用すると時間短縮を実現できます。
・複数のファイルを一度に取り込めたり、
・一定のルールでカラム名称を一気に変更出来たり、
・一定のルールやプログラムで変数(フィールド)を一気に選択(または解除)できたり、
します。
手動で、よりも、格段にミスを減らすことが可能です。
動的というとプログラミングが必要なのでは?と怖気づいてしまう方もいらっしゃいますが、書き方を覚えるだけ!
簡単なのでぜひご一読ください!
こんにちは、PR担当Saoriです。
2022年が始まり、もう3月となりましたね。早い。。。
本日は、動的にデータを扱うことができるツールをいくつかご紹介します。
ミスの発生を防ぐことができ、作業時間も短縮できます。
また、動的という概念はプログラミングで使いますので、他の業務でも利用できます。
是非ワークフロー作成時に、これらのツールを使ってみてください。
動的とは?|用語の確認
早速ですが、最初に動的という意味を確認してみましょう。
動的とは、状態や構成が状況に応じて変化したり、状況に合わせて選択できたりする柔軟性を持っていること。対義語は「静的」「スタティック」(static)。
引用元:IT用語辞典 e-words ( https://e-words.jp/w/%E5%8B%95%E7%9A%84.html )
状況に応じて変化ができることが「動的」という事がわかりました。今回紹介する3つのツールは、普段使っているデータ入力ツールや選択ツールよりも、柔軟性が高いデータ入力ツールや、選択ツール と思っていただけるといいと思います。
そのため、ツール自体の機能が多いです、また元の使い方を知っていないと理解できない部分もあるため、最初は少しわかりづらいかもしれません。
慣れたらこんなに便利なことはない!となりますので、是非頑張って使えるようになってください。
弊社では、機械学習を行う際に、100個、200個、場合によっては1,000個以上の変数を作るのですが、その際作るワークフローの列数がすごく多くなります。また、大量のファイルを一度に取り込みたい時に、これらのツールを使います。
では、それぞれのツールをご紹介してまいります。
動的入力ツール(Dynamic Input Tool)
最初は動的入力ツールです。
ツールの説明
動的入力ツールは、入力に関する情報を動的に扱うことができます。
具体的には、
データの構成内容(フィールド名や列数の中身)が同じ条件下において、
・一気に(大量の)ファイルを取り込みたいとき
・複数シートあるExcelファイルを取り込みたいとき
・SQLの一部を書き換えながらデータを取り込みたいとき
に、この動的入力ツールを利用します。
利用シーン
Alteryx Desingerにて、一度に多くのデータ(ファイル)を取り込みたい場合には、
データ入力ツールと
Unionツールを使ったり、
データ入力ツールで*(アスタリスク:ワイルドカード(あいまい検索機能)を取り込むこともできるのですが、より柔軟な対応ができるようになるのが動的入力ツールとなります。
データを取り込むにあたり、構成内容(フィールド名や列数)が同じだけど、データ中身の中身(あとファイル名)だけが
違うということがある方、いらっしゃるのではないでしょうか。
よくあるのが
FY21_営業レポート_9月.csv
FY21_営業レポート_10月.csv
FY21_営業レポート_11月.csv
というようにに、営業結果のレポートが月別に分かれている場合。
そのほかには、
FY21_営業レポート.xls
のファイルを開くと、「9月」「10月」「11月」のように、シートが分かれている場合。
このようなデータを一度に取り込めるのが、動的入力ツールとなります。
データ入力ツールを複数並べることで解決しますが、ファイル数が多くなると手間が増え、間違いも起こりやすくなります。また、
データ入力ツールでの利用での取り込みよりも、
動的入力ツールの方が、自由度が高くデータを取り込むことが出来ます。
Alteryx設定内容(使うための手順)紹介
今回はExcelファイルに、複数のシートがある場合、それを同時に取り込むワークフローをご紹介します。
月ごとに、同じ構成要素のデータがシートで分かれていることってあるかと思います。
まず、最初は、データ入力ツールを使います。
え、いつも通りに取り込むの? そうです、まず最初はデータ入力ツールを使います。
Excelファイルを取り込むと、下記の画像が出てきます。普段、ExcelファイルをAlteryxに取り組む際には「シートを選択」をクリックするのですが、今回は、シート名のリストのみをインポートを選択します。
シート名のリストのみをインポートする、を選択後、データ入力ツールの設定画面とプレビュー画面は下記のようになります。その名の通り、データを取り込むのではなく、取り込んだExcelファイルに含まれているシート(名)を取り込みます。
次は、動的入力ツールの出番です。
データ入力ツールの後ろに動的入力ツールを繋げます。
その後、①-1、①-2のように、基準となるようなファイルを選択し(最初に取り込んだExcelファイルと同じファイルを選択されてもOKです。)
Excelファイルを設定後は、②で、どうやってデータを取り込むかを設定します。
今回は、フィールドは「Sheet Names」、オプションは「ファイル/テーブル名を変更する」を選択します。
上記設定後、ワークフローを実行すると、シート別に分かれていたデータが取り込まれます。動的入力ツール内の実行結果を確認すると、4つのシート(データ)が1回の実行で取り込まれていることが確認できます。
動的リネームツール(Dynamic Rename Tool)
次は動的リネームツールです。
ツールの説明
動的リネームツールは、名称を動的に変更したい場合に利用します。
具体的には下記のようなことを実施することができます。
・全てまたは一部のフィールドで接頭辞/接尾辞 を追加する
・全てまたは一部のフィールドで接頭辞/接尾辞 を削除する
・別で用意したデータ(テーブル)を使って一括でリネームを行う
・一部のフィールド名に対し、条件を指定してリネームを行う
・メタデータ(サイズやどういった計算をしたものかといった情報)
・データの最初の行からフィールド名を取得する
使うシーン
APIやDBからデータを取ると、フィールド名がシステムに寄った名称(add や sis01,sis02等)になっていることもあり、集計する際わかりづらいということがあるかと思います。
このフィールドは何が格納されているんだったけ?と毎回考えるくらいなら名称を変えたほうが楽です。
また、システムからデータを取った場合のフィールド名称は、それぞれが似ていることもあり、間違いも起こりやすいです。
やはり、こちらも複数列名称を手作業で変更するのは手間ですので、このツールを使って一括置換を行うととても便利です。
具体的な事例
こちらの画像のように、列名が記号や何が格納されているのか直感的に判別しづらい文字になっていることってありますね。
このような時に動的リネームツールを使うと便利です。
Alteryx設定内容(使うための手順)紹介
先ほどの画像のように、フィールド名が a b c d となって直感的に判断しづらい場合をわかりやすく変更する場合や、
列名が記載されていないデータに列名を付与するために、動的リネームツールを使います。
今回は事前に準備しておいてフィールド名を変換するためのテーブルを用意しておき、その名称に置換します。
なお、この変換テーブルは、ファイルを作成しておいてデータ入力ツールを使って取り込む方法でも、
テキスト入力ツールを使って取り込む方法でも、どちらでも構いません。
その後ろに動的リネームツールを接続します。
動的リネームツールは2つのアンカー(取り込む場所)があります。接続方法は下記の画像のように、取り込んでいるデータをL側に、今紹介した変換用のテーブルはR側につなぎます。
接続した後、動的リネームツールの設定を行います。
上記の設定後Alteryxのワークフローを実行すると、テーブル名が変換されます。
その他、一律の条件で名称を変更する、といったこともできますが、こちらについては別記事でご紹介します。
【参考】動的リネームツールでできること
動的選択ツール(Dynamic Select Tool)
最後は動的選択ツールです。
ツールの説明
選択を動的に扱うことが出来ます。
変数作成時や結合を多く行った際等、フィールド数が多くなるデータを扱う際に利用すると便利です。
具体的には下記のようなことを実施することができます。
・特定のデータ型のみ抽出(選択)
・指定した名称のみを抽出/変更(選択)
・指定した範囲のみを抽出(選択)
使うシーン
こちらも、先ほどの動的リネームツール同様、機械学習を行うための変数作成時によく利用します。
具体的な事例
今回は、指定した名称のみを選択する場合の設定方法をご紹介します。
Alteryx DesignerのJOINツールや、
複数行フォーミュラ、
日時ツールを利用して、フィールド名に接頭語がついた経験がある方もいらっしゃるかと思います。
複数フィールドフォーミュラを使い、出力結果を見ると、下記の画像のように「New_」という接頭語がついていることが確認できるかと思います。
※Alteryx DesignerはExcelと異なり、一つのデータ内に同じ名前のフィールド名を複数作ることができません。
これらを選択ツールを使い、不要な列を削除することもできますが、やはり列数が多くなると見づらかったり間違いやすくなります。指定の条件に沿ったものだけを選択することができるようになります。
選択ツールを使う時と同じように、動的選択ツールを接続後、下記のように設定します。
今回は、フィールド名の接頭辞にNewがついているものだけを選択するという意味の関数を入力し、列の選択が手軽になるよう設定しました。
なお、フィールド名ではなくて、文字列だけ・数値型だけといった型に沿った形での選択をするような設定も可能です。
動的選択ツールを使ってワークフローを実行した後、確認してみると、指示通りの動きをしてくれました。
ツールの前後に選択ツールを配置し、確認すると下記のようになってます。
今回は3つほどですので、選択ツールのみを利用し、クリックしたほうが早いようにも感じるのですが、列がたくさんある場合(変数作成する際は1000列くらいになることも、実際あります。)に手作業でやろうとすると間違えることが多いので、そういった場合は
動的選択ツールを使われた方が早いですしミスの発生が防げます。
まとめ
今回は変数作成に便利な動的ツールを3つご紹介しました。
「動的」って最初は「?」な感覚なのですが、身につくと大変便利な機能(考え方)となります。またミスの発生が防げますので、知っておいて損はないと思います。
現在利用されているワークフローで一度試していただけますと、腹落ちするかと思いますので是非試してみてください。
また、わからない場合や、より短期間で使いこなしたいと思う場合はぜひ弊社へご相談ください。
毎日AlteryxDesignerを利用しているアナリストが、ワークフロー開発のお手伝いをいたします。
Alteryx(アルテリックス)を1か月間無料でご体験いただけます。
無料体験中の利用方法ご説明などのサポートも行っております。
トライアル期間中もサポートいたします、ご不明な点がございましたらお気軽にお問い合わせください。
1か月間のフリートライアルはこちらから
Alteryx(アルテリックス)のお見積りや、その他データ分析に関するご相談は「問い合わせページ」にて承っております。お気軽にご相談ください。
お見積もり依頼などのご相談はこちらから
AlteryxDesignerを毎日利用し、活躍しているアナリストがデータに関するお悩みをお伺いしております。
様々な分析手法・集計ツールを使っているため、全般的なデータに関するお悩みやご相談を解決するためのコンサルティングも請け負っております。
お気軽にご相談ください。
Photo by Austin Distel on Unsplash