Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:✅ Armazém no Microsoft Fabric
Neste tutorial, aprenda a usar instruções T-SQL para viajar no tempo numa tabela de armazém. Viagem no tempo significa consultar dados tal como existiam num ponto específico no tempo.
Nota
Este tutorial faz parte de um cenário de ponta a ponta. Para concluir este tutorial, você deve primeiro concluir estes tutoriais:
Trabalhar com consultas sobre viagens no tempo
Nesta tarefa, saiba como criar uma visualização dos 10 principais clientes por vendas. Na próxima tarefa, você usará a visualização para executar consultas de viagem no tempo.
Verifique se o espaço de trabalho criado no primeiro tutorial está aberto.
Na faixa de opções Página Inicial, selecione Nova consulta SQL.
No editor de consultas, cole o código a seguir. O código cria uma exibição chamada
Top10Customers. A exibição usa uma consulta para recuperar os 10 principais clientes com base nas vendas.--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;Execute a consulta.
Quando a execução for concluída, renomeie a consulta como
Create Top 10 Customer View.No painel Explorer, dentro da pasta Vistas para o esquema
dbo, verifique se a vistaTop10Customersexiste.
Crie uma nova consulta para trabalhar com consultas de viagem no tempo.
No editor de consultas, cole o código a seguir. O código atualiza o valor
TotalIncludingTaxpara uma única linha de fatos para inflar deliberadamente suas vendas totais. Também recupera a marca de tempo atual.--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;Nota
Atualmente, você só pode usar o fuso horário UTC (Tempo Universal Coordenado) para viagens no tempo.
Execute a consulta.
Quando a execução for concluída, renomeie a consulta como
Time Travel.No painel Resultados, observe o valor do carimbo de data/hora (o seu valor será a data e a hora UTC atuais).
Para recuperar os 10 principais clientes no momento, num novo editor de consultas, cole a instrução a seguir. O código recupera os 10 principais clientes usando a dica de consulta
FOR TIMESTAMP AS OF.--Retrieve the top 10 customers as of now. SELECT * FROM [dbo].[Top10Customers] OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');Renomeie a consulta como
Time Travel Now.Regresse à consulta
Time Travele, em seguida, utilize o comando Copiar para copiar os resultados da consulta.
Regresse à consulta
Time Travel Nowe, em seguida, substituaYOUR_TIMESTAMPpelo timestamp copiado para a área de transferência.Execute a consulta e observe que o segundo valor de
CustomerKeysuperior é 49 paraTailspin Toys (Muir, MI).Modifique o valor do carimbo de data/hora para um de data/hora anterior subtraindo um minuto do carimbo de data/hora.
Execute a consulta novamente e observe que o segundo valor de
CustomerKeysuperior é 381 paraWingtip Toys (Sarversville, PA).
Dica
Para obter mais exemplos de viagem no tempo, consulte Como realizar consultas usando a viagem no tempo ao nível de instrução.