Jaa


Opetusohjelma: Aikamatkustus T-SQL:n avulla varastossa

Tässä opetusohjelmassa opit käyttämään T-SQL-lausekkeita aikamatkustuksen varastotaulukossa. Aikamatkustus tarkoittaa tietojen kyselemistä sellaisina kuin ne olivat olemassa tiettynä ajankohtana, minkä Fabric Warehouse tietojen säilytys.

Muistiinpano

Tämä opetusohjelma on osa päästä päähän -skenaariota. Jotta voit suorittaa tämän opetusohjelman, sinun on suoritettava ensin nämä opetusohjelmat:

  1. Luo työtila -
  2. Luo varasto -
  3. Tietojen käyttö Varasto-

Aikamatkustuskyselyiden käsitteleminen

Tässä tehtävässä opit luomaan näkymän kymmenestä suurimmasta asiakkaasta myynnin mukaan. Suoritat aikasijaintikyselyitä seuraavan tehtävän näkymän avulla.

  1. Varmista, että ensimmäisessä opetusohjelmassa luomasi työtila on avoinna.

  2. Valitse Home -valintanauhasta Uusi SQL-kysely.

    Näyttökuva valintanauhan Uusi SQL -kysely -vaihtoehdosta.

  3. Liitä seuraava koodi kyselyeditoriin. Koodi luo näkymän nimeltä Top10Customers. Näkymä käyttää kyselyä kymmenen parhaan asiakkaan noutamiseen myynnin perusteella.

    --Create the Top10Customers view.
    CREATE VIEW [dbo].[Top10Customers]
    AS
    SELECT TOP(10)
        FS.[CustomerKey],
        DC.[Customer],
        SUM(FS.[TotalIncludingTax]) AS [TotalSalesAmount]
    FROM
        [dbo].[dimension_customer] AS DC
        INNER JOIN [dbo].[fact_sale] AS FS
            ON DC.[CustomerKey] = FS.[CustomerKey]
    GROUP BY
        FS.[CustomerKey],
        DC.[Customer]
    ORDER BY
        [TotalSalesAmount] DESC;
    
  4. Suorita kysely.

  5. Kun suoritus on valmis, nimeä kysely uudelleen nimellä Create Top 10 Customer View.

  6. Varmista Explorerin -ruudun Näkymät -kansiosta dbo rakennetta varten, että Top10Customers -näkymä on olemassa.

    Hallintaruudun näyttökuva, jossa korostetaan juuri luotua näkymää.

  7. Luo uusi kysely, joka toimii aikamatkustuskyselyiden kanssa.

  8. Liitä seuraava koodi kyselyeditoriin. Koodi päivittää yksittäisen faktarivin TotalIncludingTax arvon niin, että se tarkoituksella suurentaa sen kokonaismyyntiä. Se myös noutaa nykyisen aikaleiman.

     --Update the TotalIncludingTax for a single fact row to deliberately inflate its total sales.
     UPDATE [dbo].[fact_sale]
     SET [TotalIncludingTax] = 200000000
     WHERE [SaleKey] = 22632918; --For customer 'Tailspin Toys (Muir, MI)'
     GO
    
     --Retrieve the current (UTC) timestamp.
     SELECT CURRENT_TIMESTAMP;
    

    Muistiinpano

    Tällä hetkellä voit käyttää aikamatkalle vain UTC-aikavyöhykettä (Coordinated Universal Time).

  9. Suorita kysely.

  10. Kun suoritus on valmis, nimeä kysely uudelleen nimellä Time Travel.

  11. Huomaa Tulokset -ruudussa aikaleima-arvo (arvosi on nykyinen UTC-päivämäärä ja -aika).

    Tulokset-ruudun näyttökuva, jossa korostetaan kopioitavan aikaleiman arvoa.

  12. Jos haluat noutaa kymmenen parasta asiakasta tästä alkaen, liitä uuteen kyselyeditoriin seuraava lauseke. Koodi noutaa kymmenen parasta asiakasta FOR TIMESTAMP AS OF kyselyvihjeen avulla.

     --Retrieve the top 10 customers as of now.
     SELECT *
     FROM [dbo].[Top10Customers]
     OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
    
  13. Nimeä kysely uudelleen nimellä Time Travel Now.

  14. Palaa Time Travel-kyselyyn ja kopioi sitten kyselyn tulokset Kopioi -komennolla.

    Kopioi-komennon näyttökuva, jossa näytetään kopioi kyselyn tulokset.

  15. Palaa Time Travel Now-kyselyyn ja korvaa YOUR_TIMESTAMP leikepöydälle kopioimasi aikaleiman avulla.

  16. Suorita kysely ja huomaa, että Tailspin Toys (Muir, MI)toiseksi suurin CustomerKey arvo on 49.

  17. Muokkaa aikaleima-arvoa aiempaan vähentämällä aikaleimasta minuutin.

  18. Suorita kysely uudelleen ja huomaa, että Wingtip Toys (Sarversville, PA)toiseksi suurin CustomerKey arvo on 381.

Juomaraha

Lisää esimerkkejä aikamatkustusesimerkeistä on kohdassa Toimintatapa: Kysely käyttämällä aikamatkustusta lauseketasolla.

Seuraava vaihe