Jaa


Muuttujaviittaukset tietovuossa

Note

Tässä artikkelissa keskitytään ratkaisuarkkitehtuuriin CI/CD- ja ALM (Application Lifecycle Management) -ratkaisuarkkitehtuureista Dataflow Gen2:lle , joka perustuu muuttujakirjastojen integrointiin ja koskee vain Dataflow Gen2:ta, jossa on CI/CD-tuki.

Dataflow Gen2:n Fabric-muuttujakirjastot mahdollistavat keskitetyn, uudelleenkäytettävän kokoonpanon hallinnan eri ympäristöissä. Viittaamalla muuttujiin suoraan tietovuon komentosarjoissa voit säätää käyttäytymistä dynaamisesti ilman kovakoodausarvoja, mikä sopii erinomaisesti CI/CD-työnkulkuihin. Tämä integrointi yksinkertaistaa käyttöönottoa eri vaiheissa sallimalla työtilakohtaisten arvojen (kuten Lakehouse- tai työtilatunnusten) lisäämisen suorituksen aikana, mikä tekee tietovoistasi mukautuvampia ja ylläpidettävimpiä.

Tässä opetusohjelmassa käydään läpi esimerkkiratkaisu, joka käyttää muuttujaviittauksia tietovuossa, ja näytetään, miten:

  • Muuttujien määrittäminen: Fabric-muuttujakirjastojen ja niiden erillisten tietotyyppien käyttäminen
  • Muuttujapohjainen lähde: Lakehousen käyttäminen WideWorldImpoters-mallitietojoukon kanssa lähteenä
  • Muuttujapohjainen logiikka: Tietovuokokemuksessa käytettävissä olevien syötepienoissovellusten käyttäminen
  • Muuttujapohjainen kohde: Varaston käyttäminen määränpäänä

Kaavio ratkaisuarkkitehtuurista, joka käyttää muuttujaviittauksia Dataflow Gen2:ssa.

Note

Tässä artikkelissa esitellyt käsitteet ovat yleisiä Dataflow Gen2:lle, ja niitä voidaan soveltaa muihin lähteisiin ja kohteisiin kuin tässä esitettyihin.

Skenaario

Näyttökuva kyselystä, jonka nimi on dimension_city skenaariolle Dataflow Gen2:n sisällä.

Tässä skenaariossa käytetty tietovuo on yksinkertainen, mutta kuvatut perusperiaatteet koskevat kaikentyyppisiä tietovoita. Se muodostaa yhteyden taulukkoon nimeltä dimension_city Lakehouseen tallennetusta Wide World Importers -mallitietojoukosta. Se suodattaa rivit, joissa SalesTerritory-sarake on yhtä suuri kuin Kaakko, ja lataa tuloksen uuteen taulukkoon nimeltä Kaupunki varastossa. Kaikki komponentit – Lakehouse, Warehouse ja Dataflow – sijaitsevat samassa työtilassa. Jos haluat tehdä tietovuosta dynaamisen, käytät muuttujia lähdetaulukon, suodattimen arvon ja kohdetaulukon ohjaamiseen. Näiden muutosten avulla tietovuo voidaan suorittaa Fabric-muuttujakirjastoihin tallennettujen arvojen kanssa kovakoodattujen sijaan.

Muuttujien asettaminen

Note

Varmista, että Fabric-muuttujakirjastot ovat käytössä organisaatiossasi tai käyttöoikeusryhmässäsi. Lue lisää muuttujakirjastojen käytön aloittamisesta.

Parhaana käytäntönä on aina suositeltavaa pitää mielessä suunnittelu ennen ratkaisun luomista ja se, mitkä tietovuon komponentit hankitaan dynaamisesti muuttujakirjastosta. Vaikka voit luoda useita kirjastoja työtilassa, tässä esimerkissä käytetään yhtä kirjastoa nimeltä Oma kirjasto , joka sisältää Dataflow Gen2:n käyttämät muuttujat:

Muuttujan nimi Tyyppi Tarkoitus
WorkspaceId GUID-tunnus Käytetään tietolähteen ja kohdekomentosarjoissa tietovuon
LakehouseId GUID-tunnus Määrittää lähteenä käytettävän Lakehousen tunnuksen
WarehouseId GUID-tunnus Määrittää kohteena käytettävän varaston tunnuksen
Alue String Määrittää, mitä arvoa käytetään tietovuon suodatuslogiikan ohjaamiseen

Varmista, että asetat oletusarvot, jotka vastaavat omaa ympäristöäsi, ja tallenna sitten muuttujakirjasto.

Näyttökuva äskettäin luoduista Fabric-muuttujakirjastoista, joissa on muuttujat WorkspaceId, LakehouseId, WarehouseId ja Territory.

Muuttujapohjainen lähde

Kun käytät mitä tahansa Fabric-yhdistintä, kuten Lakehousea, Warehousea tai Fabric SQL:ää, ne kaikki noudattavat samaa siirtymisrakennetta ja käyttävät samaa syöttömuotoa. Tässä skenaariossa mikään liittimistä ei vaadi manuaalista syöttöä yhteyden muodostamiseksi. Jokainen niistä näyttää kuitenkin, mihin työtilaan ja kohteeseen se muodostaa yhteyden kyselyn siirtymisvaiheiden kautta. Esimerkiksi ensimmäinen siirtymisvaihe sisältää workspaceId-tunnuksen, johon kysely muodostaa yhteyden.

Näyttökuva Siirtyminen 1 -vaiheesta, jossa on workspaceId-arvo dimension_city-kyselyn kaavarivillä.

Tavoitteena on korvata kaavarivin kovakoodatut arvot muuttujilla. Tarkemmin sanottuna haluat käyttää muuttujia WorkspaceId ja LakehouseId tämän logiikan ohjaamiseen. Ensin sinun on tuotava nämä muuttujat Dataflow Gen2:een. Suositeltu tapa on luoda kyselyitä kullekin erilliselle muuttujalle, jotta voit keskittää ja hallita helposti kaikkia muuttujia, joita aiot käyttää. Voit tehdä tämän luomalla tyhjän kyselyn siirtymällä valintanauhan Hae tiedot -merkintään ja valitsemalla avattavasta valikosta Tyhjä kysely -vaihtoehdon.

Näyttökuva Aloitus-välilehden Nouda tiedot -merkinnästä tyhjän kyselyn luomiseksi.

Kun valitset tämän vaihtoehdon, näkyviin tulee uusi valintaikkuna, jossa näet luodun tyhjän kyselyn. Voit tuoda tämän uuden tyhjän kyselyn valitsemalla OK.

Näyttökuva tyhjästä kyselyikkunasta.

Kun kysely on luotu ja näkyy tietovuossa, nimeä se uudelleen WorkspaceId:ksi ja korvaa Lähde-vaiheen kaava seuraavasti:

Variable.ValueOrDefault("$(/**/My Library/WorkspaceId)", "Your Workspace ID")

Tämä komentosarja on pohjimmiltaan se, joka pystyy määrittämään, mikä kirjasto ja muuttuja haetaan. Funktion toinen argumentti Variable.ValueOrDefault määrittää, mikä arvo annetaan, kun muuttujaa ei voi noutaa.

Note

Varmista, että korvaat funktion toisen argumentin "Your Workspace ID" -merkkijonon omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.

Toista tämä prosessi LakehouseId-muuttujalle ja luo kysely, jolla on sama nimi kuin muuttujalla, mutta käytä seuraavaa kaavaa Lähde-vaiheessa:

Variable.ValueOrDefault("$(/**/My Library/LakehouseId)", "Your Lakehouse ID")

Note

Varmista, että korvaat funktion toisen argumentin "Lakehouse-tunnuksesi" merkkijono omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.

Näyttökuva, jossa näkyy äskettäin luotu kysely nimeltä LakehouseId ja WorkspaceId.

Kun molemmat kyselyt on luotu, voit päivittää kyselykomentosarjan käyttämään niitä kovakoodattujen arvojen sijaan. Tämä tarkoittaa kaavarivin alkuperäisten arvojen manuaalista korvaamista viittauksilla WorkspaceId- ja LakehouseId-kyselyihin. Alkuperäinen kyselykomentosarja näyttää tältä:

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = "2455f240-7345-4c8b-8524-c1abbf107d07"]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
  #"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
  #"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
  #"Removed columns"

Kun olet päivittänyt siirtymisvaiheiden viittaukset, uusi päivitetty komentosarja saattaa näyttää tältä:

let
  Source = Lakehouse.Contents([]),
  #"Navigation 1" = Source{[workspaceId = WorkspaceId]}[Data],
  #"Navigation 2" = #"Navigation 1"{[lakehouseId = LakehouseId]}[Data],
  #"Navigation 3" = #"Navigation 2"{[Id = "dimension_city", ItemKind = "Table"]}[Data],
  #"Filtered rows" = Table.SelectRows(#"Navigation 3", each ([SalesTerritory] = "Southeast")),
  #"Removed columns" = Table.RemoveColumns(#"Filtered rows", {"ValidFrom", "ValidTo", "LineageKey"})
in
  #"Removed columns"

Huomaat, että se arvioi edelleen oikein tietojen esikatselun tietovuoeditorissa kaavionäkymässä luoduilla suorilla viittauksilla kaikkien mukana olevien kyselyjen välillä:

Näyttökuva, jossa dimension_city-kyselyssä viitataan WorkspaceId- ja LakehouseId-kyselyihin.

Muuttujaohjattu logiikka

Nyt kun lähde käyttää muuttujia, voit keskittyä tietovuon muunnoslogiikan muokkaamiseen. Tässä skenaariossa suodatinvaiheessa logiikkaa käytetään, ja suodatettava arvo, joka on tällä hetkellä kiinteäkoodattu Kaakkois-arvoksi, on korvattava kyselyllä, joka viittaa muuttujaan. Voit tehdä tämän toistamalla saman prosessin luomalla uuden tyhjän kyselyn ja käyttämällä sen Lähde-vaiheen kaavaa uudelleen niin, että se sisältää Alue-muuttujan ja muutat kyselyn nimen myös muuttujan nimeksi. Käytä seuraavaa komentosarjaa:

Variable.ValueOrDefault("$(/**/My Library/Territory)", "Mideast")

Näyttökuva tietovuossa luodusta aluekyselystä.

Koska suodatinvaihe on luotu käyttöliittymän avulla, voit siirtyä Suodatetut rivit -vaiheeseen, kaksoisvalita sen ja saada suodatinvaiheen asetusikkunan. Tämän valintaikkunan avulla voit valita syöttöwidgetin kautta, haluatko käyttää kyselyä staattisen arvon sijaan:

Näyttökuva syötewidgetistä suodatinrivien valintaikkunassa, jossa on mahdollisuus viitata kyselyyn.

Kun olet valinnut Valitse kysely -vaihtoehdon, näkyviin tulee avattava valikko, jossa näkyvät kaikki kyselyt, joista voit valita. Tästä luettelosta voit valita juuri luodun Alue-kyselyn .

Näyttökuva Alue-kyselystä, joka on valittu syötepienoissovelluksen sisällä suodatinrivien valintaikkunasta.

Kun olet valinnut OK, huomaa, että kaavionäkymä on jo luonut linkin Alue-kyselyn ja käytössä olevan kyselyn välille. Ei vain sitä, vaan tietojen esikatselu näyttää nyt tietoja Lähi-idän alueelta.

Näyttökuva kaavionäkymästä, kyselyasetuksista ja tietojen esikatselusta dimension_city-kyselyssä, jossa näkyvät Lähi-idän myyntialueen tiedot.

Muuttujaan perustuva kohde

Note

On suositeltavaa tutustua Dataflow Gen2:n tietokohteiden käsitteeseen ja siihen, miten sen koostekomentosarja luodaan tietokohteita ja hallittuja asetuksia käsittelevästä artikkelista.

Viimeinen tässä skenaariossa muokattava komponentti on kohde. Tätä varten käytät edistynyttä muokkaus-ominaisuutta data destination destinationi -kyselyille , jonka avulla voit muokata kohdekyselyskriptiä suoraan Dataflow-editorissa Power Query M -koodilla.

Näyttökuva pikaikkunasta, joka sisältää dimension_city kyselyn tietokohdeasetukset.

Ennen kuin aloitat, luo kysely WarehouseId-muuttujalle . Seuraa samaa prosessia kuin aiemmissa osioissa luodaksesi uuden tyhjän kyselyn ja korvataksesi Lähde-vaiheen kaavan seuraavasti:

Variable.ValueOrDefault("$(/**/My Library/WarehouseId)", "Your Warehouse ID")

Note

Varmista, että korvaat funktion toisen argumentin "Varastotunnuksesi" merkkijono omalla vastaavalla arvollasi ympäristössäsi ja tallenna kysely.

Näyttökuva kaikista tietovuon kyselyistä, mukaan lukien juuri luotu WarehouseId-kysely.

Tärkeää

Varmista, että valmistelu on poistettu käytöstä kaikissa muuttujaa sisältävissä kyselyissäsi. Näyttökuva kyselyn valmisteluasetuksesta sen pikavalikossa.

Ota käyttöön tarkennettu muokkaus datakohdekyselyille

Muuttaaksesi kohdekyselyä suoraan Dataflow-editorissa, sinun täytyy ensin ottaa käyttöön edistynyt muokkausominaisuus:

  1. Valitse Asetuksetnauhan Home-välilehdeltä.

  2. Asetukset-valikosta selaa alas Data-kohteet-osioon.

  3. Valitse valintaruutu Enable advanced edit for data destination queries.

  4. Varoitusvalikko ilmestyy, jossa kerrotaan, että kohdekyselyiden muokkaaminen voi aiheuttaa odottamatonta käyttäytymistä tai rikkoa datavirran. Lue varoitus huolellisesti ja valitse OK vahvistaaksesi sen.

  5. Valitse OK sulkeaksesi Asetukset-ikkunan.

Muokkaa kohdekyselyä

Kun olet ottanut edistyneen muokkauksen käyttöön, voit käyttää ja muokata kohdekyselyä datakohteellesi:

  1. Kyselypaneelista etsi datakohde-osio, jossa näkyvät konfiguroidut kohteet.

  2. Napsauta hiiren oikealla kohdekyselyä nimeltä dimension_city.

  3. Valitse kontekstivalikosta Edistynyt editori.

Kohdekysely näyttää seuraavalta:

let
  Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
  Navigation_1 = Pattern{[workspaceId = "8b325b2b-ad69-4103-93ae-d6880d9f87c6"]}[Data],
  Navigation_2 = Navigation_1{[warehouseId = "527ba9c1-4077-433f-a491-9ef370e9230a"]}[Data],
  TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
  TableNavigation

Samoin kuin Lakehousen lähdekoodin skripti, tällä kohteen skriptillä on samanlainen kuvio, jossa se kovakoodaa workspaceId:n ja warehouseID:n. Korvaa nämä kiinteät arvot luomiesi kyselyjen tunnisteilla, niin skriptisi näyttää seuraavalta:

let
  Pattern = Fabric.Warehouse([HierarchicalNavigation = null, CreateNavigationProperties = false]),
  Navigation_1 = Pattern{[workspaceId = WorkspaceId]}[Data],
  Navigation_2 = Navigation_1{[warehouseId = WarehouseId]}[Data],
  TableNavigation = Navigation_2{[Item = "City", Schema = "dbo"]}?[Data]?
in
  TableNavigation

Valitse OK tallentaaksesi muutokset edistyneeseen editoriin.

Tärkeää

Kun muokkaat kohdekyselyä edistyneellä muokkauksella, tavallinen käyttöliittymä kohteen muuttamiseen ei enää toimi. Sinun on jatkettava edistyneen editorin käyttöä mahdollisia lisämuutoksia varten kyseiseen kohteeseen. Lisätietoja löytyy kohdasta Tarkennettu muokkaus datakohdekyselyille.

Voit nyt suorittaa tietovuon, joka käyttää muuttujakirjastojen arvoja.