アルゴリズムの SQL クエリを作成または編集する

最終情報更新日

上級ユーザーは、「アルゴリズムの実装」ダイアログ・ボックスを使用して、カスタム・レポートのアルゴリズムのロジックを構成する生のSQLクエリを作成または編集できます。

[アルゴリズムの実装] ダイアログボックスは、水平に 2 つに分割されています。

  • トップパート — SQL クエリを作成および編集するテキスト編集ボックス。
  • 下部 — [SQL のテスト] をクリックすると、クエリの結果が表示されます。

[アルゴリズムの実装] ダイアログボックスを開く

自分で定義する新しいカスタムレポートアルゴリズムを作成するときに、[アルゴリズムの実装] ダイアログボックスを開くことができます。

  1. [カスタムレポートマネージャ] 画面の左側で、新しいアルゴリズムを作成するアルゴリズムグループを見つけます。
  2. アルゴリズムグループを右クリックし、ショートカットメニューから「新規アルゴリズム」(New Algorithm) を選択します。
  3. 「新規アルゴリズム」ウィザードを通常の方法で操作します。
  4. ウィザードの 5 ページ目で、[詳細設定] オプションを選択し、[移動] をクリックします。[アルゴリズムの実装] ダイアログボックスが開きます。

[詳細] オプションを使用して作成されたカスタムレポートアルゴリズムの場合は、[アルゴリズムの実装] ダイアログボックスを次のように開きます。

  1. [カスタムレポートマネージャ] 画面の左側でアルゴリズムを見つけます。
  2. 右クリックして、ショートカットメニューから「実装を編集」(Edit implementation) を選択します。

注:Citrix が提供するアルゴリズムに基づくカスタムレポートアルゴリズムでは、「アルゴリズムの実装」ダイアログボックスを開くことはできません。

仕様

  • SQL クエリは、アルゴリズムをトリガーするアプリケーションに関連するデータを返す SELECT 文である必要があります。
  • 結果セットの最初の列はアプリケーション ID である必要があります。
  • {APP_IDS} タグを含める必要があります。このタグは、実行時に現在選択されているアプリケーションのリストに置き換えられます。通常、このタグは WHERE 句に入れます。
  • AS 構文を使用してテーブルまたは列にエイリアスを指定する場合、エイリアス名は、角括弧 ([ ]) または二重引用符 (“ “) で囲まれているかどうかに関係なく、通常の識別子の規則に準拠する必要があります。たとえば、エイリアス名にスペースやアポストロフィ (‘) を含めることはできません。通常の識別子の詳細については、http://msdn.microsoft.com/en-us/library/aa223962(SQL.80).aspxを参照してください。

SELECT ステートメントの包括的なドキュメントについては、http://msdn.microsoft.com/en-us/library/aa259187(SQL.80).aspxを参照してください。

注意:データベースの構造がバージョンによって変更される可能性があるため、作成するクエリが将来のバージョンのAppDNAで動作することを保証できません。

新しいアルゴリズムを作成するときにダイアログボックスを開くと、ダイアログボックスの上部に次のようなサンプルクエリが表示されます。

pre codeblock 1 SELECT mf.[application_id], mf.[long_filename] , mf.[target_path], mf.[version], mf.[version_number], mf.language 2 FROM [dbo].[msi_file] mf 3 4 WHERE 5 ( 6 mf.[language] NOT LIKE '%1033%' 7 AND 8 (mf.[language] != '0' 9 AND 10 mf.[language] is NOT null 11 AND 12 mf.[language] != '' 13 ) 14 ) 15 AND mf.application_id IN ( {APP_IDS} ) 16 ORDER BY mf.[application_id]

これは、米国英語以外のファイルを含むすべてのアプリケーションを取得します。

行 1-2 — dbo.msi_file テーブルから 6 つの名前付きカラムを選択します。このテーブルには mf というエイリアスが付けられます。

3 行目 — WHERE 句は、結果を次の基準を満たすものに制限するフィルタを定義します。

  • 行 6-12 — language 列の値が米国英語の言語コードと一致せず、空白、ゼロ、または Null ではありません。
  • 15 行目 — アプリケーション ID は、実行時に {APP_IDS} タグを置き換える、現在選択されているアプリケーション ID のリストに含まれます。
  • 行 16 — アプリケーション ID で結果を並べ替えます。

この例は出発点のみを提供し、規範的なものではありません。SQL Server管理Studioを使用して、AppDNAデータベース内のテーブルを参照できます。ただし、データベースの構造がバージョンによって変更される可能性があるため、作成するクエリが将来のバージョンのAppDNAで動作することをCitrix は保証できません。

アルゴリズムの SQL クエリを作成または編集する