Dela via


Fråga efter data som de fanns tidigare

Gäller för:✅ Warehouse i Microsoft Fabric

Warehouse i Microsoft Fabric erbjuder möjligheten att köra frågor mot historiska data som tidigare. Möjligheten att fråga efter data från en specifik tidsstämpel är känd i datalagerindustrin när det gäller tidsresor.

  • Tidsresor underlättar stabil rapportering genom att upprätthålla konsekvens och noggrannhet för data över tid.
  • Tidsresor möjliggör historisk trendanalys genom att fråga över olika tidigare tidpunkter och hjälper till att förutse framtida trender.
  • Tidsresor förenklar kostnadsjämförelser mellan tidigare versioner av data.
  • Tidsresor underlättar analys av prestanda över tid.
  • Med tidsresor kan organisationer granska dataändringar över tid, vilket ofta krävs i efterlevnadssyfte.
  • Tidsresor hjälper till att återskapa resultaten från maskininlärningsmodeller.
  • Tidsresor kan köra frågor mot tabeller eftersom de fanns vid en viss tidpunkt i flera lager på samma arbetsyta.

Vad är tidsresor?

Tidsresor i ett informationslager är en billig och effektiv funktion för att snabbt köra frågor mot tidigare versioner av data.

Microsoft Fabric tillåter för närvarande hämtning av tidigare datatillstånd på följande sätt:

Tidsresa med kommandot FOR TIMESTAMP AS OF T-SQL

I ett lagerobjekt kan tabeller efterfrågas med hjälp av T-SQL-syntaxen OPTION FOR TIMESTAMP AS OF T-SQL för att hämta data vid tidigare tidpunkter. Satsen FOR TIMESTAMP AS OF påverkar hela -instruktionen, inklusive alla anslutna lagertabeller.

Resultaten från tidsresefrågorna är i sig skrivskyddade. Skrivåtgärder som INSERT, UPDATE och DELETE kan inte utföras när du använder frågetipset FOR TIMESTAMP AS OF .

Använd OPTION-satsen för att ange frågetipset FOR TIMESTAMP AS OF . Frågor returnerar data exakt som de fanns vid tidsstämpeln, som anges som YYYY-MM-DDTHH:MM:SS[.fff]. Till exempel:

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

Använd syntaxen CONVERT för det datumtidsformat som krävs med format 126.

Tidsstämpeln kan bara anges en gång med hjälp av OPTION -satsen för frågor, lagrade procedurer, vyer osv. OPTION Gäller för allt i SELECT-instruktionen.

Exempel finns i Så här kör du frågor med hjälp av tidsresor.

Datakvarhållning

I Microsoft Fabric bevarar och underhåller ett lager automatiskt olika versioner av data, upp till en standardkvarhållningsperiod på trettio kalenderdagar. På så sätt kan du köra frågor mot tabeller från och med tidigare tidpunkter. Alla infogningar, uppdateringar och borttagningar som görs i informationslagret behålls. Kvarhållningen börjar automatiskt från det ögonblick då lagret skapas. Filer som har upphört att gälla tas bort automatiskt efter kvarhållningströskelvärdet.

  • För närvarande returnerar en SELECT instruktion med FOR TIMESTAMP AS OF frågetipset den senaste versionen av tabellschemat.
  • Alla poster som tas bort i en tabell är tillgängliga för frågor som de fanns före borttagningen, om borttagningen ligger inom kvarhållningsperioden.
  • Ändringar som gjorts i schemat för en tabell, inklusive men inte begränsat till att lägga till eller ta bort kolumner från tabellen, kan inte efterfrågas före schemaändringen. På samma sätt tar det bort dess historik att släppa och återskapa en tabell med samma data.

Scenarier för tidsresor

Överväg möjligheten att tidsföra resor till tidigare data i följande scenarier:

Stabil rapportering

Frekvent körning av ETL-jobb (extrahering, transformering och belastning) är viktigt för att hänga med i det ständigt föränderliga datalandskapet. Möjligheten att resa i tid stöder det här målet genom att säkerställa dataintegritet samtidigt som du ger flexibiliteten att generera rapporter baserat på frågeresultaten som returneras från en tidigare tidpunkt, till exempel föregående kväll, medan bakgrundsbearbetning pågår.

ETL-aktiviteter kan köras samtidigt medan samma tabell efterfrågas från och med en tidigare tidpunkt.

Historisk trend och förutsägelseanalys

Tidsresor förenklar analysen av historiska data, vilket hjälper dig att upptäcka värdefulla trender och mönster genom att köra frågor mot data över olika tidigare tidsramar. Detta underlättar förutsägelseanalys genom att aktivera experiment med historiska datamängder och träning av förutsägelsemodeller. Det bidrar till att förutse framtida trender och hjälper till att fatta välinformerade, datadrivna beslut.

Analys och jämförelse

Tidsresor erbjuder en effektiv och kostnadseffektiv felsökningsfunktion genom att tillhandahålla en historisk lins för analys och jämförelse, vilket underlättar identifieringen av rotorsaken.

Prestandaanalys

Tidsresor kan hjälpa till att analysera prestandan för lagerfrågor övertid. Detta hjälper dig att identifiera prestandaförsämringstrender baserat på vilka frågorna kan optimeras.

Granskning och efterlevnad

Tidsresor effektiviserar gransknings- och efterlevnadsförfaranden genom att ge granskare möjlighet att navigera i datahistorik. Detta bidrar inte bara till att följa reglerna, utan bidrar också till att öka säkerheten och öppenheten.

Maskininlärningsmodeller

Tidsresefunktioner hjälper till att återskapa resultatet av maskininlärningsmodeller genom att underlätta analys av historiska data och simulera verkliga scenarier. Detta förbättrar modellernas övergripande tillförlitlighet så att korrekta datadrivna beslut kan fattas.

Utformningsbeaktanden

Överväganden för ALTERNATIVET FÖR TIMESTAMP SOM AV frågetips:

  • Frågetipset FOR TIMESTAMP AS OF kan inte användas för att skapa vyerna från och med en tidigare tidpunkt inom kvarhållningsperioden. Den kan användas för att köra frågor mot vyer från och med tidigare tidpunkter inom kvarhållningsperioden.
  • Frågetipset FOR TIMESTAMP AS OF kan bara användas en gång i en SELECT -instruktion.
  • Frågetipset FOR TIMESTAMP AS OF kan definieras i -instruktionen SELECT i en lagrad procedur.

Behörigheter till tidsresor

Alla användare som har arbetsyteroller som administratör, medlem, deltagare eller visningsprogram kan köra frågor mot tabellerna från och med en tidigare tidpunkt. När användare frågar efter tabeller införs automatiskt de begränsningar som införts av säkerhet på kolumnnivå (CLS), säkerhet på radnivå (RLS) eller dynamisk datamaskering (DDM).

Begränsningar

  • Ange högst tre siffror i bråksekunder i tidsstämpeln. Om du anger mer precision får du felmeddelandet 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.

  • För närvarande används endast tidszonen Coordinated Universal Time (UTC) för tidsresor.

  • För närvarande är datakvarhållningen för tidsresefrågor trettio kalenderdagar.

  • FOR TIMESTAMP AS OF värdena i OPTION satsen måste vara deterministiska. Ett exempel på parameterisering finns i Tidsresor i en lagrad procedur.

  • Tidsresor stöds inte för SQL-analysslutpunkten för Lakehouse.

  • Syntaxen OPTION FOR TIMESTAMP AS OF kan bara användas i frågor som börjar med SELECT -instruktionen. Frågor som INSERT INTO SELECT och CREATE TABLE AS SELECT kan inte användas tillsammans med OPTION FOR TIMESTAMP AS OF. Överväg i stället möjligheten att klona en lagertabell vid en tidpunkt.

  • Vydefinitioner får inte innehålla syntaxen OPTION FOR TIMESTAMP AS OF . Vyn kan efterfrågas med syntaxen SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF . Du kan dock inte köra frågor mot tidigare data från tabeller i en vy från innan vyn skapades.

  • FOR TIMESTAMP AS OF syntax för tidsresor stöds för närvarande inte i Power BI Desktop Direct-frågeläge eller alternativet Utforska dessa data .

Gå vidare