TripPin-osa 1 – OData-palvelun tietoliittin
Tässä moniosaisessa opetusohjelmassa käsitellään uuden tietolähdelaajennuksen luomista Power Querylle. Opetusohjelma on tarkoitus tehdä järjestyksessä – jokainen oppitunti perustuu aiemmilla oppitunneilla luotuun liittimeen ja lisää uusia ominaisuuksia liittimeen.
Tällä oppitunnilla:
- Uuden Data Näyttöyhteys or-projektin luominen Visual Studio SDK:n avulla
- Perusfunktion luominen tietojen noutamiseksi lähteestä
- Liittimen testaaminen Visual Studiossa
- Rekisteröi liitin Power BI Desktopissa
OData-perusliittimen luominen
Tässä osiossa luot uuden Data Näyttöyhteys tai -projektin, annat perustason tietoja ja testaat sitä Visual Studiossa.
Avaa Visual Studio ja luo uusi projekti. Valitse Power Query -kansiossa Data Näyttöyhteys or-projekti. Määritä tälle mallille projektin nimeksi TripPin
.
Avaa TripPin.pq-tiedosto ja liitä se seuraavaan liittimen määritykseen.
section TripPin;
[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Feed = Value.ReplaceType(TripPinImpl, type function (url as Uri.Type) as any);
TripPinImpl = (url as text) =>
let
source = OData.Feed(url)
in
source;
// Data Source Kind description
TripPin = [
Authentication = [
Anonymous = []
],
Label = "TripPin Part 1 - OData"
];
// Data Source UI publishing description
TripPin.Publish = [
Beta = true,
Category = "Other",
ButtonText = { "TripPin OData", "TripPin OData" }
];
Tämä liitinmääritys sisältää seuraavat:
- TripPin-liittimen tietolähteen määritystietue
- Määritys, jonka mukaan implisiittinen (anonyymi) on tämän lähteen ainoa todennustyyppi
- Funktio (
TripPinImpl
) jossa on toteutus, joka kutsuu OData.Feed-funktiota - Jaettu funktio (
TripPin.Feed
), joka määrittää parametrin tyypiksiUri.Type
- Tietolähde, joka julkaisee tietueen, jonka avulla liitin voi näkyä Power BI :n Nouda tiedot -valintaikkunassa
Avaa TripPin.query.pq-tiedosto. Korvaa nykyinen sisältö viedyn funktion kutsulla.
TripPin.Feed("https://services.odata.org/v4/TripPinService/")
Käynnistä M-kysely-apuohjelma valitsemalla Käynnistä-painike .
<Project.query.pq-tiedostoa> käytetään pidennyksen testaamiseen ilman, että sitä tarvitsee ottaa käyttöön Power BI Desktopin roskakorikansiossa. Käynnistä-painikkeenvalitseminen (tai F5-painikkeen painaminen) kääntää laajennuksen automaattisesti ja käynnistää M-kysely-apuohjelman.
Kyselyn suorittaminen ensimmäistä kertaa aiheuttaa tunnistetietovirheen. Power Queryssa isännöintisovellus muuntaisi tämän virheen tunnistetietokehotteeksi. Visual Studiossa saat samanlaisen kehotteen, joka ilmoittaa, mistä tietolähteestä puuttuu tunnistetiedot ja sen tietolähteen polku. Valitse lyhyin tietolähteen poluista (https://services.odata.org/
)– tämä käyttää tunnistetietojasi kaikissa tämän polun URL-osoitteissa.
Valitse anonyymi tunnistetietotyyppi ja valitse sitten Määritä tunnistetiedot.
Sulje valintaikkuna valitsemalla OK ja valitse sitten Käynnistä-painike uudelleen. Näkyviin tulee kyselyn suorittamisen tila -valintaikkuna ja lopuksi Kyselyn tulos -taulukko, jossa näkyvät kyselystä palautetut tiedot.
Voit kokeilla muutamia eri OData-URL-osoitteita testitiedostossa nähdäksesi, miten eri tulokset palautetaan. Esimerkkejä:
https://services.odata.org/v4/TripPinService/Me
https://services.odata.org/v4/TripPinService/GetPersonWithMostFriends()
https://services.odata.org/v4/TripPinService/People
TripPin.query.pq-tiedosto voi sisältää yksittäisiä lausekkeita, let-lausekkeita tai täydellisiä osan asiakirjoja.
let
Source = TripPin.Feed("https://services.odata.org/v4/TripPinService/"),
People = Source{[Name="People"]}[Data],
SelectColumns = Table.SelectColumns(People, {"UserName", "FirstName", "LastName"})
in
SelectColumns
Avaa Fiddler , jotta voit siepata HTTP-liikenteen, ja suorita kysely. Sinun pitäisi nähdä muutamia eri pyyntöjä services.odata.org koostesäilöprosessin luomana. Huomaat, että palvelun URL-pääkansion käyttäminen johtaa 302-tilaan ja uudelleenohjauksen URL-osoitteen pidempään versioon. Seuraavat uudelleenohjaukset ovat toinen toiminta, jonka saat "ilmaiseksi" peruskirjastofunktioista.
URL-osoitteita tarkastelemalla kannattaa huomata, että voit nähdä lausekkeen sisältävän kyselyn delegoinnin lähteeseen SelectColumns
.
https://services.odata.org/v4/TripPinService/People?$select=UserName%2CFirstName%2CLastName
Jos lisäät kyselyyn muunnoksia, näet, miten ne vaikuttavat luotuun URL-osoitteeseen.
Tämä toiminta on tärkeää huomioida. Vaikka et ottanut eksplisiittistä taittologiikkaa käyttöön, liittimesi perii nämä ominaisuudet OData.Feed-funktiosta. M-lausekkeet ovat laadintakykyisiä – suodatinkontekstit kulkevat funktiosta toiseen aina, kun se on mahdollista. Tämä on käsitteeltään samanlainen kuin liittimessä käytetty tietolähdefunktio perii todennuskontekstinsa ja tunnistetietonsa. Myöhemmillä oppitunneilla korvaat OData.Feedin, jossa on alkuperäiset taitosominaisuudet, käyttö web.contents-tiedostolla, mikä ei. Jos haluat saada saman ominaisuustason, sinun on käytettävä - Table.View
liittymää ja käytettävä omaa eksplisiittistä taitettavaa logiikkaa.
Laajennuksen lataaminen Power BI Desktopissa
Jos haluat käyttää laajennusta Power BI Desktopissa, sinun on kopioitava liitinprojektin tulostetiedosto (TripPin.mez) Mukautettujen Näyttöyhteys ormien hakemistoon.
- Valitse Visual Studiossa Muodosta | Luo ratkaisu (F6) valikkoriviltä. Tämä luo .mez-tiedoston projektiasi varten. Oletusarvoisesti tämä tallennetaan projektisi bin\Debug-kansioon.
[My Documents]\Power BI Desktop\Custom Connectors
Luo hakemisto.- Kopioi laajennustiedosto tähän hakemistoon.
- Valitse asetus (Ei suositeltu) Salli minkä tahansa laajennuksen lataaminen ilman vahvistusta tai varoitusta Power BI Desktopissa (kohdassa TiedostoAsetukset>ja vaihtoehdot>Asetukset>Tietoturvatietolaajennukset).>
- Käynnistä Power BI Desktop uudelleen.
- Valitse Nouda tiedot > Lisää tuodaksesi Nouda tiedot -valintaikkunan.
Voit paikantaa laajennuksen kirjoittamalla sen nimen hakuruutuun.
Valitse funktion nimi ja valitse Näyttöyhteys. Näyttöön tulee kolmannen osapuolen sanoma – jatka valitsemalla Jatka . Funktiokutsu-valintaikkuna tulee nyt näkyviin. Anna palvelunhttps://services.odata.org/v4/TripPinService/
() URL-pääosoite ja valitse OK.
Koska tämä on ensimmäinen kerta, kun käytät tätä tietolähdettä, näyttöön tulee tunnistetietojen kehote. Tarkista, että lyhin URL-osoite on valittuna, ja valitse sitten Näyttöyhteys.
Huomaa, että yksinkertaisen tietotaulukon hakemisen sijaan näkyviin tulee siirtymistoiminto. Tämä johtuu siitä, että OData.Feed-funktio palauttaa taulukon, jonka lisäksi on erityisiä metatietoja ja jonka Power Query -käyttökokemus tietää näkyvän siirtymistaulukkona. Näissä vaiheittaisissa ohjeissa kerrotaan, miten voit luoda ja mukauttaa omaa siirtymistaulukkoasi tulevalla oppitunnilla.
Valitse Minä-taulukko ja valitse sitten Muunna tiedot. Huomaa, että sarakkeisiin on jo määritetty tyyppejä (no, useimmat niistä). Tämä on toinen ominaisuus taustalla olevassa OData.Feed-funktiossa . Jos katsot pyyntöjä Fiddlerissä, näet, että olet noutanut palvelun $metadata asiakirjan. Moduulin OData-toteutus tekee tämän automaattisesti palvelun rakenteen, tietotyyppien ja suhteiden määrittämiseksi.
Yhteenveto
Tällä oppitunnilla opit luomaan yksinkertaisen OData.Feed-kirjastoon perustuvan liittimen. Kuten näit, täysin toiminnallisen liittimen OData
ottamiseksi käyttöön perustoiminnossa tarvitaan vain hyvin vähän logiikkaa. Muut laajennettavuus käytössä olevat funktiot, kuten ODBC. DataSource tarjoaa samankaltaisia ominaisuuksia.
Seuraavalla oppitunnilla korvaat OData.Feedin käytön vähemmän toimivan funktion , Web.Contentsin, avulla. Jokaisella oppitunnilla toteutetaan lisää liitinominaisuuksia, kuten sivutus, metatietojen/rakenteen tunnistaminen ja kyselyn delegointi OData-kyselyn syntaksiin, kunnes mukautettu liitin tukee samaa toimintovalikoimaa kuin OData.Feed.
Seuraavat vaiheet
TripPin-osa 2 – Tietojen Näyttöyhteys tai REST-palvelua varten
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle