Passer au contenu principal
Toutes les collectionsIndaSheetIndaSheet Excel
Récupération des données - Formules
Récupération des données - Formules
Mis à jour il y a plus d'un an

Pré-requis : s'être logué sur io-base depuis le module IndaSheet.

Le module IndaSheet donne accès à de nouvelles formules dans Excel :

  • IDB_RANGE : récupération des données d'une métrique entre deux dates

  • IDB_LATEST : récupération de la dernière valeurs inscrite en base pour une ou plusieurs métriques

  • IDB_INSTANT : récupération de la valeur saisie à une date

  • IDB_DATE : renvoie une date au format ISO, qui peut être utilisée dans les formules io-base

Ces formules peuvent être construites à l'aide de l'interface (pour plus de détail, se référer à l'article sur le sujet). Elles peuvent aussi être saisies directement dans une cellule.

Formule IDB_RANGE

Signature de la formule

=iobase.IDB_RANGE(datasource;metric;start_date;end_date;aggregation;[interval];[displayInRow];[displayTimestamp];[displayCount];[displayMetric];[precision])

Les 6 derniers paramètres sont optionnels. Si elles ne sont pas renseignées, les valeurs par défaut sont décrites ci-dessous.

Détail des paramètres

  • datasource : STRING : nom de la base de données (en général, les données de production se trouvent dans la base de données prod)

  • metric : STRING : nom de la métrique

  • start_date : STRING : date de début de la plage. Cette date doit être au format "aaaa-MM-ddThh:mm:ssZ" (format iso).

  • end_date : STRING : date de fin de la plage. Cette date doit être au format "aaaa-MM-ddThh:mm:ssZ" (format iso).

  • aggregation : STRING : peut contenir les valeurs suivantes :

    • MIN : valeur minimale

    • MAX : valeur maximale

    • SUM : somme

    • AVG : moyenne

    • COUNT : nombre de valeurs

    • none : aucune agrégation

  • [interval] : STRING : groupement à appliquer sur l'agrégation. Les valeurs possibles sont en nombre de jours (d), heures (h), minutes (m), secondes (s). Exemple 1d remontera une valeur par jour. Ce paramètre est optionnel, il n'est nécessaire qui si une agrégation est définie

  • [displayInRow] : BOOLEEN : Permet de définir si les valeurs vont s'inscrire en ligne, ou en colonne. Les valeurs possibles sont :

    • VRAI : affichage des valeurs en colonne

    • FAUX : affichage des valeurs en ligne

    Par défaut, les valeurs s'afficheront en colonne.

  • [displayTimestamp] : BOOLEEN : Permet de définir si l'horodatage doit s'afficher avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage de l'horodatage dans la première ligne (ou colonne selon le cas)

    • FAUX : seules les valeurs sont affichées

    Par défaut l'horodatage s'affichera.

  • [displayCount] : BOOLEEN : Permet de définir si le nombre de résultats remontés doit s'afficher avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage du nombre de résultats avant les valeurs

    • FAUX : le nombre de résultats n'est pas affiché

    Par défaut, le nombre de résultats ne s'affichera pas.

  • [displayMetric] : BOOLEEN :Permet de définir si le nom de la métrique doit s'afficher en haut, avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage du nom de la métrique en première ligne, avant les résultats

    • FAUX : le nom de la métrique ne s'affiche pas

    Par défaut, le nom de la métrique est affiché

  • [precision] : STRING : précision qui sera appliquée pour le calcul de l'agrégation. Les valeurs possibles sont en nombre de jours (d), heures (h), minutes (m), secondes (s).

    Exemple :

    • date de début : 01/01/2023

    • date de fin : 31/03/2023

    • Agrégation : AVG

    • Fréquence : 1d

    • Précision : 1h

    • La résultat de la requête sera la moyenne par jour du tag. En indiquant une précision, on va forcer la requête à faire des groupement pour améliorer la précision de calcul. Dans ce cas là, un premier calcul de moyenne sera fait toutes les heures de la journée. Puis la moyenne de toutes ces moyennes sera faite pour obtenir la valeur pour la journée. Si en précision on avait saisie 1h, alors la moyenne quotidienne aurait été obtenue en faisant la moyenne de toutes les valeurs horaires.

    Si le paramètre n'est pas précisé, la même valeur que l'interval sera renseignée.

Remarques

  • si une agrégation est sélectionnée, mais qu'aucune fréquence n'est renseignée, alors le calcul se fera sur l'ensemble des valeurs de la plage. Par exemple, en COUNT entre deux dates sans fréquence remontera le nombre de valeurs en base entre la date de début et la date de fin

  • si une agrégation est sélectionnée, mais qu'aucune valeur sur un des groupements par fréquence n'est trouvé, alors la valeur remontée est 0.

  • pour la fonction RANGE, il n'est possible d'appeler qu'une seule métrique à la fois

Exemples

  • =iobase.IDB_RANGE("prod"; B6; A3; B3; "AVG"; "1d"; FAUX; VRAI; FAUX; FAUX)

    Avec B6 = nom du tag

    A3 = 2023-01-01T00:01:00Z

    B3 = 2023-04-18T23:59:00Z

    Cette formule va retourner la valeur moyenne journalière du tag entre le 1 janvier 2023 et le 18 avril 2024. Il y aura donc une valeur remontée par jour, affichées en colonne. La première colonne remontera l'horodatage, et la seconde la valeur. Le nom du tag et le nombre de résultats ne seront pas affichés.

  • Pour gérer des dates dynamiques, il est possible de se servir des formules d'Excel. Par exemple, une cellule peut contenir la date du jour à 23:59, et se rafraîchir automatiquement grâce à la formule suivante :

    =CONCAT(ANNEE(MAINTENANT());"-";DROITE(CONCATENER("0";MOIS(MAINTENANT()));2);"-";DROITE(CONCATENER("0";JOUR(MAINTENANT()));2);"T23:59:00Z")

    La formule IDB_RANGE peut ensuite s'appuyer sur cette cellule, qui se rafraîchit toute seule.

Formule IDB_LATEST

Signature de la formule

=iobase.IDB_LATEST(datasource;metric;start_date;end_date;aggregation;[interval];[displayInRow];[displayTimestamp];[displayCount];[displayMetric];[precision])

Les 3 derniers paramètres sont optionnels. Si elles ne sont pas renseignées, les valeurs par défaut sont décrites ci-dessous.

Détail des paramètres

  • datasource : STRING : nom de la base de données (en général, les données de production se trouvent dans la base de données prod)

  • metric : STRING : nom de la métrique

  • [displayInRow] : BOOLEEN : Permet de définir si les valeurs vont s'inscrire en ligne, ou en colonne. Les valeurs possibles sont :

    • VRAI : affichage des valeurs en colonne

    • FAUX : affichage des valeurs en ligne

    Par défaut, les valeurs s'afficheront en colonne.

  • [displayTimestamp] : BOOLEEN : Permet de définir si le'horodatage doit s'afficher avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage de l'horodatage dans la première ligne (ou colonne selon le cas)

    • FAUX : seules les valeurs sont affichées

    Par défaut l'horodatage s'affichera.

  • [displayMetric] : BOOLEEN :Permet de définir si le nom de la métrique doit s'afficher en haut, avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage du nom de la métrique en première ligne, avant les résultats

    • FAUX : le nom de la métrique ne s'affiche pas

    Par défaut, le nom de la métrique est affiché

Remarques

  • pour la fonction LATEST, il est possible d'appeler plusieurs métriques à la fois. Pour cela, séparer le nom des métriques par des ","

  • si plusieurs métriques sont sélectionnées, il faut qu'elles fassent toutes parties de la même Source (même base de données). Sinon, il faudra faire des requêtes séparées.

Exemples

  • =iobase.IDB_LATEST("prod"; "tag1,tag2"; VRAI; VRAI)

    Cette formule va retourner la dernière valeur en base pour les métriques tag1 et tag2. Il y aura donc une valeur remontée par métrique, affichées en ligne. La première ligne remontera l'horodatage, et la seconde la valeur. Le nom du tag sera affiché.

Formule IDB_INSTANT

Signature de la formule

=iobase.IDB_INSTANT(datasource;metric;date;[displayInRow];[displayTimestamp];[displayMetric])

Les 3 derniers paramètres sont optionnels. Si ils ne sont pas renseignés, les valeurs par défaut sont décrites ci-dessous.

Détail des paramètres

  • datasource : STRING : nom de la base de données (en général, les données de production se trouvent dans la base de données prod)

  • metric : STRING : nom de la métrique

  • [displayInRow] : BOOLEEN : Permet de définir si les valeurs vont s'inscrire en ligne, ou en colonne. Les valeurs possibles sont :

    • VRAI : affichage des valeurs en colonne

    • FAUX : affichage des valeurs en ligne

    Par défaut, les valeurs s'afficheront en colonne.

  • [displayTimestamp] : BOOLEEN : Permet de définir si le'horodatage doit s'afficher avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage de l'horodatage dans la première ligne (ou colonne selon le cas)

    • FAUX : seules les valeurs sont affichées

    Par défaut l'horodatage s'affichera.

  • [displayMetric] : BOOLEEN :Permet de définir si le nom de la métrique doit s'afficher en haut, avant les valeurs. Les valeurs possibles sont :

    • VRAI : affichage du nom de la métrique en première ligne, avant les résultats

    • FAUX : le nom de la métrique ne s'affiche pas

    Par défaut, le nom de la métrique est affiché

Remarques

  • pour la fonction INSTANT, il est possible d'appeler plusieurs métriques à la fois. Pour cela, séparer le nom des métriques par des ","

  • si plusieurs métriques sont sélectionnées, il faut qu'elles fassent toutes parties de la même Source (même base de données). Sinon, il faudra faire des requêtes séparées

  • si aucune valeur n'existe à l'horodatage exact sélectionné, la requête va remonter la dernière valeur enregistrée en base juste avant l'horodatage choisi

Exemples

  • =iobase.IDB_INSTANT("prod"; "tag1,tag2"; "2023-04-11T14:45:43Z";FAUX;VRAI;VRAI)

    Cette formule va retourner la valeur en base juste avant l'horodatage 2023-04-11T14:45:43Z pour les métriques tag1 et tag2. Il y aura donc une valeur remontée par métrique, affichées en colonne. La première colonne remontera le nom du tag, et la seconde la valeur. Le nombre de résultats ne sera pas affiché.

Formule IDB_DATE

Signature de la formule

=iobase.IDB_DATE([date])

Le paramètre est optionnel. Si jamais il n'est pas renseigné, la formule renverra au format ici la date et l'heure en cours.

Détail des paramètres

  • [date]: DATE : la date que l'on souhaite avoir au format ISO, pour utilisation dans les autres fonctions de io-base.

Exemples

  • =iobase.IDB_DATE(AUJOURDHUI()+4)

    Renvoie la date du jour + 4j

Avez-vous trouvé la réponse à votre question ?