Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

質問:マクロをツールパレットに登録してサンプルワークフローと関連づける方法

Yoshiro_Fujimori
オーロラ

他のユーザーと共用するマクロを開発したので Designer の製品についてくるような サンプルワークフローも作りました。

これをツールパレットに登録し、ツールをクリックすると "Open Example" のリンクを表示して サンプル を開けるようにしたいと思いました。

 

Knowledge Base に以下の記事を見つけました。

How to add an example link in the custom tool

 

ここに記載のとおり、サンプルワークフローを 以下のフォルダに保存し;

C:\Program Files\Alteryx\Samples\en\MyTest

 

マクロファイル の XML の中の <Example> tag を以下の様に修正したところ;

      <Example>
        <Description>Open Example</Description>
        <File>MyTest\GoodGuyCheck.yxmd</File>
      </Example>
 
ツールパレットに "Open Example" というリンクは表示されるものの、クリックしても何も起こりません。
 
さらに調べると、1年前に Idea に 同じ問題が報告されていました;
There is a post on how to do it for custom tools How to add an example link in the custom tool (alteryx.com)
The way described there has limitations and does not seem to work on macros:
I was able to get the link to show up, but nothing happens when I click.
 
もし、この問題を回避する方法をご存じでしたらご教示ください。
(ツール利用の利便性の話なので緊急性はありませんが、できたらいいなというレベルです)
6件の返信6
AkimasaKajitani
17 - Castor
17 - Castor

@Yoshiro_Fujimori さん

 

これはなかなか難しそうですね・・・。フルパスにしたところで無視されるので、確かに特定のフォルダのみしか開かないように制限がかかっているように思います。Ideasにみんなで書くしか無いかと・・・。

gawa
16 - Nebula
16 - Nebula

@Yoshiro_Fujimori 

相対パスで記載されているので、ツールが置いている場所から、sample WFのあるフォルダをうまく参照できてないのだと思われます

パスの指定を以下のようにフルパスにしたところ、指定したyxmdが正常に開きました

 

image.png


余談ですが、Open Exampleという文字列も、任意に変えることができるようで、ちょっと面白かったです。
image.pngimage.png

AkimasaKajitani
17 - Castor
17 - Castor

おっと、、となると、日本語がパスに含まれてると機能しないパターンですね・・・(日本語のワークフローを指定してたので)。

 

Yoshiro_Fujimori
オーロラ

@gawa さん @AkimasaKajitani さん

 

ありがとうございます。

「英語&絶対パス」 で動作しました!

 

もとの説明文に

The sample workflow can only exist in %ALTERYX_INSTALL%\Alteryx\Samples\%LANG%.

The link will fail if the file is located in a different path.

と言っているので 相対パスでなければいけないのだと勝手に思っていました。

あと、「絶対パスだったら他の場所にワークフローを置いても開くかな」と思って試したら、これは動きませんでした。

奥が深い...

gawa
16 - Nebula
16 - Nebula

@Yoshiro_Fujimori 
Non-Admin版だとUserフォルダ以下にAleryxフォルダが展開されるので、C:\Program Files...の絶対パスだと通らなくなると思われ、ユーザ毎に動的に参照するパスを変えてくれるとベストなのですが。。。

調べている中で、説明文の  %ALTERYX_INSTALL%  が環境変数と勘違いして試行錯誤してましたが、そうではなかったようです。残念。

 

Yoshiro_Fujimori
オーロラ

一点、制約として考えられるのは、絶対パスだと多言語対応できないのではないかと。

今回 試した際には、サンプルワークフローを英語用のサンプル用フォルダの下に置きましたが;

C:\Program Files\Alteryx\Samples\en\

この状態で Designer を日本語設定にすると、サンプルワークフローへのリンクが動きませんでした。

 

Data Cleansing Tool をマクロとして開いて <Example> tag を見ると以下のように相対パスです。

<Example>
<Description>Open Example</Description>
<File>02 Preparation\Data_Cleansing.yxmd</File>
</Example>

対象のサンプルワークフローは

英語:C:\Program Files\Alteryx\Samples\en\02 Learn_one_tool_at_a_time\02 Preparation\Data_Cleansing.yxmd

日本語:C:\Program Files\Alteryx\Samples\ja\02 Learn_one_tool_at_a_time\02 Preparation\Data_Cleansing.yxmd

のように置かれています。

 

推測ですが、Designer の 言語設定を切り替えると同時に、参照するフォルダを en ⇔ ja と切り替えているので

絶対パスだと en のフォルダを XML で指定していると Designer を 日本語設定にした時に日本語用フォルダを見に行ってしまうのかと。

 

まあ、通常 自分が使う言語環境に置いておけばよい話ではありますが、気づいたので書いておきます。

トップのソリューション投稿者