obiee - utilisation des variables par défaut


Principales variables prédéfinies

 

En critère

Quand vous filtrez sur les dates cliquez sur "Ajouter plus d'options"

En invite

Cliquer sur Option et à la place d'aucun, choisir :

Premier jour de l'année

Variable de session :

DateDebutPeriode

Expression de variable :

@{biServer.variables['NQ_SESSION.dateDebutPeriode']}

Dernier jour du mois précédent

Variable de session :

DateFinPeriode

Expression de variable :

@{biServer.variables['NQ_SESSION.dateFinPeriode']}

Date du jour

Variable de référentiel

dateJour

Expression de variable :

@{biServer.variables['dateJour']}

Date d'hier

Variable de référentiel

dateHier

Expression de variable :

@{biServer.variables['dateHier']} 

image exempleimage exemple

 

En Critère

Date du jour moins 6 mois

TIMESTAMPADD(SQL_TSI_MONTH, -6, CURRENT_DATE)
 



Formules et fonctions

Si alors Sinon = CASE WHEN

Exemple : ZONE d'habitation

CASE
  WHEN "Adresse"."Habite en quartier prioritaire" = 'O' Then 'Quartier prioritaire'
  WHEN "Adresse"."Habite en ZUS" ='O' THEN 'ZUS'
  WHEN "Adresse"."Habite en ZRR" ='O' THEN 'ZRR'
  ELSE 'Hors zone prioritaire'
END

Pour grouper les niveaux en "Sans diplôme", "Diplômé V ou IV" et "Niveau III et +"

CASE
    WHEN "Cursus"."Niveau (mallette)" LIKE '%validé%'  THEN 'IV ou V validé'
    WHEN "Cursus"."Niveau (mallette)" IN( 'Niveau VI', 'Niveau V bis', 'Niveau IV autre', 'Niveau V autre' ) THEN 'Sans   diplôme'
    ELSE "Cursus"."Niveau (mallette)"
END


Ce qu'on veut afficher est entre apostrophes et pas des guillemets.
Pour écrire Emploi d'avenir il faut doubler l'apostrophe : 'Emploi d''avenir' 

Maximum - minimum
Max("Situation"."Date fin prévue" by "Situation"."ID_DOSSIER")
Donnera la plus grande date pour toutes les situations d'un dossier

Dernière situation : utiliser TOPN

Ramenez deux fois la date de début situation
Transformez en une en indicateur avec cette formule :

TOPN("Situation"."Date début", 1 BY "Jeune"."ID_DOSSIER")
 
Cela affichera 1 partout et filtrera sur la situation dont la date de début est la plus récente. Il suffit ensuite d'exclure la colonne de l'affichage pour ne plus la voir

Voir analyse "Portefeuille-situation"


Afficher une seule date de fin de situation avec ifnull

On peut simplifier l'affichage de la date de fin de situation en ne faisant pas afficher la date de fin réelle si elle est vide :
IFNULL("Situation"."Date fin réelle", "Situation"."Date fin prévue")

Voir analyse "Portefeuille-situation"


Changer le contenu d'une données avec Replace

Replace("Situation en cours de dispositif"."Type situation ou type contrat et mesure",'Emploi d''avenir secteur','EAV')

Cela affiche EAV à la place de "Emploi d'avenir secteur". Remarquez la double apostrophe sur Emploi d'avenir !

Agréger des données avec || et CAST

Pour accoler deux dimensions utiliser || qui s'obtient en faisant Alt GR 6 deux fois

Pour avoir l'adresse complète dans une même colonne :
"Adresse"."Adresse" || ' ' || "Adresse"."Code postal" || ' ' || "Adresse"."Commune"

on ajoute aussi des espaces ( ' ' ) entre les données

Pour agréger deux données de type différent utiliser CAST

Par exemple si vous voulez afficher le Nom du jeune suivi du n° de dossier dans la même colonne ( par exemple DUPOND Jean (214568), cette formule provoquera une erreur :

"Identité"."Nom complet" || '(' || "Jeune"."ID_DOSSIER"  || ')'

Tandis que celle-ci est correcte :
"Identité"."Nom complet" || '(' || CAST("Jeune"."ID_DOSSIER" AS CHAR) || ')'

CAST …. AS FLOAT (décimal) ou CAST… AS INT (entier)  permet de transformer du texte en chiffre. Par exemple si vous avez saisi des chiffres dans le code utilisateur de la situation.


Voici une formule pour concaténer type situation et date :

"Situation"."Type situation ou type contrat et mesure" || ' du ' || CAST("Situation"."Date début" AS CHAR) || ' au ' || CAST(IFNULL("Situation"."Date fin réelle", "Situation"."Date fin prévue") AS CHAR)


Date de début situation postérieure au premier accueil

Filtrez sur Date de début et cochez [X] Convertir le filtre en SQL, puis entrez la syntaxe suivante dans la zone de texte :

"Situation"."Date début" >= "Situation 1er accueil"."Date 1er accueil"

Afficher le mois d'une date : MONTH()

MONTH("Evénement"."Date événement")

MONTH("Evénement en cours de dispositif"."Date événement")

Calculer la différence en nombre de jours entre deux dates

TIMESTAMPDIFF(SQL_TSI_DAY,  "Situation"."Date début", "Situation"."Date fin réelle")+1

TIMESTAMPDIFF(SQL_TSI_DAY,  "Situation en cours de dispositif"."Date début situation", "Situation en cours de dispositif"."Date fin réelle situation")+1

On rajoute 1 pour qu'une situation d'une journée ne fasse pas zéro.



- 19/04/2016 -