Obtention des données de séries temporelles agrégées
Cognite Data Fusion (CDF) procède à un calcul préalable des agrégats les plus courants pour les points de données numériques dans des séries temporelles. Ces agrégats sont disponibles avec de brefs temps de réponse même lors de requêtes sur de grands jeux de données.
Au lieu de télécharger et d’agréger manuellement des données dans un client OData, vous pouvez envoyer des requêtes dans CDF concernant les agrégats. Spécifiez la plage de temps et la granularité (l’unité de temps pour laquelle les agrégats doivent être calculés) et laissez CDF réaliser le travail de calcul.
Obtention d’agrégats pour une seule série temporelle à l’aide des services OData
Dans le service OData axé sur les actifs et le service OData de modélisation des données, lors de l’énumération des séries temporelles, le service expose une fonction pour récupérer des agrégats pour une seule série temporelle depuis CDF. Pour utiliser la fonction dans Microsoft Power BI :
-
Dans l’
Power Query Editor, accédez à une liste des tableaux de séries temporelles à l’aide d’un connecteurCognite Power BI. -
Utilisez le filtrage pour trouver la série temporelle pour laquelle vous voulez des agrégats, puis dans la colonne Agrégat, sélectionnez Fonction.
-
Spécifiez la plage de temps et la granularité, puis sélectionnez OK.
-
L’
Power Query Editoraffiche un tableau avec les agrégats pour la plage de temps spécifiée. Supprimez les colonnes dont vous n’avez pas besoin, puis sélectionnez Fermer et appliquer.
Obtention d’agrégats pour plusieurs séries temporelles
Pour récupérer des agrégats pour plusieurs séries temporelles sur la même plage de temps, utilisez la fonction TimeseriesAggregate exposée par le service OData axé sur les actifs. Au lieu d’appeler la fonction sur une seule série temporelle, créez un tableau de séries temporelles avec toutes les séries temporelles pour lesquelles vous voulez récupérer des agrégats :
Dans Microsoft Power BI :
-
Établissez une connexion au service
ODataaxé sur les actifs à l’aide d’un connecteurCognite Power BI. Cliquez avec le bouton droit sur le tableau des séries temporelles et la fonction TimeseriesAggregate, puis ajoutez-les en tant que nouvelle requête. -
Appliquez le filtrage au tableau de séries temporelles pour trouver les séries temporelles pour lesquelles vous voulez des agrégats.
-
Dans le volet Requêtes, sélectionnez la fonction TimeseriesAggregate et définissez la granularité, l’heure de début et l’heure de fin. Sélectionnez ensuite Choisir une colonne.
-
Dans la fenêtre Sélectionner une colonne, sélectionnez votre tableau de séries temporelles et la colonne ID dans le tableau afin de spécifier les séries temporelles pour lesquelles vous voulez extraire des agrégats dans
CDF. -
Sélectionnez Invoquer pour commencer à extraire les agrégats.
-
L’
Power Query Editoraffiche un nouveau tableau nommé Fonction invoquée dans le volet Requête avec les agrégats pour la plage de temps spécifiée. Supprimez les colonnes dont vous n’avez pas besoin, puis sélectionnez Fermer et appliquer.Si l’exécution de la fonction TimeseriesAggregate prend beaucoup de temps ou échoue après un certain temps :
- Assurez-vous que vous avez filtré le tableau des séries temporelles afin de n’afficher que celles dont vous avez besoin.
- Vérifiez si vous utilisez la bonne granularité. La granularité affecte significativement les performances des requêtes.
- Demandez un nombre réaliste de points de données. L’agrégation d’un grand nombre de séries temporelles avec une faible granularité peut produire de grandes quantités de points de données, et
Power BIne traite pas beaucoup de giga-octets de données dans une seule requête.