Jaa


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.

Näyttökuva, jossa korostetaan Power Query SDK -laajennusprojektin luontivaihtoehtoa.

Kun olet valinnut tämän painikkeen, sinua pyydetään antamaan uuden projektin nimi. Anna tämän uuden projektin TripPinnimeksi .

Näyttökuvassa on uusi laajennusprojekti nimeltä TripPin, jossa käytetään Power Query SDK:ta.

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 tyypiksi Uri.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.

Näyttökuva, jossa esitellään koontitehtävän suorittaminen ennen liittimen testaamista.

Tämän toiminnon tulos luo uuden Bin-kansion , johon luomasi liitin tallennetaan nimellä TripPin.mez.

Näyttökuva luodusta uudesta lokerokansiosta, jossa liitintiedosto, jossa on mez-tunniste ja nimi TripPin.mez, sijaitsee.

<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:

  1. Valitse määritä tunnistetiedot.
  2. Valitse tietolähteeksi TripPin .
  3. Valitse kysely- /testitiedostoksi TripPin.query.pq-tiedosto .
  4. Valitse todentamislajiksi anonyymi .

Tulostevalintaikkunaan tulee sanoma, joka vahvistaa, että olet määrittänyt tietolähteen tunnistetiedot ja kunkin luodun tunnistetiedon tiedot.

Näyttökuva tulostevalintaikkunasta, joka näyttää TripPin connecturin juuri luodun todennuksen tiedot käyttämällä .query.pq-tiedostoon välitettyä URL-osoitetta.

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.

Näyttökuva useista vaihtoehdoista nykyisen Power Query -tiedoston arvioimiseksi.

Tulostevalintaikkunassa näkyy laskutulosten viesti sekä uusi ikkuna, jonka nimi on PQTest.

Näyttökuva PQTest-tulosikkunasta, joka näyttää suoritetun arvioinnin tulokset.

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.

  1. Luo [Omat tiedostot]\Power BI Desktop\Custom Näyttöyhteys ors -hakemisto.
  2. Kopioi tunnistetiedosto (TripPin.mez) tähän hakemistoon.
  3. Valitse asetus (Ei suositeltu) Salli minkä tahansa laajennuksen lataaminen ilman vahvistusta tai varoitusta Power BI Desktopissa (kohdassa TiedostoAsetukset>ja vaihtoehdot>Asetukset>Tietoturvatietolaajennukset).>
  4. Käynnistä Power BI Desktop uudelleen.
  5. Valitse Nouda tiedot > Lisää tuodaksesi Nouda tiedot -valintaikkunan.

Voit paikantaa laajennuksen kirjoittamalla sen nimen hakuruutuun.

Nouda tiedot -valintaikkuna.

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.

Käynnistä funktio.

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.

Kuva, jossa tunnistetietokehote on määritetty anonyymi-arvoksi ja tason asetukseksi on määritetty lyhin URL-osoite.

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.

Siirtymistaulukko.

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.

Minä tallennan.

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