Création de champs calculés
Dans l'application Rapports, les champs calculés représentent des champs dont les données proviennent du calcul d'autres champs. Les champs calculés vous permettent d'afficher le résultat d'un calcul, de remplacer des valeurs de texte pour des valeurs numériques ou d'évaluer une pour plusieurs conditions et de déterminer la valeur d'un champ en fonction du résultat.
Fonctionnement
Les vues vous proposent des champs de Diligent One que vous pouvez utiliser pour générer un rapport. Si vous devez créer des champs supplémentaires dans le cadre de votre processus de rédaction de rapport, vous pouvez utiliser certains des champs fournis dans la vue comme base de calculs plus complexes.
Générateur de formules simples
Vous pouvez utiliser le générateur de formules simples pour définir des champs calculés à l'aide de l'une des combinaison des éléments suivants :
- Champs de dimension, mesure et date Classifications du type de champ
Pour obtenir plus d'informations, consultez la rubrique Créer des rapports.
- Opérateurs logiques Opérateurs tels que « Entre » ou « Ne figurant pas dans la liste » qui retournent un résultat booléen
- Fonctions d'agrégation Outils qui effectuent des calculs ou des opérations dans un champ, comme le nombre ou la somme
- Équations mathématiques Opérations, dont l'addition, la soustraction, la multiplication et la division
- Expressions CASE Expressions conditionnelles qui permet de modifier le mode de représentation des données
Une fois que vous avez créé un champ calcule, celui-ci est automatiquement ajouté dans un dossier Champs calculés au niveau de la liste des champs de données et vous pouvez ajoute le champ à votre rapport.
Générateur de formules prédéfinies
L'autre alternative pour définir vos propres champs calculés consiste à utiliser le générateur de formules prédéfinies grâce auquel vous pouvez sélectionner des fonctions définies par Diligent dans une liste.
Le générateur de formules prédéfinies est utile lorsque vous devez :
- fractionner les valeurs de champs délimités afin de rapport des valeurs inférieures ;
- extraire le mois et l'année depuis un champ d'horodatage ;
- utiliser des fonctions de classement par antériorité avancées ;
- convertir les types de données de caractère en types de données numériques ou de date.
Astuce
La conversion des types de données s'avère utile lorsque vous exécutez un reporting des champs d'attribut spécifiques depuis Projets qui sont généralement stockés comme des données de caractère.
Remarque
Les champs calculés créés à l'aide du générateur de formules simples peuvent déduire des données à partir des champs calculés à l'aide de fonctions prédéfinies. Cependant, les champs calculés qui utilisent des fonctions prédéfinies ne peuvent pas déduire les données à partir d'une autre fonction prédéfinie.
Fonctions d'agrégation
Toutes les agrégations ignorent les valeurs nulles. Pour plus d'informations sur la remédiation de valeurs nulles, voir Utiliser des valeurs nulles.
Fonctions d'agrégation et valeurs nulles
Exemples :
- COUNT(1, 2 , 2 , 3 , nul ,nul) = 4
- COUNT DISTINCT (1, 2, 2, 3, nul, nul) = 3
- SUM (1, 2, 2, 3, nul, nul) = 8
- AVG (1, 2, 2, 3, nul, nul) = 2
- MIN (1, 2, 2, 3, nul, nul) = 1
- MAX (1, 2, 2, 3, nul, nul) = 3
Équations mathématiques
Des équations mathématiques qui incluent des nombres entiers et décimaux retournent toujours des résultats précis. Des équations mathématiques qui incluent des valeurs nulles ou une division par 0 renvoient toujours une valeur nulle.
Équations mathématiques et résultats
Exemples :
- 8 + 2 = 10
- 8 + 2.5 = 10.5
- 8 + 2.5 + zéro = zéro
- 8 / 0 = zéro
Exemples
Exemple de champs calculés
Résultat d'un calcul
Nom du champ calculé diff_risk_score
Syntaxe Objectif du score de risque attendu - Objectif du score de risque réel
Résultat Affiche la différence entre le champ Objectif du score de risque attendu et le champ Objectif du score de risque réel
Valeurs de texte remplacées par des valeurs numériques
Nom du champ calculé risk_assurance_rating
Syntaxe CASE WHEN Objectif de l'assurance du risque <= 50 THEN 'Zone de risque critique : suivi requis' ELSE 'Inconnu' END
Résultat Affiche 'Zone de risque critique : suivi requis' lorsque l'objectif de l'assurance du risque est inférieur ou égal à 50.
Évaluer plusieurs conditions et déterminer la valeur du champ en fonction du résultat
Nom du champ calculé risk_assurance_rating
Syntaxe CASE WHEN Objectif de l'assurance du risque <= 50 AND Statut de remédiation du problème = 'Ouvert' THEN 'Zone de risque critique' ELSE 'Inconnu' END
Résultat Affiche « Zone de risque critique » lorsque la valeur de l'objectif de l'assurance du risque est inférieure ou égale à 50 et le statut de remédiation du problème correspond à « Ouvert ».
Autorisations
Seuls les admins et les auteurs de rapport peuvent créer des champs calculés.
Créer un champ calculé
- Ouvrez l'application Rapports.
La page Parcourir s'ouvre.
- Ouvrez un rapport et accédez à l'onglet Données dans le générateur de rapport.
- Au bas de la liste des champs de données, cliquez sur Créer un champ calculé .
La boîte de dialogue Champ calculé s'ouvre.
- Indiquez un nom pour le champ calculé en regard de Nom du champ calculé.
- En regard de Type de formule, sélectionnez une des options suivantes :
- Simple vous permet de générer vos propres champs calculés
- Prédéfinie vous permet de sélectionner une fonction définie par Diligent
- Effectuez les étapes suivantes :
Si vous sélectionnez Simple... Si vous sélectionnez Prédéfinie... - Définissez une expression à l'aide des boutons disponibles au bas de la boîte de dialogue.Commentaires
Considérations :
- les expressions qui contiennent des valeurs avec des apostrophes ne sont pas prises en charge.
- Vous devez ajouter les fonctions d'agrégation avant les champs auxquels vous voulez les appliquer.
- Pour n'importe quelle expression, vous devez cliquer sur +Ajouter une fois que vous avez ajouté des valeurs et des opérateurs logiques à votre instruction.
- Pour modifier une part d'une expression, vous devez cliquer sur Annuler, et la recréer.
- Pour les instructions booléennes, saisissez 0 pour représenter 'Non', et 1 pour 'Oui'.
- Pour tester l'expression, cliquez sur Valider.
Un message s'affiche pour confirmer que l'expression est valide ou non valide. Si l'expression n'est pas valide, vous ne pouvez pas enregistrer le champ calculé et vous devez mettre à jour la syntaxe avant de continuer.
- Cliquez sur Enregistrer.
Résultat Un dossier Champs calculés est automatiquement créé dans la liste des champs de données et le champ calculé récemment créé est ajouté au dossier.
- Sélectionnez une fonction dans la liste.
Pour obtenir une liste complète des fonctions, voir Fonctions prédéfinies.
- Sélectionnez le type de champ calculé que vous voulez créer.
- Définissez les champs à utiliser dans la fonction.
- Cliquez sur Enregistrer.
Résultat Un dossier Champs calculés est automatiquement créé dans la liste des champs de données et le champ calculé récemment créé est ajouté au dossier.
- Définissez une expression à l'aide des boutons disponibles au bas de la boîte de dialogue.
Ajouter un champ calculé à un rapport
- Ouvrez le dossier Champs calculés dans la liste des champs de données.
- Faites glisser le champ calculé vers la zone appropriée du rapport.
Résultat Le champ calculé est ajouté au rapport.
Fonctions prédéfinies
Description
Renvoie le nombre de jours écoulés (l'antériorité) d'une date donnée.
Syntaxe
AGE(Date: horodatage)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Horodatage | Le champ sur lequel calculer l'antériorité. |
Sortie
Nombre.
Exemple
Renvoie le nombre de jours entre la date limite de la remédiation du problème et la date actuelle :
AGE(Date: Date limite de remédiation du problème)
- Si une valeur positive est renvoyée, elle est égale au nombre de jours écoulés depuis la date limite de remédiation du problème.
- Si une valeur négative est renvoyée, elle est égale au nombre de jours dans le futur où la date limite de remédiation du problème sera atteinte.
- Si 0 est renvoyé, la date limite de remédiation du problème est la date du jour.
Description
Renvoie le nombre de jours écoulés entre deux dates.
Syntaxe
DATEDIFF(Date de début: horodatage; Date de fin: horodatage)
Paramètres
Nom | Type | Description |
---|---|---|
Date de début | Horodatage | Le champ sur lequel calculer l'antériorité. |
Date de fin | Horodatage | Le champ auquel la date de début est comparée. |
Sortie
Nombre.
Exemple
Renvoie le nombre de jours entre la date du problème identifiée et la date de remédiation réelle du problème :
DATEDIFF(Date de début: Date d'identification du problème; date de fin: Date de remédiation réelle du problème)
- Si une valeur positive est renvoyée, la date d'identification du problème est antérieure à la date de remédiation effective du problème.
- Si une valeur négative est renvoyée, la date de remédiation effective du problème est antérieure à la date d'identification du problème.
- Si 0 est renvoyé, la date d'identification du problème et la date de la remédiation effective du problème sont identiques.
Description
Extrait le mois d'un horodatage spécifié et le renvoie sous forme de valeur numérique (1 à 12).
Syntaxe
MONTH(Date: horodatage)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Horodatage | Le champ d'où extraire le mois. |
Sortie
Entier (1-12).
Exemple
Renvoie le mois (1-12) pour chaque valeur dans le champ Date de la remédiation réelle du problème :
MONTH(Date: Date de remédiation réelle du problème)
Description
Extrait l'année d'un horodatage indiqué et le renvoie sous forme de valeur numérique à l'aide du format AAAA
Syntaxe
YEAR(Date: horodatage)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Horodatage | Le champ d'où extraire l'année. |
Sortie
Entier.
Exemple
Renvoie l'année (AAAA) pour chaque valeur dans le champ Date de la remédiation effective du problème :
YEAR(Date: Date de la remédiation effective du problème)
Description
Renvoie le nombre de jours écoulés (l'antériorité) d'une date donnée.
Syntaxe
AGE_C(Date: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Texte | Le champ sur lequel calculer l'antériorité. |
Sortie
Nombre.
Exemple
Vous disposez d'un champ personnalisé défini pour les problèmes qui spécifie une valeur de date. Vous souhaitez effectuer un calcul d'antériorité sur le champ, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Antériorité pour effectuer le calcul d'antériorité.
Renvoie le nombre de jours entre la date de champ personnalisé et la date actuelle :
AGE_C(Date: Attribut de problème personnalisé 1)
- Si une valeur positive est renvoyée, elle est égale au nombre de jours écoulés depuis la date de champ personnalisé.
- Si une valeur négative est renvoyée, elle est égale au nombre de jours dans le futur où la date de champ personnalisé sera atteinte.
- Si 0 est renvoyé, la date de champ spécifique est la date actuel.
Description
Convertit un champ texte date en horodatage.
Syntaxe
CHAR_TO_DATE(Date: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Texte | Le champ à convertir en horodatage. |
Sortie
Horodatage.
Exemple
Vous disposez d'un champ personnalisé défini pour les problèmes qui spécifie une valeur de date. Vous souhaitez effectuer des calculs sur le champ, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Convertir en date pour convertir le champ en horodatage :
CHAR_TO_DATE(Date: Attribut de problème personnalisé 1)
Astuce
La sortie est un horodatage, qui affiche à la fois la date et l'heure. Si vous souhaitez uniquement afficher la date, vous pouvez mettre en forme l'affichage du champ et le spécifier comme une Date. Pour plus d'informations, consultez la section Mise en forme de colonnes dans les rapports.
Description
Convertit un champ texte numérique en valeur numérique.
Syntaxe
CHAR_TO_NUM(Texte: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Texte | Texte | Le champ à convertir en valeur numérique. |
Sortie
Nombre.
Exemple
Vous disposez d'un champ personnalisé défini pour les problèmes qui spécifie une valeur numérique. Vous souhaitez effectuer des calculs sur le champ, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Convertir en numérique pour convertir le champ en valeur numérique :
CHAR_TO_NUM(Texte: Attribut de problème personnalisé 1)
Description
Renvoie le nombre de jours écoulés entre deux dates.
Syntaxe
DATEDIFF_C(Date de début: texte; Date de fin: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Date de début | Texte | Le champ sur lequel calculer l'antériorité. |
Date de fin | Texte | Le champ auquel la date de début est comparée. |
Sortie
Nombre.
Exemple
Vous disposez de deux champs personnalisés définis pour les problèmes qui spécifient des valeurs numériques. Vous souhaitez calculer le nombre de jours écoulés entre les deux dates, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Jours entre la date pour calculer le nombre de jours.
Renvoie le nombre de jours compris entre la date du premier champ personnalisé et la date du deuxième champ personnalisé :
DATEDIFF_C(Date de début: Attribut de problème personnalisé 1; Date de fin: Attribut de problème personnalisé 2)
- Si une valeur positive est renvoyée, la date du premier champ personnalisé est antérieure à la date du deuxième champ personnalisé.
- Si une valeur négative est renvoyée, la date du deuxième champ personnalisé est antérieure à la date du premier champ personnalisé.
- Si 0 est renvoyé, c'est que les deux dates des champs personnalisés sont identiques.
Description
Extrait le mois d'un champ texte spécifié et le renvoie sous forme de valeur numérique (1 à 12).
Syntaxe
MONTH_C(Date: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Texte | Le champ d'où extraire le mois. |
Sortie
Entier (1-12).
Exemple
Vous disposez d'un champ personnalisé défini pour les problèmes qui spécifie une valeur de date. Vous souhaitez extraire le mois du champ, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Extraire le mois pour extraire le mois du champ.
Renvoie le mois (1-12) pour chaque valeur dans le champ personnalisé :
MONTH_C(Date: Attribut de problème personnalisé 1)
Description
Extrait l'année d'un champ texte spécifié et la renvoie sous forme de valeur numérique au format AAAA.
Syntaxe
YEAR_C(Date: texte)
Paramètres
Nom | Type | Description |
---|---|---|
Date | Texte | Le champ d'où extraire l'année. |
Sortie
Entier.
Exemple
Vous disposez d'un champ personnalisé défini pour les problèmes qui spécifie une valeur de date. Vous souhaitez extraire l'année du champ, cependant, les champs personnalisés sont représentés sous forme de valeurs texte dans l'application Rapports. Vous utilisez la fonction Texte - Extraire l'année pour extraire l'année du champ.
Renvoie l'année pour chaque valeur dans le champ personnalisé :
YEAR_C(Date: Attribut de problème personnalisé 1)
Description
Extrait un segment particulier de données d'un champ. Le segment doit apparaître à la même position dans chaque champ.
Syntaxe
SPLIT(Texte: texet, Séparateur: texte, Segment: nombre entier )
Paramètres
Nom | Type | Description |
---|---|---|
Texte | Texte | Valeur depuis laquelle extraire le segment. |
Séparateur | Texte |
Le(s) caractère(s) qui délimite(n)t, ou indique(nt), des segments de données dans une chaîne source. Vous pouvez également spécifier une expression régulière comme séparateur. Voir les exemples de délimiteurs d'espaces et à caractères multiples ci-dessous. |
Segment | Entier |
Segment à extraire. Utilisez un nombre pour préciser le segment à extraire. Par exemple, pour extraire le troisième segment, précisez 3. |
Sortie
Caractère.
Exemples
La fonction Texte - Fraction divise les données de type caractère en segments basés sur des séparateurs tels que les virgules ou les espaces et renvoie un segment spécifié :
Segments délimités par des virgules | Délimiteurs d'espace et à caractères multiples |
---|---|
Renvoie "Amérique du Nord" : SPLIT("AmériqueduNord, Canada, Colombie Britannique", ",", 1) Renvoie "Colombie Britannique" SPLIT("AmériqueduNord, Canada, Colombie Britannique"; "," 3) Renvoie "" (le troisième segment est vide) : SPLIT("AmériqueduNord, Canada, Colombie Britannique"; "," 3) |
Renvoie « A » : SPLIT("ABC"; "/*"; 1) Renvoie "Doe" : SPLIT("Jane Doe"; "\s+ "; 2) |