Power BI: Hente data fra en CDF-datamodell
Koble til en Cognite Data Fusion-datamodell (CDF-datamodell) som datakilde, og bruk Power BI til å spørre, transformere og visualisere CDF-dataene.
Før du kan logge på med bedriftens ID og hente data fra CDF, må en administrator registrere bedriften for Microsoft Power Query for Excel og samtykke i at bedriften kan bruke det.
Du må ha disse funksjonene i et prosjekt eller per områdenivå for å kunne bruke dataene i en datamodell: dataModelsAcl:read
, dataModelInstancesAcl:read
. Se
Se Konfigurere tilgang til datamodeller.
Du må ha tilgang til elementet på prosjekt- eller datasettnivå for å kunne bruke metadataene til CDF-kjerneelementer, for eksempel tidsserier eller filer. Se Tilordne funksjoner.
Koble Power BI connector til en datamodell
-
Før du starter: Når du skal koble til en datamodell med
Cognite Power BI connector, må du vite navnet på og versjonen til datamodellen ogCDF-prosjektet der den skal brukes. Slik finner du denne informasjonen:-
Gå til fusion.cognite.com, logg på
CDF-prosjektet, og gå til Data management > Explore > Data models. -
Velg datamodellen, og deretter velger du Connections > Power BI.
-
I dialogboksen kopierer og noterer du deg project name og CDF environment.
-
-
Åpne
Power BI Desktop, og logg på med bedriftskontoen. -
På fanen Home på båndet velger du Get Data og deretter More. Deretter velger du Other og Cognite Data Fusion-koblingen i dialogboksen Get Data.
-
Angi informasjonen du merket deg om datamodellen og
CDF-prosjektet, i feltet Project Name og CDF: Environment.Valgfritt: Hvis du vil logge på med en bestemt leier-ID for Microsoft Entra ID (tidligere Azure Active Directory), må du føye til parameteren
tenantid={tenantId}
i prosjektnavn-URI-en i dette formatet:{projectName}/models/spaces/{space}/datamodels/{datamodel}/versions/{version}?tenantid={tenantId}
- der
{tenantId}
er GUID-en for Microsoft Entra ID-leieren du vil bruke, for eksempeld1ce9074-3079-488a-9a2d-f0522babd7a9
Hvis du trenger å finne leier-ID-en for Microsoft Entra ID, kontakter du administratoren eller følger fremgangsmåten i denne artikkelen.
- der
-
I dialogboksen Authentication velger du Organizational account. Sign in med bedriftens ID.
-
I
Power BIconnector står alle typene for den valgte datamodellen oppført.Hver
Type
i datamodellen vises som en tabell iPower BI, med hverInstance
av typen som en rad. -
Velg en tabell (type), og deretter velger du Transform Data.
forsiktigTabellen kan inneholde et stort antall oppføringer. Ikke velg Load med mindre du vil laste inn alle oppføringene.
-
Du kan nå transformere dataene med
Power Query Editor.Hvis du vil avgrense datasettet, kan du for eksempel velge Keep Rows > Keep Top Rows og angi antallet rader du vil beholde.
Du laster de resulterende verdiene inn i
Power BIved å velge Close and Apply.
I Power BI kan du utvide et tilknyttet element for å flate ut en tabell. Dette kan ha betydelig negativ innvirkning på ytelsen, og vi anbefaler at du ikke bruker denne funksjonaliteten.
Hvis noen av spesialtegnene ! * ' ( ) ; : @ & = + $ ,
er til stede enten i space
eller externalId
, kan det hindre Power BI i å lese data fra CDF.
Alfanumeriske tegn og spesialtegnene - _ . ~
kan fint brukes.
Filtrere elementer i datamodeller
Filtrering er helt nødvendig for å lage fungerende datasett i Power BI. Vi anbefaler at du tar i bruk filtrering i Power Query i stedet for i Power BI-rapporten/-dashbordet. Dette forbedrer ytelsen og gjør det lettere å arbeide med gjenbrukbare datasett.
Power BI Connector sender filtrene til CDF via Cognite OData-tjenesten. Filtreringen utføres i CDF, og bare de matchende radene returneres til Power BI. Se også Filtrere CDF-data i Power BI.
Pushdown-filtre for datamodeller
Type | Pushdown |
---|---|
Modellegenskap | Ja, bortsett fra EndsWith og Contains |
Metadata for tidsserier | Nei |
Data- og strengpunkter | Bare timestamp |
Metadata for filer | Nei |
Power Query utfører strengfiltreringsoperasjoner med EndsWith
og Contains
i minnet.
JSONObjects
presenteres som tekstverdier i Power BI.
Arbeide med tidsserier og datapunkter
Datamodellering støtter det å hente Timeseries
fra datamodeller. Hvis du vil hente datapunkter for en bestemt tidsserie, kan du gå til string-
eller dataPoints
. Hvis du vil hente datapunkter fra et tidsintervall, filtrerer du datapunktet på en tidsstempelverdi. CDF støtter ikke filtrering av tidsserier på verdiene deres.
Tidsserier kan inneholde data med et høyt detaljnivå. Du kan forbedre ytelsen og
redusere databelastningen ved å bruke CDF-funksjonen dataPoint
Aggregate
, på samme måte som Hente aggregater for én enkelt tidsserie.
Power BI konverterer automatisk en Unix Epoch-tidsstempelverdi till en UTC DateTime-verdi.
Hvis du vil opprette en visualisering som viser data fra de siste to dagene fra en tidsserie, anbefaler vi at du bruker aggregate
-funksjonen for Time Series
. Med Power Query kan du angi dynamiske verdier som oppdateres hver gang datasettet oppdateres. Funksjonen DateTimeZone.UtcNow()
i Power Query returnerer for eksempel alltid
gjeldende dato og klokkeslett i UTC-tid. Hvis du kombinerer den med Date.AddX
-funksjoner som Date.AddDays
, kan du opprette et dynamisk verdiområde som spørringen kan sende ned til CDF som en aggregatfunksjon-oppkalling, noen som gjør at dataene oppdateres raskere.
Når du bruker datoer som et filter for funksjonsparametere, bruker du PowerQuery DateTimeZone
-typen.
Finn ut mer:
- Hente aggregater for én enkelt tidsserie
- Datofunksjoner i
Power Query - DateTimeZone-funksjoner i
Power Query
Endre pålogget bruker
Når du har logget på, lagrer Power BI påloggingsinformasjonen din til datakilden. Hvis du vil at en annen bruker skal kunne bruke datamodellen, kan du slette den lagrede påloggingsinformasjonen for datakilden:
- I
Power BI Desktopgår du til File > Options and settings > Data source settings. - Rediger eller slett påloggingsinformasjonen for datakilden.