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
-
Sélectionnez le menu déroulant de l’en-tête de colonne auquel vous voulez ajouter le filtre.
-
Sélectionnez Filtres de texte et le type de filtre souhaité, par exemple, Commence par.
-
Dans la boîte de dialogue Filtrer les lignes, spécifiez les conditions pour filtrer les lignes dans la colonne.
-
Sélectionnez Avancé pour définir de nombreux filtres séparément ou pour les définir et les ajouter individuellement.
conseilCommencez toujours par spécifier la condition qui filtre le plus de lignes.
-
Le
Cognite Power BI Connectorenvoie la requête àCDFpour le filtrage, etPower Queryaffiche les résultats retournés à partir deCDF.Power Queryaffiche 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.CDFréalise le filtrage, et aucune donnée inutile n’est transmise entreCDFetPower BI. -
OData Service: le serviceODatapeut réaliser un filtrage local pour prendre en charge une fonction non prise en charge parCDF, par exemple des fonctions telles quecontains
etendswith
. Commencez par réduire le jeu de données autant que possible avec le filtrageCDF. -
Power Query:Power Querydoit 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
ODataetCDF. -
Local : filtrage local réalisé par le service
ODataavant de retourner les résultats dansPower BI. -
FilterFunctions (Fonctions de filtrage) :
Contains
,StartsWith
etEndsWith
. -
Comparison (Comparaison) :
<
,<=
,>
,>=
et=
. -
Search (Recherche) : réalise
pushdown, mais utilise l’API de recherche et nécessite un filtrage local supplémentaire.infosLa 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é | Repousser | Local |
---|---|---|
Id | = | = |
ExternalId | =, StartsWith | =, FilterFunctions |
Name | =, Search | =, FilterFunctions |
Description | Recherche | =, FilterFunctions |
ParentId | = | = |
ParentExternalId | = | = |
DataSetId | = | = |
Source | = | = |
MetaData | = | |
RootId | = | = |
CreatedTime | Comparison | Comparison |
LastUpdatedTime | Comparison | Comparison |
Time series (séries temporelles)
Propriété | Repousser | Local |
---|---|---|
Id | = | = |
ExternalId | =, StartsWith | =, FilterFunctions |
Name | =, Search | =, FilterFunctions |
Description | Recherche | =, FilterFunctions |
IsString | = | = |
MetaData | = | |
Unit | = | = |
IsStep | = | = |
AssetId | = | = |
SecurityCategories | ||
DataSetId | = | = |
CreatedTime | Comparison | Comparison |
LastUpdatedTime | Comparison | Comparison |
Data point
Propriété | Repousser | Local |
---|---|---|
Id | = | = |
TimeStamp | Comparison | Comparison |
Events (événements)
Propriété | Repousser | Local |
---|---|---|
Id | = | = |
ExternalId | =, StartsWith | FilterFunctions |
Description | Recherche | =, FilterFunctions |
Source | = | = |
Type | = | = |
SubType | = | = |
MetaData | = | |
DataSetId | = | = |
StartTime | Comparison | Comparison |
EndTime | Comparison | Comparison |
CreatedTime | Comparison | Comparison |
LastUpdatedTime | Comparison | Comparison |
AssetIds | Contains | Contains |
Files (fichiers)
Propriété | Repousser | Local |
---|---|---|
Id | = | = |
ExternalId | =, StartsWith | =, FilterFunctions |
Name | =, Search | =, FilterFunctions |
Source | = | = |
MimeType | = | = |
MetaData | ||
DataSetId | = | = |
SourceCreatedTime | Comparison | Comparison |
SourceModifiedTime | Comparison | Comparison |
CreatedTime | Comparison | Comparison |
LastUpdatedTime | Comparison | Comparison |
UploadedTime | Comparison | Comparison |
Uploaded | = | = |
AssetIds | Contains | Contains |
Sequences (séquences)
Propriété | Repousser | Local |
---|---|---|
Id | = | = |
ExternalId | =, StartsWith | =, StartsWith |
Name | =, Search | =, FilterFunctions |
Description | =, Search | =, FilterFunctions |
MetaData | ||
AssetId | = | = |
DataSetId | = | = |
CreatedTime | Comparison | Comparison |
LastUpdatedTime | Comparison | Comparison |
Columns |
Bases de données CDF RAW
Propriété | Repousser | Local |
---|---|---|
Name | = | = |
Tableaux CDF RAW
Propriété | Repousser | Local |
---|---|---|
Name | = | = |
Rangées CDF RAW
Propriété | Repousser | Local |
---|---|---|
Key | = | =, FilterFunction |
LastUpdatedTime | Comparison | Comparison |
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 :
-
Dans
Power BI, sélectionnez Obtenir les données dans la fenêtre principale dePower BI, et sélectionnez le Cognite Data Fusion connector. -
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>
-
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'&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'&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.
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.