Passer au contenu principal

Filtrage des données CDF dans Power BI

Ajoutez des filtres dans Power BI pour filtrer de grands jeux de données en millisecondes plutôt qu’en minutes ou en heures.

Les projets Cognite Data Fusion (CDF) peuvent contenir des millions de lignes de données, et il est impossible ou inefficace de toutes les charger dans Power BI.

Le filtrage est essentiel pour créer des jeux de données exploitables dans Power BI. Le Cognite Power BI Connector pousse les filtres vers CDF via le Cognite OData Service. CDF réalise le filtrage et retourne les lignes correspondantes à Power BI.

Ajout de filtres dans Power Query Editor

  1. Connectez Power BI à CDF.

  2. Sélectionnez le menu déroulant de l’en-tête de colonne auquel vous voulez ajouter le filtre.

  3. Sélectionnez Filtres de texte et le type de filtre souhaité, par exemple, Commence par.

  4. Dans la boîte de dialogue Filtrer les lignes, spécifiez les conditions pour filtrer les lignes dans la colonne.

    Ajout de filtre Power BI
  5. Sélectionnez Avancé pour définir de nombreux filtres séparément ou pour les définir et les ajouter individuellement.

    conseil

    Commencez toujours par spécifier la condition qui filtre le plus de lignes.

  6. Le Cognite Power BI Connector envoie la requête à CDF pour le filtrage, et Power Query affiche les résultats retournés à partir de CDF.

    Power Query affiche un aperçu de l’ensemble de résultats, généralement 1 000 lignes. Le filtrage final est réalisé lorsque vous sélectionnez Fermer et appliquer.

Filtrage pris en charge pour les types de ressources CDF

Le Cognite Power BI Connector peut replier ou pousser les filtres dans CDF via Cognite OData Service. Le filtrage peut être réalisé dans :

  • CDF : le filtrage le plus efficace. CDF réalise le filtrage, et aucune donnée inutile n’est transmise entre CDF et Power BI.

  • OData Service : le service OData peut réaliser un filtrage local pour prendre en charge une fonction non prise en charge par CDF, par exemple des fonctions telles que contains et endswith. Commencez par réduire le jeu de données autant que possible avec le filtrage CDF.

  • Power Query : Power Query doit extraire toutes les données pour réaliser le filtrage. Pour de grands tableaux, cela peut représenter de très grandes quantités de données. Commencez par réduire le jeu de données autant que possible.

Les tableaux ci-dessous indiquent quel filtrage est pris en charge pour chaque type de ressource dans CDF, quels filtres seront repoussés dans CDF, et quels filtres seront appliqués localement par le OData Service.

Définitions

  • Repousser : filtrer les fonctions qui sont repoussées vers le service OData et CDF.

  • Local : filtrage local réalisé par le service OData avant de retourner les résultats dans Power BI.

  • FilterFunctions (Fonctions de filtrage) : Contains, StartsWith et EndsWith.

  • Comparison (Comparaison) : <, <=, >, >= et =.

  • Search (Recherche) : réalise pushdown, mais utilise l’API de recherche et nécessite un filtrage local supplémentaire.

    infos

    La recherche retourne un nombre de lignes limité, et vous ne recevez pas forcément toutes les données correspondantes dans CDF.

Assets (actifs)

PropriétéRepousserLocal
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
DescriptionRecherche=, FilterFunctions
ParentId==
ParentExternalId==
DataSetId==
Source==
MetaData=
RootId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison

Time series (séries temporelles)

PropriétéRepousserLocal
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
DescriptionRecherche=, FilterFunctions
IsString==
MetaData=
Unit==
IsStep==
AssetId==
SecurityCategories
DataSetId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison

Data point

PropriétéRepousserLocal
Id==
TimeStampComparisonComparison

Events (événements)

PropriétéRepousserLocal
Id==
ExternalId=, StartsWithFilterFunctions
DescriptionRecherche=, FilterFunctions
Source==
Type==
SubType==
MetaData=
DataSetId==
StartTimeComparisonComparison
EndTimeComparisonComparison
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
AssetIdsContainsContains

Files (fichiers)

PropriétéRepousserLocal
Id==
ExternalId=, StartsWith=, FilterFunctions
Name=, Search=, FilterFunctions
Source==
MimeType==
MetaData
DataSetId==
SourceCreatedTimeComparisonComparison
SourceModifiedTimeComparisonComparison
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
UploadedTimeComparisonComparison
Uploaded==
AssetIdsContainsContains

Sequences (séquences)

PropriétéRepousserLocal
Id==
ExternalId=, StartsWith=, StartsWith
Name=, Search=, FilterFunctions
Description=, Search=, FilterFunctions
MetaData
AssetId==
DataSetId==
CreatedTimeComparisonComparison
LastUpdatedTimeComparisonComparison
Columns

Bases de données CDF RAW

PropriétéRepousserLocal
Name==

Tableaux CDF RAW

PropriétéRepousserLocal
Name==

Rangées CDF RAW

PropriétéRepousserLocal
Key==, FilterFunction
LastUpdatedTimeComparisonComparison

Utilisation de requêtes personnalisées pour filtrer des données

Vous pouvez utiliser le Cognite Power BI connector afin de créer des requêtes personnalisées pour filtrer des propriétés. Par exemple, filtrer en fonction des propriétés Metadata de l’actif :

  1. Dans Power BI, sélectionnez Obtenir les données dans la fenêtre principale de Power BI, et sélectionnez le Cognite Data Fusion connector.

  2. Dans le champ de nom du projet, saisissez le nom du projet, la ressource et le filtre au format suivant :

    <project-name>/<resource-type>/?$filter=<Filter>

  3. Sélectionnez OK, puis Transformer les données pour ouvrir un aperçu de requête.

Exemples

Le filtrage suit la spécification OData, et vous pouvez créer des filtres à plusieurs attributs en associant des filtres avec les termes et/ou. Par exemple, un filtre d’égalité utilise le format AttributeName eq 'AttributeValue' :

Name eq '23-TE-96116-04'

Filtrage des métadonnées

Pour les métadonnées, le filtrage est réalisé sur les propriétés imbriquées dans l’objet des métadonnées. Pour filtrer en fonction d’une propriété de métadonnées, vous devez créer un filtre sous la forme de "MetaData/NestedAttributeName eq 'NestedAttributeValue'", par exemple :

MetaData/RES_ID eq '525283'

Voici un exemple de requête personnalisée pour le projet publicdata, avec filtrage en fonction deMetadata/RES_ID :

publicdata/Assets/?$filter=MetaData/RES_ID eq '525283'&amp;tenantID=48d5043c-cf70-4c49-881c-c638f5796997

Il y a un filtre AND sur Metadata/RES_ID et Name :

publicdata/Assets/?$filter=MetaData/RES_ID eq '525283' and Name eq '23-TE-96116-04'&amp;tenantID=48d5043c-cf70-4c49-881c-c638f5796997

Dans les exemples ci-dessus, tenantID=48d5043c-cf70-4c49-881c-c638f5796997 est l’abonné Microsoft Entra ID configuré pour le projet publicdata.

Débogage

Pour déboguer le filtrage, il est intéressant d’utiliser des outils permettant de voir quels filtres sont repoussés vers le service OData, par exemple Fiddler.