Megosztás a következőn keresztül:


TripPin 1. rész – OData-szolgáltatás adatösszekötője

Ez a többrészes oktatóanyag a Power Query új adatforrásbővítményének létrehozását ismerteti. Az oktatóanyagot egymás után kell elvégezni – minden lecke az előző leckékben létrehozott összekötőre épül, és növekményesen új képességeket ad hozzá az összekötőhöz.

Ebben a leckében a következőt fogja:

  • Új Data Csatlakozás or-projekt létrehozása a Power Query SDK használatával
  • Alapfüggvény létrehozása egy forrásból származó adatok lekéréséhez
  • Az összekötő tesztelése a Power Query SDK-ban
  • Összekötő regisztrálása a Power BI Desktopban

Alapszintű OData-összekötő létrehozása

Ebben a szakaszban létrehoz egy új Data Csatlakozás or-projektet, megad néhány alapvető információt, és teszteli azt a Power Query SDK-ban.

Nyissa meg a Visual Studio Code-ot. Javasoljuk, hogy hozzon létre egy új munkaterületet, majd hozzon létre egy új bővítményprojektet. Az új bővítményprojekt létrehozásához nyissa meg az explorert, és a Power Query SDK szakaszban válassza a Bővítményprojekt létrehozása gombot.

Power Query SDK-bővítményprojekt létrehozásának lehetőségét kiemelő képernyőkép.

A gomb kiválasztása után a rendszer kérni fogja, hogy adja meg az új projekt nevét. Nevezze el ezt az új projektet TripPin.

Képernyőkép a TripPin nevű új bővítményprojektről a Power Query SDK használatával.

Nyissa meg a TripPin.pq fájlt, és illessze be az alábbi összekötő definícióját.

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" }
];

Ez az összekötő-definíció a következőket tartalmazza:

  • A TripPin-összekötő adatforrásdefiníciós rekordja
  • Deklaráció, hogy az implicit (névtelen) az egyetlen hitelesítési típus ehhez a forráshoz
  • OData.Feed meghívását hívó függvény (TripPinImpl)
  • Egy megosztott függvény (TripPin.Feed), amely a paraméter típusát a következőre állítja: Uri.Type
  • Adatforrás-közzétételi rekord, amely lehetővé teszi, hogy az összekötő megjelenjen a Power Query Adatok lekérése párbeszédpanelen

Nyissa meg a TripPin.query.pq fájlt. Cserélje le az aktuális tartalmat az exportált függvény hívására.

TripPin.Feed("https://services.odata.org/v4/TripPinService/")

Mielőtt tesztelni tudja az összekötőt, létre kell készítenie. Ehhez nyissa meg a terminált, és válassza a Buildfeladat futtatása... lehetőséget (billentyűparancs: Ctrl + Shift + B). Javasoljuk, hogy a MakePQX lehetőséget válassza, de a buildeléshez elérhető bármelyik lehetőségnek működnie kell.

Képernyőkép egy buildelési feladat futtatásáról az összekötő tesztelése előtt.

A művelet eredménye egy új Bin-mappát hoz létre, amelyben a beépített összekötő TripPin.mez néven lesz tárolva.

Képernyőkép az új bin mappáról, ahol a mez kiterjesztésű összekötőfájl és a TripPin.mez név található.

A <project.query.pq> fájl a bővítmény tesztelésére szolgál anélkül, hogy üzembe kellene helyeznie a Power BI Desktop tárolómappájában. A Power Query SDK-ben elérhető eszközök használata:

  1. Válassza a hitelesítő adatok beállítását.
  2. Adatforrásként válassza a TripPin lehetőséget.
  3. Válassza ki a TripPin.query.pq fájlt lekérdezési/tesztelési fájlként.
  4. Válassza ki a névtelent hitelesítési típusként.

A kimeneti párbeszédpanelen megjelenik egy üzenet, amely megerősíti, hogy beállította az adatforrás hitelesítő adatait és az egyes létrehozott hitelesítő adatok részleteit.

Képernyőkép a kimenet párbeszédpanelről, amelyen a TripPin connectur újonnan létrehozott hitelesítésének részletei láthatók a .query.pq fájlban átadott URL-cím használatával.

Feljegyzés

A Hitelesítő adatok törlése parancs használatával bármikor törölheti a hitelesítő adatokat, vagy ellenőrizheti a rendelkezésre álló hitelesítő adatokat a Power Query SDK-eszközök Lista hitelesítő adatai parancsával.

Ha a hitelesítő adatok most már használatban lesznek, válassza a TripPin.query.pq fájlt, és válassza ki a megfelelő lehetőséget a dokumentumban az aktuális Power Query-fájl kiértékeléséhez, vagy használja az aktuális fájl kiértékelését a Power Query SDK-eszközökről.

Képernyőkép az aktuális Power Query-fájl kiértékeléséhez használható több alternatív lehetőségről.

A kimeneti párbeszédpanelen megjelenik a kiértékelés eredményeinek üzenete, valamint egy új, PQTest eredmény nevű ablak.

Képernyőkép a PQTest eredményablakáról, amely a végrehajtott értékelés eredményeit jeleníti meg.

A PQTest eredményablak három lapból áll:

  • Kimenet: Megjeleníti az adatok előnézetét egy rácson.
  • Összegzés: Általános kiértékelési adatok, például StartTime, EndTime, Időtartam, a kiértékeléshez használt fájl, az állapot stb.
  • Adatforrás: Információt nyújt a Kind, a Függvény neve és az elérési út által használt adatforrásról.

A tesztfájlban kipróbálhat néhány különböző OData URL-címet, hogy megtudja, milyen eredményeket adnak vissza. Példa:

  • https://services.odata.org/v4/TripPinService/Me
  • https://services.odata.org/v4/TripPinService/GetPersonWithMostFriends()
  • https://services.odata.org/v4/TripPinService/People

A TripPin.query.pq fájl tartalmazhat egyetlen utasítást, let utasítást vagy teljes szakaszos dokumentumokat.

let
    Source = TripPin.Feed("https://services.odata.org/v4/TripPinService/"),
    People = Source{[Name="People"]}[Data],
    SelectColumns = Table.SelectColumns(People, {"UserName", "FirstName", "LastName"})
in
    SelectColumns

Fontos

Mindig mentse a fájlokat munka közben. Ha módosítja a TripPin.pq fájlt, mindig aktiválnia kell egy későbbi buildelési feladatot, hogy biztosan tesztelje az összekötő legújabb verzióját.

Nyissa meg a Fiddlert a HTTP-forgalom rögzítéséhez, és futtassa a lekérdezést. Látnia kell néhány különböző kérést a services.odata.org, amelyeket az egyesítő tároló folyamata generál. Láthatja, hogy a szolgáltatás gyökér URL-címének elérése 302-es állapotot eredményez, és átirányítja az URL hosszabb verziójára. A következő átirányítások egy másik viselkedés, amelyet "ingyen" kap az alaptárfüggvényekből.

Egy dolog, amit meg kell jegyezni, ha megtekinti az URL-címeket, az az, hogy láthatja a lekérdezés összecsukását, amely az SelectColumns utasítással történt. https://services.odata.org/v4/TripPinService/People?$select=UserName%2CFirstName%2CLastName

Ha további átalakításokat ad hozzá a lekérdezéshez, láthatja, hogy ezek hogyan befolyásolják a létrehozott URL-címet.

Ezt a viselkedést fontos megjegyezni. Bár nem implementál explicit hajtogatási logikát, az összekötő ezeket a képességeket az OData.Feed függvénytől örökli. Az M-utasítások írásra képesek – a szűrőkörnyezetek minden lehetséges esetben átfolynak az egyik függvényből a másikba. Ez a fogalom hasonló ahhoz, ahogyan az összekötőben használt adatforrásfüggvények öröklik a hitelesítési környezetüket és hitelesítő adataikat. A későbbi leckékben az OData.Feed használatát fogja lecserélni, amely natív összecsukási képességekkel rendelkezik, a Web.Contents-ra, ami nem. Az azonos szintű képességek eléréséhez az Table.View interfészt kell használnia, és implementálnia kell a saját explicit összecsukható logikáját.

A bővítmény betöltése a Power BI Desktopban

Ha a Power BI Desktopban szeretné használni a bővítményt, át kell másolnia az összekötő projekt kimeneti fájlját (TripPin.mez) az Egyéni Csatlakozás ors könyvtárba.

  1. Hozzon létre egy [Saját dokumentumok]\Power BI Desktop\Egyéni Csatlakozás ors könyvtárat.
  2. Másolja a bővítményfájlt (TripPin.mez) ebbe a könyvtárba.
  3. Jelölje be a beállítást (Nem ajánlott) Bármely bővítmény betöltésének engedélyezése ellenőrzés vagy figyelmeztetés nélkül a Power BI Desktopban (a Fájlbeállítások>és beállítások>beállítások>biztonsági>adatkiterjesztések területen).
  4. Indítsa újra a Power BI Desktopot.
  5. Az Adatok lekérése párbeszédpanel megnyitásához válassza az Adatok > lekérése továbbiak lehetőséget.

A bővítmény megkereséséhez írja be a nevét a keresőmezőbe.

Adatok lekérése párbeszédpanel.

Válassza ki a függvény nevét, majd válassza a Csatlakozás. Megjelenik egy külső féltől származó üzenet – a folytatáshoz válassza a Folytatás lehetőséget. Ekkor megjelenik a függvényhívás párbeszédpanel. Adja meg a szolgáltatás gyökér URL-címét (https://services.odata.org/v4/TripPinService/), és válassza az OK gombot.

Függvény meghívása.

Mivel ez az első alkalom, hogy hozzáfér ehhez az adatforráshoz, hitelesítő adatokat fog kérni. Ellenőrizze, hogy a legrövidebb URL-cím van-e kiválasztva, majd válassza a Csatlakozás.

A hitelesítőadat-kérés névtelen és a legrövidebb URL-címre beállított szintbeállítás képe.

Figyelje meg, hogy egyszerű adattábla helyett megjelenik a kezelő. Ennek az az oka, hogy az OData.Feed függvény egy speciális metaadatokat tartalmazó táblát ad vissza, amelyet a Power Query felülete navigációs táblaként tud megjeleníteni. Ez az útmutató bemutatja, hogyan hozhatja létre és szabhatja testre saját navigációs táblázatát egy későbbi leckében.

Navigációs táblázat.

Jelölje ki a Me táblát, majd válassza az Adatok átalakítása lehetőséget. Figyelje meg, hogy az oszlopokhoz már vannak hozzárendelt típusok (ezek többsége is). Ez a mögöttes OData.Feed függvény egy másik funkciója. Ha megtekinti a kéréseket a Fiddlerben, láthatja, hogy lekérte a szolgáltatás $metadata dokumentumát. A motor OData-implementációja automatikusan meghatározza a szolgáltatás sémáját, adattípusait és kapcsolatait.

Én rekord.

Összegzés

Ez a lecke végigvezette az OData.Feed könyvtárfüggvényen alapuló egyszerű összekötő létrehozásán. Mint látta, kevés logikára van szükség ahhoz, hogy egy teljesen működőképes összekötőt engedélyezhessen az OData alapfüggvényen. Egyéb bővíthetőséget engedélyező függvények, például az ODBC. A DataSource hasonló képességeket biztosít.

A következő leckében az OData.Feed használatát egy kevésbé alkalmas függvényre , a Web.Contents függvényre cseréli. Minden lecke több összekötőfunkciót valósít meg, beleértve a lapozást, a metaadatokat/sémaészlelést és a lekérdezések OData-lekérdezési szintaxisra való összecsukását, amíg az egyéni összekötő nem támogatja az OData.Feed-hez hasonló képességeket.

Következő lépések

TripPin 2. rész – Rest szolgáltatás adat Csatlakozás or