Skip to main content

アプリ構築ガイドライン

Alteryx 分析アプリは、ユーザーのために特定の機能を実行する自己完結型のプログラムです。インターフェースはシンプルであり、アプリは単一の目標を念頭に設計されている必要があります。アプリは、最適なユーザー体験に焦点を当て、限られた範囲のタスクを実行する必要があります。構築しているアプリをユーザーがウェブブラウザで実行することを考慮すると、バックエンドの設計は巧妙でエレガントかつ効率的である必要があります。

最新のヴィンテージデータセット

特定のデータセットを使用するアプリをオーサリングする場合、選択したデータセットは、最新ビンテージバージョンのデータセットを使用するように設定する必要があります。つまり、Designerはユーザーのコンピュータにインストールされている最新バージョンのデータセットを自動的に使用します。これは、人口統計解析ツール(Allocate)、行動解析ツール(Solocast)、カルガリーツール、Drivetimes、ジオコーダー、またはマッピングツールの参照ベースマップに適用されます。データセットを設定するには、 [オプション]  >  [ユーザー設定]  >  [ユーザー設定の編集] > [既定のデータセット] の順に選択します。

メタ情報タブ

ワークフロー設定 ウィンドウの [ メタ情報 ] タブに入力された情報は、Web 上のアプリの詳細に表示されます。

  • [ ファイル名 ] を使用して、ファイルの名前を表示します。

  • または、[ カスタム ] を選択して、アプリに フレンドリー な名前を付けます。例えば、アプリファイル自体が「Download_Weather_Data」という名前の場合、カスタム名は同様でアンダースコアなしの「Download Weather Data」とできます。

  • 説明 : ここに入力された説明文はウェブ上でアプリに表示される説明なので、それが正確な説明でユーザーフレンドリーであることを確認してください。

  • URL : URL フィールドでは、外部ウェブサイトへのリンクを含めることができます。

  • 表示テキスト(オプション): このフィールドを使用してURLに対する表示テキストを設定します。

  • (マクロのみ) ツール設定 :これらの設定はマクロにのみ適用されます。マクロリポジトリの詳細については、 ユーザー設定 マクロ を参照してください。これらの設定によって、複数のバージョンのマクロを作成できます。マクロリポジトリに保存されたマクロは、ツールパレットに表示されます。

    • ルートツール名 : ツールの名前を入力します。同じルート名で複数のツールを持つことができますが、ツールパレットには 1 つのツールしか表示されません。

    • ツールバージョン : ツールのバージョン番号を入力します。最新バージョンのツールがツールパレットに表示されます。それよりも古いバージョンのマクロツールにアクセスできるメニューを表示するには、ツールをキャンバスにドラッグして右クリックします。

    • ツールインデータベース? : ツールがインデータベースツールとともにワークフローで使用できる場合、このオプションを選択します。

  • (マクロのみ) ツールパレット :設定はマクロワークフローにのみ適用されます。マクロリポジトリの詳細については、 ユーザー設定 マクロ を参照してください。これらの設定は、マクロをツールパレットに表示する方法を制御します。マクロリポジトリに保存されたマクロは、ツールパレットに表示されます。

    • カテゴリ名 : マクロをツールパレットに表示するカテゴリの名前を入力します。

    • 検索タグ : ユーザーがマクロを検索し特定するために使用する用語を入力します。既定で、ファイル名、カスタム名、作成者名、会社名が検索タグとして含まれています。

  • 著者 : 分析アプリ作成者の詳細を提供します。

    • 名前 : ワークフローの作成者の名前を入力します

    • 会社 : 作成者が所属する会社を入力します。

    • 著作権 : 著作権情報を入力します。

  • 既定に設定 : 選択すると作業内容が取り消され、既定のテキストが使用されます。

  • 既定として記憶する : 入力したテキストを既定として保存します。

拡張子 .yxwz

アプリをオーサリングするときは、ワークフロータイプを分析アプリに変更した場合でも、ファイルを YXWZファイルとして保存してください。ファイル拡張子が .yxmdのままになっていると、アプリではなくワークフローとして開きます。

バージョン 9.0で作成されたアプリは、現在は YXMDファイルとして保存することはできなくなりました。

マップ入力

マップ入力ツール は、マップの入力機能を使用して、場所を選択するか、ポリゴンまたはラインを描画する機能をアプリ消費者に提供します。マップの質問は簡潔かつ内容を説明しているものである必要があり、ベースマップを常に使用する必要があります。ベースマップを選択するときは、必ず 最新ビンテージ を選択してください。

最後に、[ 描画 ] モードが選択されている場合は、[ユーザーによるラベル付けを許可] の設定が常にチェックされていることを確認します。これにより、各カスタムポリゴンに名前を追加するオプションをユーザーに提供します。

レポート出力

アプリをAlteryx Serverに保存する際に、レポートの出力がPCXMLとしてレンダリングされる場合、アプリケーションでは、エンドユーザーがウェブ上でレポートをプレビューできるだけでなく、サポートされているあらゆる形式でレポートをダウンロードできるオプションが提供されます。サポートされているレポート形式には、PDF、Microsoft Word、Microsoft Excel、および HTML などがあります。

アプリを作成する場合、サポートされているレポート形式のいずれでも出力できます。PCXML を使用するには、 レンダリングツール で [ 出力モード ] を設定して [ 特定の出力ファイルを選択 ] し、[ 出力ファイル ] には「 APP_NAME.pcxml 」を指定します。

PCXML でレポートをプレビューする際は、フッターは表示されませんが、PDF、Word、または Excel ドキュメントとしてダウンロードするときには有効です。

ファイルの読み取り/書き込み: アプリ内のマクロ

Web アプリの場合、アプリと同じフォルダー内または下位フォルダー内にあるファイル、つまりアプリを含むフォルダー以下のフォルダー内のファイルをすべて読み書きできます (1 レベル以上にすることができます)。このルールは、Alteryx製品インストーラーまたはデータインストーラーの一部である標準マクロでない限り、アプリケーションで使用するマクロにも適用されます。

%temp%

ワークフローやアプリを作成して Galleryに保存する際は、一時ディレクトリに書き込むために %temp% を使用しないでください。すべてのファイルパスをワークフロー内に保持します。連鎖アプリを開発する場合は、例えば .\fileOutput.yxdb %temp%\fileOutput.yxdb などのファイルパスではなく、ファイル名のみを使用します。それを閲覧してファイルを選択し、次に [ ワークフロー依存関係 ] ウィンドウを使用して、ファイル依存パスを相対パスに変更します。

禁止されているツールとイベント

次の Alteryx Designerツールとイベントは、可能な構成と実行可能な動作が数多くあるために、Community Gallery あるいは Analytics Gallery では禁止されています。

ワークフロー中で禁止されているツールやイベントを安全な形で使用している場合は、Gallery でワークフローを実行するための適用除外を申請することができます。適用除外を申請するには、以下のようにします。

  1. curator@alteryx.comにEメールを送信し、ワークフローの一般的な目的と併せて、禁止されている各ツールの使用方法とその理由を説明します。

  2. プライベートスタジオにワークフローを公開し、他の人がこのワークフローをダウンロードする可能性があるオプションにチェックマークを入れます 。

  3. ワークフローをコレクションに追加し、Alteryx Curator(curator@alteryx.com)で共有します。

  4. あなたのワークフローを見直すために最長2営業日、Alterxの管理人がリクエストのステータスをEメールで送付します。

Designerに含まれている、Rツールを使用する予測マクロは、 コミュニティGallery で許可されています。

ウェブ用にサポートされていないアプリ機能

以下は、コミュニティGalleryのWeb環境ではサポートされていません。

  • フォルダー参照

  • ファイル参照 (名前を付けて保存) 。アップロードは Web 上で正常に動作します。

  • アプリケーションがデスクトップ環境でエラーを発行した場合、サーバーに保存することはできません。

  • 7 アプリよりも長い連鎖アプリは、Serverでは機能しません。

アプリを構築するためのベストプラクティス

更新アクション

アクションツール を使用して値を更新/変更する場合、実際に必要な場合を除き、[ 特定の文字列を置き換える :] オプションを使用しないでください。継続的な開発により、ワークフローのツール設定を変更すると、その特定の文字列が存在しなくなり、そのアクションツールを破損させる可能性があります。このオプションを使用する必要が生じる場合もありますが、ツールでその文字列を変更すると、アクションツールも更新する必要があることに注意してください。

分岐の更新

分岐ツール  の更新にアクションツールを使用している場合は、両方の可能性について確実に分岐を更新してください。すなわち、左への分岐と右への分岐です。そうしないと、1 つの条件でのみ更新して、開発中にワークフローを変更した場合、ワークフローがもう 1 つの方向に分岐する必要が生じた場合の対処ができていないということになります。

分岐の終了

特に、分岐からワークフロー内の他の場所にデータストリームを結合する前に、すべての分岐を終了させる必要があります。 分岐終了ツール は設定が不要なため、使うのは簡単です。これを使用するか、出力ツールで分岐を終了するか、いずれかを行ってください。

エラーメッセージツールの使用

質問を記述する際は、起こりがちなユーザーのエラーを考慮してください。 エラーメッセージツール を使用してエラーメッセージを発行する必要があります。例えば、ユーザーがオプションを選択する必要がある場合、何も選択されなかった際にエラーを発行します。これにより、見てもエラーを修正する方法が良く理解できないようなエンジンによるエラー発行を避けることができます。理想的には、ユーザーが記入する必要があるすべての質問についてエラーを発行するようにします。また、より複雑な条件を実行して、彼らが正しく記入したことを確認することもできます。例えば、最大5つのトレードエリアをカンマで区切ってテキストボックスに記入する必要がある場合(例:1, 2, 3, 4, 5)、正規表現の条件を使用して、テキストボックスに4つを超えるカンマがないことを確認します。

メッセージツールを使用するエラー発行

この場合も同様に、適切に構成されていてもアプリ実行が失敗する可能性のあるケースを予測してください。例えば、ユーザーの入力したアドレスでは、ジオコーディングに失敗し、結果をレンダリングできない場合があり得ます。不正なジオコードをフィルタリングしてアプリでメッセージを処理し、 メッセージツール を使用してユーザーに次のようなメッセージを返すことは、容易にできます。「指定されたアドレスはジオコーディングできませんでした。アドレスが有効であることを確認し、それに適切な変更を加えるか、別のアドレスを入力して再実行してください。"

生の XML を更新し、HTML メタ文字をエスケープする

ツールで生の XML を更新している場合や、アプリで特殊文字を使用している場合は、ウェブ上でこれが予期したとおりに機能しない場合があることに注意してください。たとえば、エンジン上の ドロップダウンツール または リストボックスツール の選択には、次のようなテキストを含めることができます:   Age By Sex Summary Report:<Report Type=”summary”>Age By Sex Summary Report</Report>

しかし、これがWeb上で使用されている際は、質問を正しく表示することはできません。従って、これがアクションで使用された場合は、おそらく望ましい効果は得られません。解決策は、テキストを次のように変更することです:  Age By Sex Summary Report:&lt;Report Type=&quot;summary&quot;&gt;Age By Sex Summary Report&lt;/Report&gt;

次に、アクションで質問の回答を使用している場合は、それを更新する必要があります: EscapeXMLMetacharacters([AllocateSummaryReport])

Escape XML Metacharacters 関数が式ライブラリにバージョン 8.0 で追加されました。Specializedカテゴリからアクセスできます。この関数は、すべての XML メタキャラクタをエスケープされたバージョンに置き換えます。

変数ツリーを割り当てる

Allocate変数ツリーを空のままにすると、ウェブとエンジンは異なる値を返します。アプリに Allocate 変数ツリーが質問タイプとしてある場合は、ユーザーが何かを選択したか、空のままにしたかどうかを確認する条件を作成することができます。エンジンについては次のように書き込むことができます:

[AllocateVariables] == "<Variables />"

変数ツリーに何も選択されていないときは、 <Variables /> が返されます。一方Web上では、返される値は実際には何もないので、条件は次のようにします。

isempty([AllocateVariables])

当然ながら、アプリはウェブとデスクトップの両方で動作させたいので、条件は実際には次のようにする必要があります。

[AllocateVariables] == "<Variables />" or isempty([AllocateVariables])

ウェブ上で <, >, や/の文字を使用することが心配な場合は、条件を次のように変更できます。

REGEX_CountMatches([AllocateVariables], "Variables") == 1 または isempty([AllocateVariables])

ユニオンツール

ほとんどの場合は、ランタイム時にワークフローが変更されるため、手動で構成された ユニオンツール はアプリに含めないことをお勧めします。ユニオンツールを手動モードで構成するのではなく、ユニオンツールに入る各接続に選択ツールを挿入します。セレクトツールを構成するときは、必要に応じてフィールドの名前を変更して並べ替え、動的/不明フィールドを含めないように注意してください。名前による自動構成または位置による自動構成のいずれかを使用して、ユニオンツールを構成します。

ツールコンテナとアプリの構成

アプリケーションの編成は、アプリケーションのさまざまなセクション毎にさまざまなツールコンテナを使用して行われます。例えば、レポートツールは通常、アプリケーションの最後のセクションであり、「レポート」というラベルの付いたツールコンテナに配置できます。

ツールコンテナツール は、主要な機能に基づいて色分けできます。色分けツールコンテナを使用すると、特に小さなズームで見た際に、アプリが何をしているのかを簡単に理解することができます。これは、他の人が作成したアプリのトラブルシューティングやデバッグの際に役立ちます。

インターフェースツールは、独自のコンテナに配置し、それと分かるよう色分けすると良いでしょう。マルチタブアプリでは、各タブを構成するツールをそれぞれのコンテナに配置すると便利です。

ワークフロー/アプリの注釈

注釈は特定のツールに付随するテキストボックスであり、個々のツールの役割を説明するのに非常に役立ちます。主な利点の1つは、ツールを移動すると注釈も一緒に移動することです。 ワークフロー設定 で、[ 注釈 ] を表示に設定します。

必要に応じて、個々の注釈をツールの上部または下部に配置するように設定することもできます。[ 注釈 ] を変更するには、ツールをクリックして [ 注釈 ] タブを選択し、 [ 注釈を手前に配置する ] を選択または解除します。

マクロ固有のガイドライン

すべての以前のガイドラインは、アプリと同じくマクロにも適用されますが、次の例外はマクロにのみ適用されます。

マクロ入力

マクロ入力ツール にはデータが含まれている必要があります。データが含まれていると、問題が発生した場合にトラブルシューティングやデバッグが非常に簡単になります。マクロ入力ツールにはテキスト入力が組み込まれています。これは、マクロ入力に適した方法です。データ入力として機能するために大きなファイルが必要な場合は、可能であればマクロに含める必要があります。マクロのデータファイルの依存関係は、次のように名前を付ける必要があります。

NameOfMacro.NameOfDataFile.yxdb

入力名と出力名には、それらに関連付けられたツール番号を使用しないでください。[マクロ入力プロパティ]タブで、名前が十分説明的であることを確認します。ここで指定された名前は、マクロツールの構成時にユーザーに表示されます。

複数の入出力がある場合、 コネクタの略語 を追加すると、ツールをキャンバスに配置するときにツールアンカーにラベルを付けることで、ツールの設定に役立ちます。詳細については、 マクロ入力ツール または マクロ出力ツール を参照してください。

ネーミングタブ

ユーザーがマクロツールを設定する際には、タブ名は使いやすいようにわかりやすい説明を含むものにする必要があります。設定時にタブがユーザーに表示されます。既定のタブ名は「質問」です。これは内容を示す名前ではなく、単一のタブでマクロ(またはアプリ)を開発する際には見落としがちです。 インターフェースデザイナーウィンドウ を参照してください。

サポートマクロ

親ワークフローで使用されるサポートマクロは、親マクロまたはサポートディレクトリに存在し、次のように名前を付けます。 NameOfParent.NameOfSupporting.yxmc