Erstellen oder Bearbeiten der SQL-Abfrage für einen Algorithmus

04. Juni 2018

Fortgeschrittene Benutzer können das Dialogfeld Algorithmusimplementierung verwenden, um die rohe SQL-Abfrage zu erstellen oder zu bearbeiten, die die Logik für einen Algorithmus in einem benutzerdefinierten Bericht enthält.

Das Dialogfeld Algorithmusimplementierung ist horizontal in zwei Teile aufgeteilt:

  • Oberer Teil — Ein Textbearbeitungsfeld, in dem Sie die SQL-Abfrage erstellen und bearbeiten.
  • Unterer Teil — Zeigt die Ergebnisse der Abfrage an, wenn Sie auf SQL testen klicken.

Öffnen des Dialogfelds Algorithmusimplementierung

Sie können das Dialogfeld Algorithmusimplementierung öffnen, wenn Sie einen neuen benutzerdefinierten Berichtalgorithmus erstellen, den Sie selbst definieren:

  1. Suchen Sie auf der linken Seite des Bildschirms Benutzerdefinierter Berichts-Manager die Algorithmusgruppe, in der Sie den neuen Algorithmus erstellen möchten.
  2. Klicken Sie mit der rechten Maustaste auf die Algorithmusgruppe, und wählen Sie im Kontextmenü den Befehl Neuer Algorithmus.
  3. Arbeiten Sie den Assistenten für neue Algorithmen auf die normale Weise.
  4. Wählen Sie auf der fünften Seite des Assistenten die Option Erweitert aus, und klicken Sie dann auf Gehe zu. Dadurch wird das Dialogfeld Algorithmusimplementierung geöffnet.

Für benutzerdefinierte Berichtalgorithmen, die mit der Option Erweitert erstellt wurden, können Sie das Dialogfeld Algorithmusimplementierung wie folgt öffnen:

  1. Suchen Sie den Algorithmus auf der linken Seite des Bildschirms Benutzerdefinierter Berichts-Manager.
  2. Klicken Sie mit der rechten Maustaste, und wählen Sie im Kontextmenü die Option Implementierung bearbeiten.

Hinweis: Sie können das Dialogfeld Algorithmusimplementierung für einen benutzerdefinierten Berichtsalgorithmus nicht öffnen, der auf einem von Citrix bereitgestellten Algorithmus basiert.

Technische Daten

  • Die SQL-Abfrage muss eine SELECT-Anweisung sein, die Daten zurückgibt, die sich auf die Anwendungen beziehen, die den Algorithmus auslösen.
  • Die erste Spalte in der Ergebnismenge muss die Anwendungs-ID sein.
  • Sie müssen das {APP_IDS} -Tag angeben, das zur Laufzeit durch die Liste der aktuell ausgewählten Anwendungen ersetzt wird. In der Regel setzen Sie dieses Tag in die WHERE-Klausel.
  • Wenn Sie die AS-Syntax verwenden, um Tabellen oder Spalten einen Alias zu geben, muss der Aliasname den Regeln für reguläre Bezeichner entsprechen, unabhängig davon, ob er in Klammern ([ ]) oder doppelte Anführungszeichen (“ “) eingeschlossen ist. Beispielsweise darf ein Aliasname keine Leerzeichen oder Apostrophe (‘) enthalten. Weitere Informationen zu regulären Bezeichnern finden Sie unter http://msdn.microsoft.com/en-us/library/aa223962(SQL.80).aspx.

Eine umfassende Dokumentation der SELECT-Anweisung finden Sie unter http://msdn.microsoft.com/en-us/library/aa259187(SQL.80).aspx.

Achtung: Citrix kann nicht garantieren, dass Abfragen, die Sie schreiben, in zukünftigen Versionen von AppDNA funktionieren, da sich die Struktur der Datenbank von Version zu Version ändern kann.

Beispiel

Wenn Sie das Dialogfeld beim Erstellen eines neuen Algorithmus öffnen, enthält der obere Teil des Dialogfelds eine Beispielabfrage wie folgt:

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]

Dadurch werden alle Anwendungen abgerufen, die Dateien enthalten, die nicht US-Englisch sind.

Zeilen 1-2 — Wählt sechs benannte Spalten aus der dbo.msi_file Tabelle aus, die den Alias mf erhält.

Zeile 3 — Die WHERE-Klausel definiert einen Filter, der die Ergebnisse auf diejenigen beschränkt, die die folgenden Kriterien erfüllen:

  • Zeilen 6-12 — Der Wert in der Sprachspalte stimmt nicht mit dem Sprachcode für US-Englisch überein und ist nicht leer, Null oder Null.
  • Zeile 15 — Und die Anwendungs-ID ist in der Liste der aktuell ausgewählten Anwendungs-IDs enthalten, die das {APP_IDS} -Tag zur Laufzeit ersetzen.
  • Zeile 16 — Ordnen Sie die Ergebnisse nach der Anwendungs-ID an.

Dieses Beispiel bietet nur einen Ausgangspunkt und ist nicht als verschreibungspflichtig gedacht. Sie können SQL Server Management Studio verwenden, um die Tabellen in der AppDNA-Datenbank zu durchsuchen. Beachten Sie jedoch, dass Citrix nicht garantieren kann, dass Abfragen, die Sie schreiben, in zukünftigen Versionen von AppDNA funktionieren, da sich die Struktur der Datenbank von Version zu Version ändern kann.

Erstellen oder Bearbeiten der SQL-Abfrage für einen Algorithmus