Del via


Behandle datatilgang

Datakildefunksjoner

En data Koble til eller bryter og tilpasser virkemåten til en datakildefunksjon i M-biblioteket. En utvidelse for en REST-API vil for eksempel gjøre bruk av Web.Contents-funksjonen til å foreta HTTP-forespørsler. For øyeblikket er et begrenset sett med datakildefunksjoner aktivert for å støtte utvidbarhet.

Eksempel:

[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
    let
        message = if (message <> null) then message else "Hello world"
    in
        message;

Datakildetype

Funksjoner som er merket som shared i utvidelsen, kan knyttes til en bestemt datakilde ved å inkludere et DataSource.Kind litteralattributt på funksjonen med navnet på en datakildedefinisjonspost. Datakildeposten definerer godkjenningstypene som støttes av datakilden, og grunnleggende varemerkingsinformasjon (for eksempel visningsnavnet/etiketten). Navnet på posten blir den unike identifikatoren.

Hver funksjon som er knyttet til samme datakilde, må ha de samme nødvendige funksjonsparameterne, inkludert navn, type og rekkefølge. (I forbindelse med datakildetypen anses ikke en parameter som obligatorisk hvis den er merket optional eller hvis metadataene inneholder DataSource.Path = false.)

Funksjoner for en bestemt datakildetype kan bare bruke legitimasjon som er knyttet til denne typen. Legitimasjon identifiseres ved kjøring ved å utføre et oppslag basert på kombinasjonen av funksjonens nødvendige parametere. Hvis du vil ha mer informasjon om hvordan legitimasjon identifiseres, kan du se Datakildebaner.

Eksempel:

HelloWorld = [
    Authentication = [
        Implicit = []
    ],
    Label = Extension.LoadString("DataSourceLabel")
];

Egenskaper

Tabellen nedenfor viser feltene for datakildedefinisjonsposten.

Felt Type Detaljer
Autentisering Posten Angir én eller flere typer godkjenning som støttes av datakilden. Minst én type er nødvendig. Hver type vises som et alternativ i ledeteksten for Power Query-legitimasjon. Hvis du vil ha mer informasjon, kan du se Godkjenningstyper.
Etikett tekst (valgfritt) Egendefinert visningsnavn for denne utvidelsen i dialogboksen legitimasjon.
SupportsEncryption Logiske (valgfritt) Når sann, vil brukergrensesnittet presentere alternativet for å koble til datakilden ved hjelp av en kryptert tilkobling. Dette brukes vanligvis for datakilder med en ikke-kryptert tilbakefallsmekanisme (vanligvis ODBC eller ADO.NET baserte kilder).

Publiser til brukergrensesnittet

På samme måte som definisjonsposten for datakilden, gir publiser-posten Power Query-brukergrensesnittet informasjonen den trenger for å vise denne utvidelsen i dialogboksen Hent data.

Eksempel:

HelloWorld.Publish = [
    Beta = true,
    ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
    SourceImage = HelloWorld.Icons,
    SourceTypeImage = HelloWorld.Icons
];

HelloWorld.Icons = [
    Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
    Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];

Egenskaper

Tabellen nedenfor viser feltene for publiser-posten.

Felt Type Detaljer
ButtonText liste Liste over tekstelementer. Det første elementet definerer navnet som vises ved siden av datakildeikonet i dialogboksen Hent data i Power BI. Det andre elementet (valgfritt) definerer verktøytipset som skal vises når det foregående navnet holdes over.
Kategori tekst Der utvidelsen skal vises i dialogboksen Hent data . For øyeblikket er Azure de eneste kategoriverdiene med spesialhånding og Database. Alle andre verdier vil ende opp under Kategorien Annet.
Beta Logiske (valgfritt) Når den er satt til sann, viser brukergrensesnittet en forhåndsversjon/beta-identifikator ved siden av koblingsnavnet og en advarselsdialogboks om at implementeringen av koblingen kan bryte endringer.
LearnMoreUrl tekst (valgfritt) Url-adresse til nettsted som inneholder mer informasjon om denne datakilden eller koblingen.
SupportsDirectQuery Logiske (valgfritt) Aktiverer Direct Query for utvidelsen.
SourceImage Posten (valgfritt) En post som inneholder en liste over binære bilder (hentet fra filtypen ved hjelp av metoden Extension.Contents ). Posten inneholder to felt (Icon16, Icon32), hver med sin egen liste. Hvert ikon skal ha en annen størrelse.
SourceTypeImage Posten (valgfritt) I likhet med SourceImage, bortsett fra konvensjonen for mange ut av boksen koblinger er å vise et arkikon med kildespesifikke ikonet nederst til høyre. Det er valgfritt å ha et annet sett med ikoner for SourceTypeImage – mange utvidelser bruker ganske enkelt det samme settet med ikoner for begge feltene.