-- created on 2018-09-27 by 三界
declare
-- local variables here
vsdate date;
vedate date;
vrealline varchar2(24);
vflagjoin boolean;
begin
-- test statements here liao xiaohui
vsdate := to_date('2017-01-01', 'yyyy-mm-dd');
vedate := to_date('2018-01-01', 'yyyy-mm-dd');
--應用說明:根據已有大量航班資料,計算航班的實際航程路線,並找出航班的計畫航線**。
--目標:提公升系統智慧型處理能力,減少基礎資料維護量。
--表f_flight欄位注釋:
--flight_date:航班日期
--flightno:航班號
--realcode:實飛航程**.
--linecode:計畫航線**.
--depstn:出發機場**
--arrstn:到達機場**
--out_time:撤輪檔時間
--實飛航程**/計畫航線**,初始預設值:出發機場**-到達機場**,for example: hak-hkg
--計算存在多航節航班的實飛航程**.(用於計算存在返航、備降、多航節航班的實飛航程,當前航線網路下此類航班佔比不到4%)
for rl in (select *
from ((select flight_id, flight_date, flightno, out_time, depstn, arrstn,
lag(arrstn, 1, null) over(partition by flight_date, flightno order by out_time asc) as prior_arr,
lead(depstn, 1, null) over(partition by flight_date, flightno order by out_time asc) as next_dep,
row_number() over(partition by flight_date, flightno order by out_time asc) as rowno,
count(*) over(partition by flight_date, flightno) as cnt
from f_flight f
where flight_date between vsdate and vedate
order by flight_date, flightno, out_time)) t
where cnt > 1 --航節總數大於1的情形.
) loop
--計算實飛航程**
if rl.rowno = 1 then
vrealline := rl.depstn;
--判斷飛行點是否銜接,驗證資料完整性
vflagjoin := (rl.arrstn = rl.next_dep);
elsif rl.rowno = rl.cnt then
vrealline := vrealline || '-' || rl.depstn || '-' || rl.arrstn;
vflagjoin := (rl.depstn = rl.prior_arr) and vflagjoin;
else
vrealline := vrealline || '-' || rl.depstn;
vflagjoin := (rl.depstn = rl.prior_arr) and vflagjoin;
end if;
--迴圈到最後一節航班時
if (rl.rowno = rl.cnt) and vflagjoin then
--維護實飛航程
update f_flight
set realcode = vrealline
where flight_date = rl.datop
and flightno = rl.fltid
and realcode <> vrealline;
end if;
end loop;
commit;
--根據大資料推算航班的計畫航線**(理論依據:大量正常航班的實飛航程**,就是航班的計畫航線**)
for ln in (select *
from (select t.*, row_number() over(partition by yyyymm, fltid order by cnt desc) as rowno,
count(*) over(partition by yyyymm, fltid) as rowcnt
from (select to_char(flight_date, 'yyyymm') as yyyymm, substr(flightno, 1, 6) as fltid,
realcode, count(*) as cnt, min(flight_date) as startdate,
max(flight_date) as lastdate
from f_flight f
where flight_date between vsdate and vedate
group by to_char(flight_date, 'yyyymm'), substr(flightno, 1, 6), realcode) t) tt
where rowcnt > 1
and cnt > 4
and rowno = 1) loop
update f_flight
set linecode = ln.realcode
where instr(flightno, ln.fltid) > 0
and to_char(flight_date, 'yyyymm') = ln.yyyymm
and flight_date between ln.startdate and ln.lastdate
and linecode <> ln.realcode;
end loop;
commit;
end;
大資料催生智慧型園區 「大資料」催生智慧型園區
當前,魯西化工新材料產業園區正按照 統一規劃 統一編碼 統一開發 統一實施 統一管理 的原則,開展資訊化建設工作,為財務管理 人力資源管理 生產管理 採購和銷售等核心業務提供統一平台,實現業務流程的規範化和簡潔化。日前,魯西集團負責人對記者說。據了解,作為首家化工 化肥類電子商務 魯西 整合強大的e...
大資料的最大價值 大資料 物體 智慧型
人與物體,是地球的兩大類,人是地球上最高端的動物,物體 動物,植物,生物,微生物,人造物體 不能製造,人擁有智慧型,人主宰了這個地球 但現在,大資料對於物體如同知識對於人腦一樣,如果物體利用大資料的核心技術 機器學習,自然語言處理,數學建模,人機互動,語音識別,大資料分析 資料視覺化 可以加工資料到...
利用大資料創業
大資料元年 今年 上一直宣稱,我們公司的銷售也是一直把這句話掛在嘴邊。我個人覺得,是相關處理工具發展到一定階段的產物,同時也是市場的需要。今年的大資料專案比較多,客戶總是要往雲上靠,要是沒有靠上,就會覺得自己out了。總之,資料的金礦隨著時間的推移,從特殊到一般發展,從高階到低端發展,從大企業到小企...