Passer au contenu principal

Meilleures pratiques et dépannage

Ces meilleures pratiques et conseils de dépannage vous permettront de tirer le meilleur parti du Cognite Power BI connector.

Meilleures pratiques en matière de performances

Les performances du Cognite Power BI connector dépendent des types de ressources Cognite Data Fusion (CDF) auxquels vous accédez. Par exemple, la lecture d’un million de points de données prend environ 2 minutes et 30 secondes à 3 minutes (6 000 points de données par seconde). Chaque requête complète prend en moyenne 120 ms, et le connecteur ajoute en moyenne 20 ms aux requêtes CDF.

Respectez ces meilleures pratiques générales afin d’obtenir des performances et une fiabilité maximales :

  • N’utilisez pas d’expressions OR ni de tableau à extension.
  • Utilisez si possible plusieurs requêtes.
  • Utilisez l’actualisation incrémentielle.
  • Partitionnez les jeux de données si possible.
  • Conservez uniquement les données dont vous avez besoin. Supprimez les colonnes et données inutiles.
  • Conservez les données d’historique dans un rapport distinct si vous n’avez pas besoin des données quotidiennement. Actualisez le rapport de données d’historique lorsque vous avez besoin des données.
  • Réduisez le nombre de calculs/opérations en front end, et essayez de faire le maximum dans la modélisation des données.

Création de requêtes performantes

Le service OData accepte plusieurs requêtes simultanées, et traite les requêtes en parallèle. Power BI envoie également plusieurs requêtes simultanément lorsque cela est possible.

Il est donc préférable de composer et d’utiliser plusieurs requêtes au lieu d’une seule requête complexe, avec par exemple des expressions OR ou des expansions. Une requête complexe unique nécessite des itérations consécutives avec la latence aller-retour associée à chaque requête.

Essayez plutôt de télécharger les données avec plusieurs requêtes :

Plusieurs requêtes

Accédez ensuite au tableau obtenu dans le modèle de données de Power BI afin de travailler avec les tableaux comme s’il s’agissait d’un seul tableau :

Jonction de tableaux

Utilisation de l’actualisation incrémentielle

L’actualisation incrémentielle permet d’utiliser de grands jeux de données dans Power BI, et présente les avantages suivants :

  • Seules les données qui ont été modifiées doivent être actualisées.
  • Il n’est pas nécessaire de conserver de longues connexions aux systèmes source.
  • La quantité réduite de données à actualiser diminue la consommation globale de mémoire et d’autres ressources.

En savoir plus sur l’actualisation incrémentielle.

Partitionnement de grands jeux de données

Si vous devez télécharger de grands jeux de données, essayez de les partitionner et d’utiliser une requête distincte pour lire chaque partition. Power BI traite plusieurs requêtes simultanément, et le partitionnement des jeux de données peut améliorer considérablement les performances.

Par exemple, si vous lisez des points de données des deux dernières années, essayez de diviser la requête en deux requêtes, permettant chacune de lire une année de données. Fusionnez (concaténez) ensuite les tableaux dans Power BI.

Effacement du cache

Power BI enregistre dans la mémoire cache le manifeste de service décrivant le schéma du service OData. Lors de la mise à niveau du connecteur ou du service OData, vous devrez peut-être effacer le cache Power BI afin de forcer Power BI à lire à nouveau le manifeste de service.

Pour effacer le cache :

  1. Dans Power BI Desktop, sélectionnez Fichier > Options et paramètres > Options > Chargement de données.

  2. Sous Options de gestion du cache de données, sélectionnez Effacer le cache.

Dénomination des propriétés dans les métadonnées et CDF RAW

Les clés de propriétés pour les métadonnées et la zone de transit CDF (RAW) doivent être des identifiants valides, et ne peuvent contenir que des lettres, des numéros et des caractères de soulignement. Le service OData remplace tout autre caractère par un caractère de soulignement. Pour obtenir les résultats les plus fiables et les plus prévisibles, veillez à ce que les données ingérées respectent cette convention de dénomination des clés de propriétés : ^[a-zA-Z][_a-za-z0-9]\*[a-zA-Z0-9]\$.

Dépannage

Vous trouverez ici des informations pour vous aider à résoudre les problèmes lors de l’utilisation de CDF comme source de données dans Power BI.

Les requêtes prennent trop de temps

Un projet CDF peut contenir des centaines de millions de lignes de données, et il est impossible de toutes les charger dans Power BI. Si l’exécution de vos requêtes prend des heures, vous essayez probablement de charger trop de données.

Référez-vous aux informations de l’article sur le filtrage afin de limiter la quantité de données chargées dans Power BI.

Je n’obtiens pas tous les résultats

Si vous obtenez moins de résultats que prévu, vous utilisez peut-être une fonction de filtrage non prise en charge par CDF, telle que startswith sur la colonne Nom pour TimeSeries.

Pour plus d’informations, voir Filtrage pris en charge pour les ressources CDF.

Impossible d’extraire des valeurs minimales de CDF RAW

Si vous utilisez des données provenant de la zone de transit CDF, CDF RAW, dans Power BI, vous pouvez rencontrer des problèmes pour extraire de petits nombres en notation exponentielle.

CDF RAW n’a pas de schéma, mais les bibliothèques OData dans Power BI essaient de sélectionner le bon format pour les données. Actuellement, Power BI choisit le mauvais décodeur pour les petits nombres en notation exponentielle, et vous pouvez rencontrer une erreur de ce type :

DataSource,Error: OData: Cannot convert the literal '2.89999206870561 to the expected type 'Edm.Decimal',

Pour résoudre ce problème, ingérez les valeurs dans CDF RAW comme chaînes plutôt que nombres, et convertissez à nouveau les chaînes en nombres dans Power BI, par exemple, avec la fonction Decimal.From](https://docs.microsoft.com/powerquery-m/decimal-from) Power Query M. Vous ne perdrez pas de précision, et comme la plupart des décodeurs JSON acceptent des chaînes pour les nombres, les clients qui attendent des nombres fonctionnent encore.