我試圖找到一個更好的方式來做一個水晶報告(別人的)...在組中加起來不重疊的時間。 這顯然是一個古老的問題... 有越來越的技術隨着時間的推移而增長(不重疊) - 技術?
- 調整(開始/結束)時間,每次記錄,在子組內去除常見/過單圈時間,
- --using直接的SQL(雖然我覺得我可以做的CTE)
的開始時間假設初始訂單的(和/或集團,亞組),並開始和結束是不同的領域。
一個樣 - 圖形例如:
Group 1
SubGroup A
Tkt 1 |--start&end---| "16"
Tkt 2 |----tart&end----| "18"
Tkt 3 |--art&end---| "14"
Tkt 4 |--S & E -| "11"
SubGroup B
Tkt 5 |-S&E-| "7"
Tkt 6 |-S&E-| "7"
Tkt 7 |-S&E-| "7"
...
(equiv adjusted start/end w/in sub-group):
Group 1
SubGroup A ( w/ "elapsed time" of "33" )
Tkt 1 |--start&end---| <- Regular "16"
Tkt 2 |-----| <- Adjusted "start" "6"
Tkt 3 | <- Adjusted "start" & "end" "0"
Tkt 4 |--S & E -| <- Regular "11"
SubGroup B (w/ "elapsed time" of "17" )
Tkt 5 |-S&E-| <- Regular "7"
Tkt 6 |-S&E-| <- Regular (no overlap) "7"
Tkt 7 |-| <- Adjusted "Start" "3"
...
我說的不是在這一點上獲得的款項,只是表示基於以前的記錄調整的開始/結束。
在報告中,他們針對每個記錄執行多個公式,針對組中第一條記錄中設置的兩個變量,然後根據當前記錄設置/更新AdjustedStart,AdjustedEnd的值並將AdjustedStart,AdjustedEnd到另一個公式來計算時間差,待以後再總結。目前的技術很慢,我不能做一個漂亮的交叉表,是理想的。
我想/希望這在SQL-只得到解決,因爲我們不能把任何PROC的,臨時表等數據庫服務器上。我試圖找出一種方法瓦特/ CTE和(重新)詛咒,使用Group/SubGroup作爲親子鑑定和CASE來比較當前值w /最後父母值。這是否會響起鈴聲或聽起來似乎合理?
水晶的能力很多,但這似乎是一個它不被剪掉的能力。
馬克
我想編碼,我/我的領域。沒有太多的運氣,但我會繼續堵塞。這就是我所做的; ;-) – Marc 2011-05-17 23:10:08
我找到了一個tome的參考,「在SQL中開發面向時間的數據庫應用程序」(但是,不,我找不到這個LINK)。第4章是關於時期和集合的操作,但我還沒有破解過任何可用的東西。下面是「谷歌是你的朋友」的結果:http://www.cs.arizona.edu/~rts/publications.html [乞討的問題是「谷歌真的是一個好朋友?」] – Marc 2011-05-18 14:29:13