一本色道久久综合狠狠躁篇|亚洲av无码一区二区乱子伦as|亚洲国产成AV人天堂无码|亚洲狠狠婷婷综合久久蜜芽|狠狠做五月深爱婷婷|人妻夜夜爽天天爽三区

您的當前位置: 首頁(yè) >

一個(gè)牛人用PowerBI(打造航空級數據可視化產(chǎn)品)

發(fā)布時(shí)間:2026-05-05 06:49:44 瀏覽:867 次

一個(gè)牛人用PowerBI(打造航空級數據可視化產(chǎn)品)

八月的個(gè)牛某天,結束了北京的人用出差,

在去往機場(chǎng)的造ヽ(′ー`)ノ航??路上,我問(wèn)和我一起回上海的空級??可視同事:

“最近北京機場(chǎng)延誤挺嚴重的,你說(shuō)咱??倆能準時(shí)飛不”

“這個(gè)不好說(shuō),數據不過(guò)我肯定早到,化產(chǎn)我的個(gè)牛航班早一個(gè)小時(shí)”

“嗯,正常情況是人用這樣,不過(guò)延誤就不好說(shuō)了,造航說(shuō)不定我在你前面到哦”

… …

以前,空級可視航班是數據否ヽ(′▽?zhuān)?ノ延誤,延誤多??久,化產(chǎn)只能通過(guò)機場(chǎng)的個(gè)牛航班信息顯示屏或者廣播了解。

隨著(zhù)技術(shù)發(fā)展,人用空管局、造航機場(chǎng)、航空公司等多個(gè)渠道的數據已經(jīng)可以被很多民用app獲取,它們用一套算法把這些基礎數據轉換成乘客需??要的簡(jiǎn)單明了的信息,我們熟知的很多app已經(jīng)可以做到實(shí)時(shí)掌握航班動(dòng)態(tài)。

通過(guò)航旅縱橫我查到同事的飛機因(yin)為前序航班延誤,出港順序排到了我的后面,最終我們幾乎同時(shí)到達上海。??

感受到了實(shí)時(shí)數(shu)據的強大力量,我突發(fā)奇想:

用BI工具能不能實(shí)現類(lèi)似的功能?把航班??數據做成一個(gè)可視化報告,甚至再進(jìn)一步,加入定時(shí)刷新功能,持續??更新數據,讓報告變成一個(gè)產(chǎn)品?

少啰嗦 先看東西

這篇文章是報告制作過(guò)程的復盤(pán),文章較長(cháng),限于篇幅,主要介紹功能和思路,分成四部分,技術(shù)細節就不展開(kāi)了。

數據獲?。褐鞠蜻h大,也得白手起家數據清洗:費工費力,???耗時(shí)最長(cháng)數據分析:參考專(zhuān)業(yè)報告,獨立計算所有指標報告設計:壓軸環(huán)節

文章約4300字,閱讀需要11分鐘

志向遠大 白手起家

有了想法,首先要調查市面上有哪些公開(kāi)數據(ju)、能不能獲取。上面提到(?_?;)的渠道數據有些是公開(kāi)的,有些需要企業(yè)購買(mǎi)或交換,比如空管(╯°□°)╯︵ ┻━┻局和機場(chǎng)的很多數據不對外開(kāi)放,個(gè)人(ren)用戶(hù)拿不到。

而且考慮到公開(kāi)發(fā)布的報(bao)告最多也只能間隔1個(gè)多小時(shí)刷新一次,類(lèi)似進(jìn)出港航班排隊??信息這(′?`)樣的近乎實(shí)時(shí)的數據首先(xian)被排除。票價(jià)信息也不在此次分析范圍內,未做搜集。

時(shí)刻表數據

可以公開(kāi)獲取的是航班時(shí)刻表信息和航班飛行數據,時(shí)刻表源頭是中航信,在OTA網(wǎng)站也可以找到,我用爬蟲(chóng)搞定了除春秋航空外的所有國內航班數據。

國際航班、香港和臺灣機場(chǎng)的時(shí)刻表都沒(méi)有找到可供抓取的數據源,暫時(shí)放棄。

春秋航空作為廉航為了控制成本沒(méi)接入中航信的系統,這樣每筆交易就不必向中航信上繳傭金。

每個(gè)航班??在一周內可能有不同的計劃,并不固定

航班飛行數據

飛機在飛行中會(huì )通過(guò)無(wú)線(xiàn)電實(shí)時(shí)向地面發(fā)送位置、速度、高度以(yi)及天氣狀況等信息,空管據此分析飛機的狀況,提供保障服務(wù)。這些數據并不加密,可以通過(guò)一個(gè)名為ads-b的(╯°□°)╯系統的接收,國外甚至做到了抬頭看到一架飛機,拿著(zhù)手機對著(zhù)飛機拍照,能顯示出這架飛機的數(shu)據,不過(guò)這套設備在國內限制進(jìn)口。

所以航班飛行數據在國外很多航跡追蹤網(wǎng)站(flightradar24、flightware、flightstats??)上都能查到,國內類(lèi)似飛常準業(yè)內版估計也提供類(lèi)似服務(wù),這些網(wǎng)站和應用??都提供全面、完整的航班歷史數據下載,但都屬于付費服務(wù),不在考慮范圍。

最后通過(guò)抓包分析,從某航跡網(wǎng)站頁(yè)面上截取到了包含航班信息的json數據,可以作為數據源使用(限于篇幅,具體技術(shù)細節不再展開(kāi)),

json中包含每個(gè)航班在抓取時(shí)刻的詳細信息

綜合以上兩個(gè)數據源,已經(jīng)可以拼湊出一架飛機從起飛到降落的整個(gè)軌跡,通過(guò)航班號和飛行日期可以匹配到它的時(shí)刻表信息,進(jìn)一步計算出航班延誤。

其實(shí)這么做并非最佳選擇,因為實(shí)際飛行數據往往比較復雜,比如涉及到跨零點(diǎn)起降的航班,要準確計算延誤時(shí)ヽ(′▽?zhuān)?ノ間需要考慮的情況非常多,而類(lèi)似飛常準這樣的網(wǎng)站已經(jīng)提供了計算好的數據,但是這類(lèi)網(wǎng)站的反爬措施也非??常完善,比如數字轉圖片格(╯°□°)╯︵ ┻━┻式,I???P訪(fǎng)問(wèn)頻率限制,很難突破。

紅框里是用圖片顯示的數字

控制文件大小

j??son數據以機場(chǎng)為單位抓取??,每次抓取的文件在十幾M到幾十M之間。為??了兼顧文件大小和航班軌跡的完整性(文件太大清洗效率下降,文件太小軌跡不完整),最終選??定了8個(gè)機場(chǎng),24小時(shí)的數據來(lái)分析,即每隔一小時(shí)為8個(gè)機場(chǎng)統一抓取數據,共生成24個(gè)文件,數據源整體大小在600M左右。

爬蟲(chóng)工具

既然報告不是一錘子買(mǎi)賣(mài),需要定時(shí)抓取數據,而且數據量比較大,PowerQuery就不在考慮范圍了,數據清洗的時(shí)候再讓它出場(chǎng)。爬蟲(chóng)是用R寫(xiě)ヽ(′ー`)ノ的定時(shí)任務(wù)。

數據清洗

費工費力 耗時(shí)最長(cháng)

常規的清洗操作不做贅述,結構轉換、異常值過(guò)濾這些步驟是必須的。說(shuō)一個(gè)性能問(wèn)題的坑,我在Powerquery的局限這篇文章里提過(guò),對于需要每行執行的計算,數據量上去之(╯°□°)╯︵ ┻━┻后PQ的效率會(huì )有明顯下降,我這個(gè)case里清洗環(huán)節的用時(shí)可以(yi)增加5倍,所以必須優(yōu)化掉行級別計算。

轉換中文信息

原始數據以英文為主,比如航司、機場(chǎng)使用icao和iata代碼來(lái)標記,為了在報告中使用統一規范的中文名,需要做建立一個(gè)(ge)中文信息庫。最后一共整理了全球600多個(gè)機場(chǎng)、130多個(gè)航司、70多種機型的詳細??信息用來(lái)(′_`)匹配,這個(gè)環(huán)節耗時(shí)比較長(cháng)。

最耗(′-ι_-`)時(shí)環(huán)節

為了提升最后的可視化效果,在航司分析環(huán)??ヾ(′?`)?節,加入各家的logo是(′Д` )個(gè)不錯的選擇,也比較容易獲取。但是因為logo形狀各異,最終效果不理想

為了統一視覺(jué),我最后決定重繪所有logo,ヽ(′?`)ノ做法是在固定尺寸?的飛機尾翼圖上加入航司標志

一共繪制了140個(gè)(ge)航司,不但ヽ(′ー`)ノ耗時(shí)最久,還落下了喜歡看飛機尾翼猜航司的后遺癥。

數據分析

參考專(zhuān)業(yè)報告

定義KPI

參考了一些(xie)業(yè)內專(zhuān)業(yè)網(wǎng)站和報告的分析思路,在可視化環(huán)節介紹,也可以參考報告的說(shuō)明頁(yè)面和指標解釋頁(yè)面

計算航班延誤??

跨零點(diǎn)起降航班和空駛航( ?° ?? ?°)段容易造成延誤數據異常,具體情況比較復雜,主要計算花在優(yōu)化這兩種情ヽ(′ー`)ノ況上。

分析中涉及的具體的計算過(guò)程不在這篇文章里討論了。

報告設計

壓軸環(huán)節

之前的內容都是鋪墊,對于使用自助BI分析師,有個(gè)比較尷尬的現實(shí),如果報告撲街,前面的工作做(zuo)了再多,價(jià)值也基本歸0。想要出彩,每個(gè)環(huán)節都不能有明顯的短板。

配合Powerbi圖表控件的擴展能力,報告實(shí)現了一些很實(shí)用的交互功能,有的甚至可以比肩專(zhuān)業(yè)的航班分析???服務(wù)。同時(shí)為了取得(T_T)比較好的視覺(jué)效果,報告也做了很多細節優(yōu)化和妥協(xié)。

報告分為機場(chǎng)概況、機場(chǎng)報告和航司報告三個(gè)主題。

機場(chǎng)概況:實(shí)時(shí)天氣+機場(chǎng)流量趨勢

機場(chǎng)天氣狀況是航班延誤的主要因素之一,Po(?Д?)werbi中的iconmap控件自帶openweathermap服務(wù),可以實(shí)時(shí)顯示全球范圍內最近兩小時(shí)的天氣狀況??,之前介紹臺風(fēng)山竹的文章使用的也是這個(gè)控件。

風(fēng)力分布中的紅色區域??是正在日本登陸的臺風(fēng)譚美,(′?_?`)切換到降水分布可以看到臺風(fēng)登陸范圍產(chǎn)生了大量降水。

注:控件使用免費api服務(wù),有并發(fā)限制。

動(dòng)態(tài)計算機場(chǎng)出港航班準點(diǎn)率

對航班延誤的判定,業(yè)內默認標準是航班起飛時(shí)間比計劃起飛時(shí)間推遲30分鐘以上,不超過(guò)30分鐘都視為準點(diǎn)。報(?????)告中將推遲時(shí)間設置為自定義項,用戶(hù)可以自行改變延誤( ?ω?)時(shí)長(cháng),查看各機場(chǎng)對應的出港準(◎_◎;)點(diǎn)率。

圓圈大小代表機場(chǎng)昨日出港航班總數,出港準點(diǎn)率只以匹配到時(shí)刻表信息的航班為base計算。

昨日進(jìn)出港航班流量趨勢圖

受頁(yè)面尺寸限制,只放出了(╯‵□′)╯六個(gè)機場(chǎng)的流量趨勢圖,紅點(diǎn)代表峰值時(shí)刻。右側可(′?ω?`)以切換進(jìn)港和出港兩種狀態(tài)

機場(chǎng)報告:掌握機場(chǎng)整體運行情(qing)況和航班詳情

分鐘級航班出港流量趨勢圖

紅色代表延誤航班,綠色是準點(diǎn)航班,灰色是未匹配到時(shí)刻表的航班??梢园礌顟B(tài)和任意時(shí)間段篩選航班

右側切換為進(jìn)港狀態(tài):趨勢圖代表所有進(jìn)港航班在各自始發(fā)地起飛的時(shí)間和狀態(tài)。

右側切換為國際航線(xiàn):??只顯示流量趨勢,沒(méi)有延誤狀態(tài)信息

飛行軌跡地圖

顯示當前機場(chǎng)昨日24小時(shí)所有航班的飛行軌跡,每條┐(′?`)┌航線(xiàn)由起點(diǎn)、終點(diǎn)、途中(zhong)位置、飛行角度四個(gè)要素組成,其中途中位置來(lái)自飛行軌跡上所有打點(diǎn)位置的平均值,并非航班的實(shí)時(shí)位置。

如果當期航線(xiàn)的途中位置只捕捉到起點(diǎn)或終點(diǎn)((′ω`*)短途航線(xiàn)存在這種可能),飛機圖標就會(huì )(′?_?`)落在起點(diǎn)或者終點(diǎn),當某一點(diǎn)飛機圖(°o°)標過(guò)多時(shí),會(huì )產(chǎn)生溢出,顯示為飛機圖標一字排開(kāi)。

飛行角度:飛機在途中回傳的瞬時(shí)數據,飛行全程中可能有多種角度,很多航線(xiàn)并不是直線(xiàn)??飛行。

從起點(diǎn)到途中位置的實(shí)線(xiàn)表示已完成的航線(xiàn),剩余未完成的航線(xiàn)用虛線(xiàn)表示。

航班軌跡回放

以小時(shí)為單位回放當前機場(chǎng)昨日24小時(shí)航班活動(dòng)軌跡,間隔2s。地(′?_?`)圖右下角顯示當前回放時(shí)刻

機場(chǎng)KPI數據

反映機場(chǎng)運行情況的數據指標,所有指標均與切片器聯(lián)動(dòng),比如下圖反映的是國內??航線(xiàn)所有出港航班的數據,按住ctrl可以選擇多個(gè)維度。

旅客數預估:基于每個(gè)航班的執飛機型,按預估的平均座位數乘以100%上座率計算得來(lái),僅供參ヾ(′?`)?考。

高峰時(shí)刻:指小時(shí)航班數量最高的時(shí)刻,高峰頻次乘以??60是其峰值航班數量

放行準點(diǎn)率:航班(ban)出港準點(diǎn)率的平均值,篩選器為出港狀態(tài)時(shí),指標反映當前??機場(chǎng)出港準點(diǎn)率;進(jìn)港狀態(tài)反映的是所有進(jìn)港航班在各自出發(fā)機場(chǎng)的出港準點(diǎn)率均值。

放行平均??延誤:每個(gè)航??班的平均延誤時(shí)間,正值代表推遲起飛,負值代表提前起飛。

到港指標參照以上兩條解釋。

航司排名Top12

顯示當前機場(chǎng)航班數量排名top12的航司,受頁(yè)面篩選器影響,動(dòng)態(tài)變化。也可以用作??篩選器,查看指ヽ(′▽?zhuān)?ノ定航司的所有航班。

航班時(shí)刻表

顯示當前機場(chǎng)航班詳情數據,對于沒(méi)有計劃時(shí)間的航班,其??到達狀態(tài)未知;對于尚未降落的航班,到達狀態(tài)為“(′;д;`)-”(通常集中在(′?`)(zai)跨0點(diǎn)到達的航班)

航班詳情信息

鼠標懸停在時(shí)刻表任意航班上,顯示更多飛行詳情。

這里的飛行高度指氣壓高度,不保證準確反映航班距地面或海平面的真實(shí)高度。

機場(chǎng)簡(jiǎn)報

簡(jiǎn)單總結當前機場(chǎng)運行情況,只在切換機場(chǎng)時(shí)刷新

航司報告:對比分析不同的航司數據表現

航司排行榜

當篩選某個(gè)航司時(shí),同時(shí)顯示被篩(╯‵□′)╯選航司結果。(動(dòng)圖中的這些航空公司lヽ(′▽?zhuān)?ノogo,點(diǎn)擊后就切換到對應的數據,其實(shí)就是相當于Excel中控件的功能,在黃老師的微博《數說(shuō)》欄目也有很多Excel高階動(dòng)態(tài)??圖表的教程,有興趣的朋友可以看文末介紹~)

分鐘級航司出港流量趨勢圖(tu)

顯示當前航司的所有航班數據,按每個(gè)航班的最終狀態(tài)做標記,不同于機場(chǎng)報告中的出港狀(zhuang)態(tài)。

可選擇指定狀??態(tài)查看其詳情;可篩選任意時(shí)間段查看在此期間的流量詳情。(起始時(shí)刻顯示可能(neng)有瑕疵,請忽略)

統一的航司視覺(jué)效果

顯示民航、貨航、公務(wù)機在內的超過(guò)120家航司的logo,可按中文簡(jiǎn)稱(chēng)搜索并篩選任意航司,也可以按聯(lián)(′_`)盟搜索。

目前我在市面上都沒(méi)有找到第二個(gè)這(zhe)么整齊統一的視覺(jué)設計….

航線(xiàn)(xian)視角地圖

顯示城市間飛行軌跡(連線(xiàn))和航班狀(zhuang)態(tài)(顏色),可按狀態(tài)篩選航線(xiàn)。 (默認視圖,加載稍慢,只在選擇航司或聯(lián)盟后生效,無(wú)篩選時(shí)為空)

(用Excel實(shí)現地圖ヾ(′▽?zhuān)??可視化的內容,在黃老師的微博《數說(shuō)》欄目也有相關(guān)的教程,有興趣的朋友可以看文末介紹~)

目的地視角地圖

顯示當前選擇航司的所有目的地城市,icon越大代表航線(xiàn)數量越多。

航司目的地top10

按類(lèi)別顯示航司的目的地航線(xiàn)數量topヽ(′▽?zhuān)?ノ10的結果,選中類(lèi)別可??以查看對應的航司

機型分類(lèi)統計

按通用標準將客機分為小型、中型和大型,統計每個(gè)類(lèi)別對應的航班架次和預估的乘客人數。(乘客數按每個(gè)機型的平均座位數和上座率100%估算)

按聯(lián)盟篩選當前報告

單(°ロ°) !獨查看三大聯(lián)盟(天合聯(lián)盟、寰宇一家、星空聯(lián)盟)各自的數據表現,包括航司排行榜在內的結果將重新計算。(???)(右上角航線(xiàn)類(lèi)型的選擇會(huì )影響篩??選結果)

之前一次線(xiàn)下活動(dòng)上,有人問(wèn)我,PowerBI能不能做出一個(gè)??產(chǎn)品形式的報告(′?`*),持續提供價(jià)??值,其實(shí)這個(gè)并不難,很多公司內部已經(jīng)在用這種報告,最大的障礙其實(shí)(′▽?zhuān)?)是(′?`*)數據安全,內部數據不能分享,而公開(kāi)的數據往往又很難持續更新。

這個(gè)航空數據可視化報告是這個(gè)方向上的一個(gè)嘗試(shi),當然它自身也有一些兼容性的問(wèn)題,比如用IE、??火狐瀏覽器可能顯示不正常,自定義控件加載慢、內存占??用大的情況,推薦你用谷歌瀏覽器瀏覽報告,希望這些問(wèn)題可以被微軟慢慢改善。

報告已經(jīng)開(kāi)始每天定時(shí)更新,大家十一假期如果有出行安排,不妨試試看這個(gè)報告能否準確抓取你(ni)的航班數據。

搜索

一本色道久久综合狠狠躁篇|亚洲av无码一区二区乱子伦as|亚洲国产成AV人天堂无码|亚洲狠狠婷婷综合久久蜜芽|狠狠做五月深爱婷婷|人妻夜夜爽天天爽三区 东源县| 衡南县| 阿坝| 资中县| 青岛市| 凌海市| 玛沁县| 洪江市| 龙岩市| 延庆县| 高要市| 宿迁市| 江孜县| 仪征市| 台江县| 右玉县| 定陶县| 错那县| 收藏| 绥滨县| 宁德市| 广州市| 水富县| 巴楚县| 乡宁县| 北票市| 临海市| 上高县| 蓝山县| 博白县| 红原县| 美姑县| 六盘水市| 广元市| 阳山县| 临朐县| 上饶县| 大安市| 房山区| 洛扎县| 内黄县| http://444 http://444 http://444 http://444 http://444 http://444