Filtrer le dataset sur le dernier état d'une entitée

Apprenez à filtrer un dataset pour ne conserver que le dernier état de chaque entité dans Power BI

Pour filtrer votre dataset afin de n'inclure que le dernier état de chaque entité, commencez par utiliser l'API pour charger la source de données de manière habituelle. Remplacez les variables par vos informations spécifiques pour vous connecter au dataset, comme illustré ci-dessous :

let
    // Remplacez ces variables avec vos propres informations
    dataset_name = "Observations",
    api_key = "your_api_key",
    organization_id = "your_organization_id",
    
    RetryRequest = (retries as number) =>
    let
        apiResponse = try Json.Document(Web.Contents("https://developer.finalcad.cloud/api/organizations/" & organization_id & "/data/config/dataseturl?name=" & dataset_name, 
            [Headers=[#"X-API-Key"= api_key, Authorization="token " & api_key]])),
        Source = if apiResponse[HasError] and retries > 0 then
            Function.InvokeAfter(() => @RetryRequest(retries - 1), #duration(0, 0, 0, 2))
        else Parquet.Document(Binary.Buffer(Web.Contents(apiResponse[Value][url])))
    in
        Source,

    Source = RetryRequest(3),

    // Trier le dataset par updated_at en ordre décroissant
    SortedRows = Table.Buffer(Table.Sort(Source,{{"updated_at", Order.Descending}})),

    // Filtrer le dataset pour ne conserver que la dernière entrée pour chaque id d’entité
    DistinctRows = Table.Distinct(SortedRows, {"id"})

in
    DistinctRows

Explication des Étapes de Filtrage

  1. Tri par updated_at : Une fois les données chargées, le dataset est trié en ordre décroissant selon la colonne updated_at, ce qui garantit que la version la plus récente de chaque entité se trouve en premier.

  2. Conservation du Dernier État de Chaque Entité : En utilisant Table.Distinct sur les données triées, on garde uniquement la première occurrence de chaque id unique, correspondant à l’état le plus récent de chaque entité.

Ce processus aboutit à un dataset qui inclut uniquement le dernier état de chaque entité, facilitant l’analyse des données actuelles sans les entrées historiques.

Cette réponse vous a-t-elle aidé ?
😞
😐
😁