Réserver une Démo
Pré. Proc.

Créer une Query SQL personnalisée

Lorsque vous définissez votre propre instruction SQL pour un fragment gabarit , plusieurs options sont disponibles pour vous aider à fournir le format de rapport souhaité. La requête dépend du SGBD, la structure peut donc varier en fonction du fichier de référentiel spécifique ou du type de SGBD que vous utilisez.

Options Query

Option

Description

Voir aussi

Sous-chaînes de macro

Dans le champ de texte principal de l'onglet, saisissez la Query SQL à exécuter sur votre modèle. Vous pouvez utiliser des ##<macro>#s comme substitutions string , comme pour d'autres requêtes de recherche SQL.

La Query SQL peut référencer l' ID de l'élément, diagramme ou Paquetage en cours de traitement par le gabarit du document, en utilisant les macros :

  • #OBJECTID#
  • #DIAGRAMME#
  • #PACKAGEID#
Par exemple:
  • SÉLECTIONNEZ Count ( Object_Type ) AS CountOfActors
    DE t_object
    Object_Type = "Acteur" et Package_ID = #PACKAGEID#
Il existe un certain nombre d'autres macros utiles telles que :
  • #Concat <valeur1>, <valeur2>, ...#
  • #WC# Caractère générique pour votre type de base de données spécifique.
Pour plus de détails, consultez la rubrique d'aide Créer des définitions de recherche .
Créer des définitions de recherche

Notes formatées (à l'exclusion de .eap)

Pour les champs notes , comme les Notes d'élément (t_object. note ), la mise en forme est stockée sous forme de texte enrichi. Il est possible de traiter un champ note à partir de données brutes en texte enrichi lisible en fournissant une colonne dans ce format :

{<nom du champ>.Formaté}

Ceci est défini dans la section Personnalisée de Gabarit . Par exemple :

  • personnalisé >
    { Note .Formatée }
    < personnalisé
Dans votre instruction Query SQL personnalisée, vous devez utiliser un alias correspondant au nom du champ gabarit ; par exemple (dans MySQL) :
  • SÉLECTIONNER ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom, Note comme " Note .Formatted "
    DEPUIS t_objet
    Object_ID=#OBJECTID#

Notes formatées pour les référentiels .eap

Pour notes formatées utilisant des référentiels de fichiers .eap, le format requiert :

{<nom du champ>.Formaté}

Par exemple:

  • personnalisé >
    { Note .Formatée}
    < personnalisé
Dans votre instruction Query SQL personnalisée, formatez l'alias de champ comme « [<fieldname>-Formatted] ». Par exemple :
  • SÉLECTIONNER ea_guid AS CLASSGUID, Object_Type AS CLASSTYPE, Nom, Note AS [Format de note]
    DEPUIS t_objet
    Object_ID=#OBJECTID#

Liens hypertexte (hors .eap)

Vous pouvez créer des entrées de colonne dans des hyperliens faisant référence à d'autres entrées dans le document généré. Le champ d'en-tête de colonne (dans le texte gabarit , dans le panneau « Personnalisé ») doit utiliser le format :

<nom du champ>.Hyperlien

Par exemple:

  • personnalisé >
    { Type .Hyperlien}
    < personnalisé
Les entrées ou valeurs de la colonne SQL doivent avoir le format : { guid }< LABEL>

Par exemple:

  • SÉLECTIONNEZ # Concat ea_guid , Nom # comme " Type .Hyperlien "
    DE t_object
    Object_ID = # OBJECTID # ;

Note : ceci utilise #Concat ...# pour concaténer la référence GUID et l'expression sortante de l'hyperlien.

Dans ce format, {guid} est le GUID de l'élément vers lequel créer le lien et LABEL est le texte du lien hypertexte (tel que le nom de l'élément), inséré manuellement ou renvoyé par une autre commande. Par exemple :

{570CFDAB-00A4-48d9-AE87-9CD6920418C0}Classe 2

Dans le rapport généré, cela s'affiche sous la forme d'un lien hypertexte « Classe2 », qui renvoie à la description de Classe2 dans le document.

Cet exemple renvoie le nom hyperlié de chaque classe de base (parent) de l'élément actuellement signalé :

  • SÉLECTIONNEZ # Concat t_object.ea_guid , t_object .Nom # AS " BaseClassName.Hyperlink"
    DE t_object, t_connector
    t_connector.Start_Object_ID = #OBJECTID#
    AND t_object.Object_ID = t_connector.End_Object_ID
    AND t_connector.Connector_Type = 'Généralisation'

Cette requête peut renvoyer plusieurs entrées, auquel cas les entrées sont reportées une par ligne. Vous pouvez, si nécessaire, avoir plusieurs instructions de requête Hyperlink, séparées par des virgules. Vous pouvez créer des hyperliens vers des éléments, des attributs, des opérations, diagrammes et Paquetages reportés.

Créer des définitions de recherche

Liens hypertexte pour les dépôts .eap

Le format du nom du champ Hyperlien pour les référentiels .EAP nécessite :

  • personnalisé >
    {<nom du champ> . Lien hypertexte}
    < personnalisé
Et le SQL utilise : [<fieldname>-Hyperlink] :
  • SÉLECTIONNEZ #Concat t_object . ea_guid, t_object.Name# AS [BaseClassName-Hyperlink]
    DE t_object, t_connector
    t_connector . Start_Object_ID = #OBJECTID#
    AND t_object.Object_ID = t_connector.End_Object_ID
    AND t_connector.Connector_Type = 'Généralisation'

Notes

  • Un élément de filtre ne s'appliquera pas à la section « Personnalisé » dans un fragment Gabarit
  • Dans vos instructions SQL, vous pouvez référencer les détails du modèle en utilisant :
    - #OBJECTID# renvoie l' ID de l'élément en cours de traitement par le gabarit du document
    - #PACKAGEID# et #Package# renvoient l' ID du Paquetage en cours
    traité par le document gabarit
    - #Author# prend le nom d'utilisateur du champ « Auteur » dans la page « Général » de l'
    dialogue « Préférences », afin que la recherche définie puisse être effectuée sur les objets créés
    par cet utilisateur (cette valeur peut être réinitialisée manuellement dans la dialogue « Préférences »)
  • Vous pouvez tester votre Query SQL à l'aide de l'éditeur SQL dans la fenêtre Rechercher dans Projet