Lorsque vous incluez des données d'ActivityInfo dans un tableau de bord Power BI, Power BI récupère les données via l'API de requête d'ActivityInfo.
Alors que Power BI nécessite des données dans un format tabulaire rectangulaire, les formulaires d'ActivityInfo peuvent être plus complexes et peuvent inclure des références à d'autres formulaires ainsi que des sous-formulaires. Pour cette raison, l'API de requête vous donne le contrôle sur la façon dont un formulaire ActivityInfo est transformé en tableau pour Power BI.
La requête par défaut
ActivityInfo fournit une requête « par défaut » pour chaque formulaire qui tente de fournir les données d'un formulaire dans un format le plus souvent nécessaire aux utilisateurs. La « Requête par défaut » est accessible via l'URL suivante :
https://www.activityinfo.org/resources/query/form/{formId}
Où {formId} est l'identifiant alphanumérique du formulaire, tel que c1y5yyukfwb6x077
. Vous pouvez trouver l'ID du formulaire dans l'URL de votre navigateur, ou vous pouvez le trouver en sélectionnant « Exporter », puis « Exporter via l'API », et enfin « Afficher tous les champs en JSON »

La requête par défaut inclura :
- L'ID de l'enregistrement dans une colonne nommée « _id »
- L'heure de la dernière modification de l'enregistrement dans une colonne nommée « _lastEditTime », sous forme de nombre de secondes depuis le 01-01-1970
- Deux colonnes pour les champs de type Point géographique dans le formulaire « {nom du champ}.latitude » et « {nom du champ}.longitude »
- Une colonne pour chaque champ de type Texte, Quantité, Sélection unique, Numéro de série, date et autres champs simples
- Une colonne pour chaque champ de type Texte multiligne, tronqué à 128 caractères
- Une colonne pour les champs à sélection multiple, avec les éléments sélectionnés séparés par des virgules.
- Une colonne pour les sous-formulaires, affichant le nombre de sous-enregistrements
- Une colonne pour chaque champ clé dans un formulaire référencé, sous la forme « {nom du champ de référence}.{nom du champ} »
- Une colonne pour chaque champ dans le formulaire parent, au format « parent.{nom du champ} »
Si un code a été attribué à un champ dans le Concepteur de formulaires, alors le code apparaîtra dans la colonne, sinon l'étiquette complète du champ apparaîtra.

Interroger les sous-formulaires
Lors de l'interrogation d'un formulaire « parent », le tableau résultant ne peut pas inclure les enregistrements des sous-formulaires, car cela ne correspondrait pas au format tabulaire attendu par Power BI. Si vous souhaitez inclure des données de sous-formulaires, vous devez interroger le sous-formulaire lui-même depuis Power BI.
Vous pouvez le faire en naviguant du formulaire parent au sous-formulaire et en copiant l'URL de la requête depuis le sous-formulaire :

Cela inclura TOUS les sous-enregistrements de ce sous-formulaire, même ceux qui appartiennent à un parent différent de la sélection actuelle :

Personnaliser la requête
L'API de requête d'ActivityInfo vous permet de personnaliser les colonnes que vous recevez de l'API. Vous pouvez le faire en utilisant des « paramètres de requête » de l'URL sous la forme nom_colonne=champ.
Par exemple, si vous souhaitez uniquement interroger le mois et le nombre de kits du sous-formulaire ci-dessus, vous pouvez composer l'URL :
https://www.activityinfo.org/resources/form/cn3wkxykmbwk6t59/query?reporting_month=month&total=KITS
Cela produira le tableau suivant dans Power BI :

La première partie du paramètre, avant le signe égal, est le nom qui apparaîtra dans Power BI. La valeur après le signe égal peut être n'importe quelle formule valide d'ActivityInfo, y compris un ID de champ, un code ou une formule comme « MEN+WOMEN ». Notez que les paramètres de requête doivent être encodés pour l'URL, donc une formule comme « MEN+WOMEN » devrait être écrite comme suit :
https://www.activityinfo.org/resources/form/cn3wkxykmbwk6t59/query?total=MEN%2BWOMEN
Utiliser la vue Tableau pour construire une requête
La vue Tableau d'ActivityInfo offre un moyen pratique de construire une requête personnalisée. Cliquez sur le bouton « Sélectionner des colonnes » pour ouvrir le volet de sélection des colonnes. Vous pouvez ensuite faire glisser de nouvelles colonnes sur le tableau, renommer des colonnes et ajouter des champs calculés à votre tableau :

Une fois que vous êtes satisfait de votre tableau, vous pouvez choisir « Afficher les champs sélectionnés en JSON » dans le menu Exporter :

URL par défaut
La méthode par défaut génère une URL qui encode vos sélections dans la chaîne de l'URL.
- Sélectionnez « URL par défaut » puis cliquez sur le bouton « Générer l'URL ».

Cela vous donnera une URL qui contient précisément les champs que vous avez sélectionnés :
https://www.activityinfo.org/resources/form/cn3wkxykmbwk6t59/query?Record+ID=cn3wkxykmbwk6t59._id&Province=c4q7r1xkmbwj7942.c40qj9zkmbwjrmy3.E00000012490000000001&TOTAL=MEN+%2B+WOMEN
Le serveur d'ActivityInfo ne peut pas accepter les URL de plus de 2 048 caractères. Lorsque vous construisez une requête qui génère une URL de plus de 2 048 caractères, il vous sera demandé d'utiliser l'option d'URL « raccourcie » à la place.

URL raccourcie
La méthode de l'URL raccourcie génère une URL plus petite, qui n'encode pas vos sélections dans la chaîne de l'URL. Elle vous permet également d'utiliser l'API pour interroger des tableaux avec un grand nombre de champs ou avec des noms de colonnes très longs.
La méthode de l'URL raccourcie produit des résultats similaires à la méthode de l'URL par défaut.
- Sélectionnez « URL raccourcie » puis cliquez sur le bouton « Générer l'URL ».
