Alteryxで自作マクロにバージョン番号を振って選択できるようにする

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

こんにちは、小澤です。

多くのソフトウェアにはバージョンが存在しています。 Alteryxもまたしかりで2020.2, 2020.3などのようにバージョン番号が振られています。

ソフトウェアはその性質上、一度作り切って完成で次は別な新製品を出すというよりかは、 バージョンアップを重ねるたびに新機能が追加されていき便利になっていくことが多いです。

Alteryxでは、マクロを作成することで自作だったり他の人が作ったりだったりといった独自のツールを新たに追加していくことが可能です。 今回は、マクロを作成し育てていく際にこのバージョン番号を振る仕組みを導入する方法を見ていきたいと思います。

Alteryxのマクロとバージョンの切り替え

Alteryxにはインストール時に標準で含まれているツールの中にもマクロを使って実装されたものが多数存在しています。 これらのツールは、自作したマクロと同様に「Open Macro」を選択することで、Alteryx Designer上で開いて実装を確認できます。

図中のLogistic Regressionツールにあるようにいくつかのマクロは右クリックした際に「Choose Tool Version」という項目が存在しています。

この項目では複数のバージョンがあるツールにおいて、旧バージョンを意図的に選択するなどが可能です。

バージョン番号の設定やバージョンアップした際にどのような機能の追加や変更が行われるかはツールごとに異なります。 Logistic Regressionツールでは、設定画面がHTML GUIに変更されインタラクティブなレポートの出力が追加されたことが確認できます。

なお、バージョンアップによる変更点が内部の実装のみでツールとして利用する側からの見た目には変更がない場合もあります。

異なるバージョンのマクロを作成する

Alteryxのマクロで作成されたツールでは、バージョン番号を振って新しいものや古いものに切り替えて利用できることが確認できました。

続いては、自作ツールのバージョンアップを行いたい場合などにどのように設定すれば同様のことが実現できるか見ていきます。

これは、マクロのワークフローの設定で行います。

Workflow Nameは必須ではありませんが、複数のバージョンを扱う際はそれぞれのyxmcファイルが出来上がるため、 バージョンが異なる同じマクロであることを分かりやすくするために値を設定しておきます。

ここでは、Tool Settignsの部分が、肝になります。 まず「Root Tool Name」に任意の値を設定します。 この部分の設定が同じになっているマクロはすべて同一のものとして扱われます。

そのため、ユーザ設定でマクロを読み込む対象としているフォルダにRoot Tool Nameが同じマクロを複数入れた場合、ツールパレット上に表示されるものはそれらのうち最も「Tool Version」の値が大きいもののみとなります。

別なマクロを作成して、今度は「Root Tool Name」は同じ値で、「Tool Version」を2にしたものを用意したます。

この状態でマクロを使ったワークフローを作成し、右クリックすることで複数のバージョンが表示されていることが確認できます。

このようにして、自作マクロでも複数のバージョンを利用可能な状態にできます。

同一ツールでIn-DB版も利用できるようにする

最後におまけとして、In-DBで利用する際にも同じマクロを利用する仕組みを紹介します。

最初に複数バージョンあるマクロの例として紹介したLogistic Regressionツールも、一部の対応した機能があるデータベースで利用可能なIn-DB版が存在しています。 Logistic RegressionツールはIn-DBのコネクションに接続したときには自動的にLogistic Regression In-DBツールに切り替わる仕様となっています。

この仕組みも実はツールのバージョニングと同じやり方で実現可能です。 先ほどと同じ「Root Tool Name」でIn-DB版のマクロを作成します。

なお、今回はIn-DB版であることを分かりやすくするためにWorkflow Nameも「In-DB」を付けた別なものにしています。

先ほどと同様、このyxmcファイルもマクロを読み込む対象のフォルダに配置して、Choose Tool Versionを選択すると、In-DB版が追加されているのが確認できます。

これで、通常のワークフローであれば「Macro Dayo」のVersion 2がデフォルトで利用され、 In-DBコネクションがあるワークフローにツールを配置すると、「Macro Dayo In-DB」のVersion 1がデフォルトで利用されるような動きとなります。

おわりに

今回は、マクロにバージョン番号を振る方法を紹介しました。

自作マクロを作成する場合、過去のバージョンを保持せずに同一ファイルを上書きしていくような使い方可能です。 新機能のテスト版を作成する場合や、バージョンアップする際に後方互換を切るような変更が必要になるなどの場合ではこのように古いものも残しておくと便利です。 既にあるワークフローが旧バージョンのマクロを利用している場合、自動で新バージョンに切り替わることは無いので影響を与えずに確認ができます。 ただし、あとから切り替えたい場合は手動で変更する必要がある点にはご注意ください。