Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlara uygulanır:✅ Warehouse in Microsoft Fabric
Bu öğreticide, bir depo tablosunda zamanda yolculuk yapmak için T-SQL deyimlerini nasıl kullanacağınızı öğreneceksiniz. Zaman yolculuğu, verileri belirli bir zaman noktasında mevcut olduğu gibi sorgulamak anlamına gelir.
Not
Bu öğretici, uçtan uca senaryonunbir parçasını oluşturur. Bu kılavuzu tamamlamak için önce şu kılavuzları tamamlamanız gerekir:
- çalışma alanı oluşturma
- Ambar oluşturma
- Verileri Bir Ambar'a Yükleme
Zaman yolculuğu sorguları ile çalışma
Bu görevde, satışa göre ilk 10 müşterinin görünümünü oluşturmayı öğrenin. Zaman yolculuğu sorguları çalıştırmak için bir sonraki görevde görünümü kullanacaksınız.
İlk öğretici oluşturduğunuz çalışma alanının açık olduğundan emin olun.
Ana Sayfa şeridinde Yeni SQL Sorgususeçin.
Sorgu düzenleyicisinde aşağıdaki kodu yapıştırın. Kod,
Top10Customersadlı bir görünüm oluşturur. Satışlara göre en iyi 10 müşteriyi belirlemek için görünümde bir sorgu kullanılır.--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;Sorguyu çalıştırın.
Yürütme tamamlandığında sorguyu
Create Top 10 Customer Viewolarak yeniden adlandırın.Gezgini bölmesinde, şemasının
dboklasörünün içindenTop10Customersgörünümünün var olduğunu doğrulayın.
Zaman yolculuğu sorgularıyla çalışmak için yeni bir sorgu oluşturun.
Sorgu düzenleyicisinde aşağıdaki kodu yapıştırın. Kod, tek bir olgu satırının
TotalIncludingTaxdeğerini güncelleştirerek toplam satışlarını kasıtlı olarak şişirir. Ayrıca geçerli zaman damgasını da alır.--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;Not
Şu anda, zaman yolculuğu için yalnızca Eşgüdümlü Evrensel Saat (UTC) saat dilimini kullanabilirsiniz.
Sorguyu çalıştırın.
Yürütme tamamlandığında sorguyu
Time Travelolarak yeniden adlandırın.Sonuçlar bölmesinde zaman damgası değerine dikkat edin (değeriniz geçerli UTC tarih ve saati olacaktır).
Şimdi itibarıyla ilk 10 müşteriyi almak için, yeni bir sorgu düzenleyicisine aşağıdaki deyimi yapıştırın. Kod,
FOR TIMESTAMP AS OFsorgu ipucunu kullanarak ilk 10 müşteriyi alır.--Retrieve the top 10 customers as of now. SELECT * FROM [dbo].[Top10Customers] OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');Sorguyu
Time Travel Nowolarak yeniden adlandırın.Time Travelsorgusuna dönün ve sorgu sonuçlarını kopyalamak için Kopyala komutunu kullanın.
Time Travel Nowsorgusuna dönün veYOUR_TIMESTAMP'i panoya kopyaladığınız zaman bilgisiyle değiştirin.Sorguyu çalıştırın ve ikinci üst
CustomerKeydeğerininTailspin Toys (Muir, MI)için 49 olduğuna dikkat edin.Zaman damgası değerini bir dakika çıkararak daha önceki bir zamana ayarlayın.
Sorguyu yeniden çalıştırın ve
CustomerKeyiçin ikinci en yüksekWingtip Toys (Sarversville, PA)değerinin 381 olduğuna dikkat edin.
Bahşiş
Daha fazla zaman yolculuğu örneği için bkz. Nasıl yapılır:deyim düzeyinde zaman yolculuğu kullanarak sorgulama.