[英]Pivoting Data in a meaningful way
SQL 服務器 2016
我得到了一個有趣的表結構,並被要求對其進行一些有意義的報告以查看增長變化,並且需要幫助了解如何將數據旋轉到一個更容易在 SSRS 中使用的結果集。
表結構:
CREATE TABLE [dbo].[Person_Order_ETL_Delay](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Person_Name] [varchar](255) NULL,
[Order_DATE] [date] NOT NULL,
[Order_INTERVAL] [char](5) NOT NULL,
[00:00-00:30] [int] NOT NULL,
[00:30-01:00] [int] NOT NULL,
[01:00-01:30] [int] NOT NULL,
[01:30-02:00] [int] NOT NULL,
[02:00-02:30] [int] NOT NULL,
[02:30-03:00] [int] NOT NULL,
[03:00-03:30] [int] NOT NULL,
[03:30-04:00] [int] NOT NULL,
[04:00-04:30] [int] NOT NULL,
[04:30-05:00] [int] NOT NULL,
[05:00-05:30] [int] NOT NULL,
[05:30-06:00] [int] NOT NULL,
[06:00-06:30] [int] NOT NULL,
[06:30-07:00] [int] NOT NULL,
[07:00-07:30] [int] NOT NULL,
[07:30-08:00] [int] NOT NULL,
[08:00-08:30] [int] NOT NULL,
[08:30-09:00] [int] NOT NULL,
[09:00-09:30] [int] NOT NULL,
[09:30-10:00] [int] NOT NULL,
[10:00-10:30] [int] NOT NULL,
[10:30-11:00] [int] NOT NULL,
[11:00-11:30] [int] NOT NULL,
[11:30-12:00] [int] NOT NULL,
[12:00-12:30] [int] NOT NULL,
[12:30-13:00] [int] NOT NULL,
[13:00-13:30] [int] NOT NULL,
[13:30-14:00] [int] NOT NULL,
[14:00-14:30] [int] NOT NULL,
[14:30-15:00] [int] NOT NULL,
[15:00-15:30] [int] NOT NULL,
[15:30-16:00] [int] NOT NULL,
[16:00-16:30] [int] NOT NULL,
[16:30-17:00] [int] NOT NULL,
[17:00-17:30] [int] NOT NULL,
[17:30-18:00] [int] NOT NULL,
[18:00-18:30] [int] NOT NULL,
[18:30-19:00] [int] NOT NULL,
[19:00-19:30] [int] NOT NULL,
[19:30-20:00] [int] NOT NULL,
[20:00-20:30] [int] NOT NULL,
[20:30-21:00] [int] NOT NULL,
[21:00-21:30] [int] NOT NULL,
[21:30-22:00] [int] NOT NULL,
[22:00-22:30] [int] NOT NULL,
[22:30-23:00] [int] NOT NULL,
[23:00-23:30] [int] NOT NULL,
[23:30-00:00] [int] NOT NULL
) ON [PRIMARY]
GO
表邏輯:此表將表示目標應用程序的 ETL 活動與源應用程序中的可用性。
我們以 ID = 12 為例。 2020 年 4 月 1 日,源應用程序接受 Bilbo 的訂單並以 05:30(系統時間 [Order_INTERVAL])的訂單間隔處理它們,我們看到的是數據可用於目標報告應用程序(通過ETL 時間戳)在 [06:00-06:30](最終能夠捕獲 6 個卷)和 [06:30-07:00](另外 3 個卷已處理並可用於 ETL)之間。
所以我們有一個源到目標的延遲。
系統間隔已在 05:30 時間間隔分配了這些量(6+3=9 個總訂單),但是,目標系統直到 06:00 間隔才能夠捕獲它們,其余的在 06:30 間隔用於目標報告應用程序。
因此,這證明交易完成與報告應用程序的可用性之間存在一些延遲。
我想做的是產生一個結果集來表示數據更像這樣:
透視相關的 ETL 間隔數據,顯示交易量和占總交易量的百分比。 相關含義,該卷的下限應該是該卷的源應用程序間隔桶,而上限將是該系列中包含大於 0 的卷的最后一個 ETL 桶。
對此的任何幫助都將非常出色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.