Alteryxのyxiファイルを作る

こんにちは、小澤です。

Alteryxにyxiという形式のファイルがあります。 今回は、このyxiファイルを作成する方法を解説したいと思います。

yxiファイルとは

yxiファイルは、マクロをインストールして利用するファイルになります。 作成したマクロをyxiファイルとして配布することで、ダブルクリックするのみで利用可能になります。

スクリーンショット 2017-10-23 11.39.46

ツールは、%APPDATA%\Alteryx\Tools以下にインストールされ、該当ユーザから利用可能な状態になります。

yxiファイルを作る

yxiファイルを作成する機能はAlteryxにはありません。 そのため、ちょっと特殊なやり方となります。

yxiファイルの実体

yxiファイルの実体はマクロと設定ファイルをまとめたzipファイルです。 ファイルの拡張をyxiからzipに変更することで、解凍することが可能です。

解凍されたファイルの中身は、インストール先に展開されたものと同様であることが確認できます。

例えば、Google Sheetsのyxiファイルであれば、以下のようにGoogle Sheets InputとGoogle Sheet Outputが含まれています。

スクリーンショット 2017-10-23 14.43.18

スクリーンショット 2017-10-23 14.43.32

また、マクロのファイルはSupporting_Macros以下に含まれています。

スクリーンショット 2017-10-23 14.44.46

yxiファイルの作成

yxiファイルを作成するには、同じ構成で各ファイルを作成し、zipで圧縮したものの拡張子を変えるだけです。

最低限必要なものは

  • マクロの本体
  • xmlの設定ファル
  • 画像ファイル

の3つとなります。

今回は、必要最低限で構成します。 そのため、設定のUIに使うhtmlやjavascriptのファイルは、利用しません。

さて、では早速作ってみましょう。 今回は、以下で作成したマクロをyxiファイル化してみます。

まず、マクロの設定をします。 これはマクロのワークフロー設定から、Meta infoを選択します。

スクリーンショット 2017-10-30 17.57.36

ここではまず、Descriptionを設定します。 これは、ツールの説明として表示されるものになります。

スクリーンショット 2017-10-30 17.59.29

つづいては、Tool PalleteのCategoryを設定します。 ここで設定したタブにツールがカテゴライズされます。

各ファイルは、以下のように配置します。

スクリーンショット 2017-10-30 18.02.06

MacroTestフォルダ以下にマクロの実体を入れています。

スクリーンショット 2017-10-30 18.02.33

画像はなんでもいいのですが、今回はマクロのアイコンに使用したのと同じものを配置しました。 これは、インストール時に表示されるものになります。

最後に、Config.xmlの中身を見てみましょう。

<?xml version="1.0"?>
<AlteryxJavaScriptPlugin>
   <Properties>
      <MetaInfo>
         <Name>Macro Test</Name>
         <Description><![CDATA[Macro no test desu.]]></Description>
         <ToolVersion>0.1</ToolVersion>
         <CategoryName>Preparation</CategoryName>
         <Author>John Smith</Author>
         <Icon>MacroTest.png</Icon>
      </MetaInfo>
   </Properties>
</AlteryxJavaScriptPlugin>

各項目はインストール時に表示されるものになります。

これらのファイルをまとめてzipで圧縮します。 最後に拡張子をyxiに変更すると作成完了です。

ダブルクリックして、インストールする際にConfig.xmlで設定した各項目が表示されているのが確認できます。

スクリーンショット 2017-10-30 18.10.47

おわりに

今回は、インストーラ形式でマクロを導入するためのyxiファイルの作成方法を解説しました。 一手間かかるので少々面倒かもしれませんが、これで簡単にインストールして利用可能な形式での配布が可能になります。

Google Sheetsツールなど、他のyxiファイルを見ていただくと、この他にも複雑な設定が可能なことがわかります。 htmlやjavascriptの知識が必要になるものもありますが、ご興味のある方は見てみるといいかと思います。

参考資料