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 tietojen Näyttöyhteys tai -projektin luominen Power Query SDK:n avulla
- Perusfunktion luominen tietojen noutamiseksi lähteestä
- Liittimen testaaminen Power Query SDK:ssa
- Rekisteröi liitin Power BI Desktopissa
OData-perusliittimen luominen
Tässä osiossa luot uuden Data Näyttöyhteys tai -projektin, annat perustietoja ja testaat niitä Power Query SDK:ssa.
Avaa Visual Studio Code. Suosittelemme, että luot uuden työtilan ja luot sitten uuden laajennusprojektin. Jos haluat luoda uuden laajennusprojektin, avaa resurssienhallinta ja valitse Power Query SDK:n osassa Luo laajennusprojekti -painike.
Kun olet valinnut tämän painikkeen, sinua pyydetään antamaan uuden projektin nimi. Anna tämän uuden projektin TripPin
nimeksi .
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 näkyy Power Queryn Nouda tiedot -valintaikkunassa
Avaa TripPin.query.pq-tiedosto. Korvaa nykyinen sisältö viedyn funktion kutsulla.
TripPin.Feed("https://services.odata.org/v4/TripPinService/")
Ennen kuin voit testata liitintä, sinun on luotava se. Voit tehdä tämän siirtymällä Pääte-kohtaan ja valitsemalla Suorita muodostamistehtävä... -vaihtoehdon (pikanäppäin Ctrl + vaihto + B). Suosittelemme, että valitset MakePQX-vaihtoehdon , mutta jompikumpi koontiversiovaihtoehdoista toimii.
Tämän toiminnon tulos luo uuden Bin-kansion , johon luomasi liitin tallennetaan nimellä TripPin.mez.
<Project.query.pq-tiedostoa> käytetään pidennyksen testaamiseen ilman, että sitä tarvitsee ottaa käyttöön Power BI Desktopin roskakorikansiossa. Käyttämällä Power Query SDK:n sisällä käytettävissä olevia työkaluja:
- Valitse määritä tunnistetiedot.
- Valitse tietolähteeksi TripPin .
- Valitse kysely- /testitiedostoksi TripPin.query.pq-tiedosto .
- Valitse todentamislajiksi anonyymi .
Tulostevalintaikkunaan tulee sanoma, joka vahvistaa, että olet määrittänyt tietolähteen tunnistetiedot ja kunkin luodun tunnistetiedon tiedot.
Muistiinpano
Voit aina tyhjentää tunnistetiedot Tyhjennä KAIKKI -tunnistetiedot -komennolla tai tarkistaa käytettävissä olevat tunnistetiedot Power Query SDK -työkalujen Luettelotunnistetiedot-komennolla.
Kun tunnistetiedot ovat nyt paikallaan, valitse TripPin.query.pq-tiedosto ja valitse tiedostosta joko Oikea kohta Laske nykyinen power query -tiedosto tai käytä nykyisen tiedoston arviointivaihtoehtoa Power Query SDK -työkaluissa.
Tulostevalintaikkunassa näkyy laskutulosten viesti sekä uusi ikkuna, jonka nimi on PQTest.
PQTest-tulosikkunassa on kolme välilehteä:
- Tuloste: Näyttää tietojen esikatselun ruudukossa.
- Yhteenveto: Yleiset arvioinnin tiedot, kuten StartTime, EndTime, Duration, arvioinnissa käytetty tiedosto, tila ja paljon muuta.
- DataSource: antaa tietoja tietolähteestä, jota käytettiin lajista, funktion nimestä ja polusta.
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
Tärkeä
Tallenna tiedostot aina, kun työskentelet. Jos teet muutoksia TripPin.pq-tiedostoon, käynnistä aina seuraava koontiversiotehtävä varmistaaksesi, että testaat liittimesi uusinta versiota.
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 käyttöön eksplisiittistä taittamislogiikkaa, 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ö arvolla Web.Contents, jota ei ole. 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.
- Luo [Omat tiedostot]\Power BI Desktop\Custom Näyttöyhteys ors -hakemisto.
- Kopioi tunnistetiedosto (TripPin.mez) 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, tarvitaan vain vähän logiikkaa, jotta täysin toiminnallinen liitin voidaan ottaa käyttöön perusfunktion OData
kautta. 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 enemmän 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