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 medFOR 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 enSELECT
sætning. - Forespørgselstip
FOR TIMESTAMP AS OF
kan defineres i sætningenSELECT
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ætningenOPTION
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 medSELECT
sætningen. Forespørgsler somINSERT INTO SELECT
ogCREATE TABLE AS SELECT
kan ikke bruges sammen medOPTION 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 syntaksenSELECT .. 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 .