Del via


Forespørg om data, som de fandtes tidligere

Gælder for:✅ Warehouse i Microsoft Fabric

Warehouse i Microsoft Fabric giver mulighed for at forespørge om historiske data, som de fandtes tidligere. Muligheden for at forespørge om data fra et bestemt tidsstempel er kendt i datawarehousing-branchen som tidsrejse.

  • Tidsrejser gør det nemmere at rapportere stabilt ved at bevare konsistensen og nøjagtigheden af data over tid.
  • Tidsrejser muliggør historiske tendensanalyser ved at forespørge på tværs af forskellige tidligere punkter i tiden og hjælper med at foregribe fremtidige tendenser.
  • Tidsrejser forenkler sammenligninger af lave omkostninger mellem tidligere versioner af data.
  • Tidsrejser hjælper med at analysere ydeevnen over tid.
  • Tidsrejser giver organisationer mulighed for at overvåge dataændringer over tid, som ofte er påkrævet af hensyn til overholdelse af angivne standarder.
  • Tidsrejser hjælper med at genskabe resultaterne fra modeller til maskinel indlæring.
  • Tidsrejser kan forespørge tabeller, som de fandtes på et bestemt tidspunkt på tværs af flere lagre i det samme arbejdsområde.

Hvad er tidsrejse?

Tidsrejser i et data warehouse er en billig og effektiv funktion til hurtigt at forespørge tidligere versioner af data.

Microsoft Fabric tillader i øjeblikket hentning af tidligere datatilstande på følgende måder:

Tidsrejser med KOMMANDOEN FOR TIMESTAMP AS OF T-SQL

I et lagerelement kan tabeller forespørges ved hjælp af syntaksen OPTION FOR TIMESTAMP AS OF T-SQL for at hente data på tidligere tidspunkter. Delsætningen FOR TIMESTAMP AS OF påvirker hele sætningen, herunder alle joinforbundne lagertabeller.

Resultaterne fra tidsrejseforespørgslerne er i sagens natur skrivebeskyttede. Skrivehandlinger, f.eks . INSERT, UPDATE og DELETE , kan ikke udføres under brug af forespørgselstip til FOR TIMESTAMP AS.

Brug delsætningen OPTION til at angive forespørgselstip til FOR TIMESTAMP AS. Forespørgsler returnerer data, præcis som de fandtes på tidsstemplet, angivet som YYYY-MM-DDTHH:MM:SS[.fff]. Eksempler:

SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC

Brug syntaksen CONVERT for det nødvendige datetime-format med typografien 126.

Tidsstemplet kan kun angives én gang ved hjælp af delsætningen OPTION for forespørgsler, lagrede procedurer, visninger osv. OPTION gælder for alt i SELECT-sætningen.

Du kan se eksempler under Sådan gør du: Forespørg ved hjælp af tidsrejser.

Dataopbevaring

I Microsoft Fabric bevarer og vedligeholder et lager automatisk forskellige versioner af dataene op til en standardopbevaringsperiode på 30 kalenderdage. Dette gør det muligt at forespørge om tabeller fra et hvilket som helst tidligere tidspunkt. Alle indsættelser, opdateringer og sletninger, der foretages på data warehouse, bevares. Opbevaringen starter automatisk fra det øjeblik, lageret oprettes. Udløbne filer slettes automatisk efter opbevaringstærsklen.

  • I øjeblikket returnerer en SELECT sætning med FOR TIMESTAMP AS OF forespørgselstip til den nyeste version af tabelskemaet.
  • Alle poster, der slettes i en tabel, kan forespørges, som de fandtes før sletningen, hvis sletningen er inden for opbevaringsperioden.
  • Eventuelle ændringer af skemaet i en tabel, herunder men ikke begrænset til tilføjelse eller fjernelse af kolonner fra tabellen, kan ikke forespørges, før skemaændringen. På samme måde fjernes historikken ved at slippe og genoprette en tabel med de samme data.

Tidsrejsescenarier

Overvej muligheden for tidsrejse til tidligere data i følgende scenarier:

Stabil rapportering

Hyppig udførelse af etl-job (extract, transform and load) er afgørende for at kunne følge med i det datalandskab, der konstant ændrer sig. Muligheden for tidsrejser understøtter dette mål ved at sikre dataintegritet, samtidig med at du får fleksibiliteten til at generere rapporter, der er baseret på de forespørgselsresultater, der returneres fra et tidligere tidspunkt, f.eks. den foregående aften, mens baggrundsbehandling er i gang.

ETL-aktiviteter kan køre samtidigt, mens den samme tabel forespørges fra et tidligere tidspunkt.

Historisk tendens og forudsigende analyse

Tidsrejser forenkler analysen af historiske data og hjælper med at afdække værdifulde tendenser og mønstre ved at forespørge data på tværs af forskellige tidligere tidsrammer. Dette faciliterer forudsigende analyser ved at gøre det muligt at eksperimentere med historiske datasæt og oplæring af forudsigende modeller. Det hjælper med at foregribe fremtidige tendenser og hjælper med at træffe velinformerede, datadrevne beslutninger.

Analyse og sammenligning

Tidsrejser giver en effektiv og omkostningseffektiv fejlfindingsfunktion ved at levere en historisk linse til analyse og sammenligning, hvilket letter identifikationen af rodårsagen.

Analyse af ydeevne

Tidsrejser kan hjælpe med at analysere ydeevnen af lagerforespørgsler overarbejde. Dette hjælper med at identificere tendenser for forringelse af ydeevnen baseret på, hvordan forespørgslerne kan optimeres.

Overvågning og overholdelse

Tidsrejser strømliner overvågnings- og overholdelsesprocedurer ved at gøre det muligt for revisorer at navigere i datahistorikken. Dette hjælper ikke kun med at overholde reglerne, men hjælper også med at øge sikkerheden og gennemsigtigheden.

Modeller til maskinel indlæring

Tidsrejsefunktioner hjælper med at gengive resultaterne af modeller til maskinel indlæring ved at lette analysen af historiske data og simulere scenarier i den virkelige verden. Dette forbedrer den overordnede pålidelighed af modellerne, så der kan træffes nøjagtige datadrevne beslutninger.

Designovervejelser

Overvejelser i forbindelse med OPTION FOR TIMESTAMP AS OF-forespørgselstip:

  • Forespørgselstip FOR TIMESTAMP AS OF kan ikke bruges til at oprette visningerne på et tidligere tidspunkt inden for opbevaringsperioden. Den kan bruges til at forespørge om visninger fra tidligere tidspunkt inden for opbevaringsperioden.
  • Forespørgselstip FOR TIMESTAMP AS OF kan kun bruges én gang i en SELECT sætning.
  • Forespørgselstip FOR TIMESTAMP AS OF kan defineres i sætningen SELECT i en lagret procedure.

Tilladelser til tidsrejse

Alle brugere, der har roller som administrator, medlem, bidragyder eller fremviser, kan forespørge tabellerne fra et tidligere tidspunkt. Når brugere forespørger tabeller, pålægges de begrænsninger, der er pålagt af sikkerhed på kolonneniveau (CLS), sikkerhed på rækkeniveau (RLS) eller DDM (dynamic data masking) automatisk.

Begrænsninger

  • Angiv højst tre cifre i brøkdele af sekunder i tidsstemplet. Hvis du angiver mere præcision, får du vist fejlmeddelelsen An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29.

  • I øjeblikket er det kun UTC-tidszonen (Coordinated Universal Time), der bruges til tidsrejser.

  • Dataopbevaring for tidsrejseforespørgsler er i øjeblikket 30 kalenderdage.

  • FOR TIMESTAMP AS OF værdierne i delsætningen OPTION skal være deterministiske. Du kan se et eksempel på parameterisering under Tidsrejse i en lagret procedure.

  • Tidsrejser understøttes ikke for SQL Analytics-slutpunktet for Lakehouse.

  • OPTION FOR TIMESTAMP AS OF Syntaksen kan kun bruges i forespørgsler, der starter med SELECT sætningen. Forespørgsler som INSERT INTO SELECT og CREATE TABLE AS SELECT kan ikke bruges sammen med OPTION FOR TIMESTAMP AS OF. Overvej i stedet muligheden for at klone en lagertabel på et tidspunkt.

  • Visningsdefinitioner må ikke indeholde syntaksen OPTION FOR TIMESTAMP AS OF . Visningen kan forespørges med syntaksen SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF . Du kan dog ikke forespørge tidligere data fra tabeller i en visning, før visningen blev oprettet.

  • FOR TIMESTAMP AS OF syntaks for tidsrejser understøttes i øjeblikket ikke i Power BI Desktop Direct-forespørgselstilstand eller indstillingen Udforsk disse data .

Næste trin