エクセルで使われてる関数・計算式を Alteryx で抽出する方法

2021.06.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

(For English, click here)

はじめに:

Alteryx は大人気なデータ処理ツールでいろんなファイルやデータベースからデータの入力が出来ます。例えばエクセルの場合は個別のファイルや複数のファイルからデータが取得することで、対象のデータがその一つのシートに存在するか複数のシートに含まれているかにかかわらずに一括で入力が可能です。そして保存されてるファイルも一つのフォルダーに存在すれば、複数のディレクトリーより取得することも出来ます。入力するデータのスキーマも同じのか異なるのかにもかかわらずにデータの取得が可能です。

しかし、これらの事例ではデータの取得を行う際に値のみが入力されます。セルに含む関数・計算式・リファレンス値などを取得する際には少し変わったやり方で処理する必要があります。例えば以下の事例ではデータ入力する際にデフォルトとして、“5” が反映されその計算式 “=(10+5)/3” が無視されます。

エクセルの関数を取得する希望のユーザに対してこちらの記事が役に立ちます。

方法:

以下のデータを持つエクセルファイルを利用した際に列名 A, B と C では英数字の値が記載しており、列 D では =B/C*100 の式により計算されてます。

Alteryx ではエクセルファイルを読み込む時に基本的に値のみを抽出することになってます。式や関数を抽出するにはファイルは Zip 類のファイルとして入力する必要があります。入力ツールの設定ではファイル形成は “Zip (*.zip)” を選んでテーブルまたはクエリの所にクリックしポップアップした設定では “Worksheets” というサブフォルダを選びます。

次は、入力ツールの区切り記号は “\n” に登録し先頭行にフィールド名を含めるのチェックを外しフィールドの長さは5桁に設定します。

次は、サンプリングツールを導入し最後の一つ行を選びます。

これまでは入力されたデータを抽出する為に最後に XML パースツールを加え以下のように設定を行います。

目的とする式や関数が “n” の outer XML 列に現れます。“n” というのは元のエクセルファイルに存在する式や関数の列番になります。今回の事例ではエクセルファイルの四ツ目の列に式があったので、結果は c_4_OuterXML に現れます。もしくは最後の列 row_OuterXML にも結果が現れます。

このような処理でエクセルに存在する式は抽出することが出来ます。

まとめ:

Alteryx を活用してエクセルに含む式や関数などが抽出することが出来ます。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400