如何用PowerBI自定義函數(shù)批量爬取財(cái)務(wù)報(bào)表

近期紊选,學(xué)習(xí)了馬老師的商業(yè)智能財(cái)務(wù)分析(PowerBI)課程后遥皂,不免手癢俭缓,教學(xué)中的案例數(shù)據(jù)不過(guò)癮,于是在PowerBI學(xué)友的啟發(fā)下顿颅,自己找現(xiàn)實(shí)數(shù)據(jù)玩了起來(lái)饰及。那么今天的文章主要內(nèi)容是怎樣從PBI批量爬取在線的財(cái)務(wù)報(bào)表數(shù)據(jù)。直接進(jìn)入正題琼稻。 ? 1 了解數(shù)據(jù)源
各大財(cái)經(jīng)網(wǎng)站找了一圈,數(shù)據(jù)最容易爬取的當(dāng)選網(wǎng)易財(cái)經(jīng)
資產(chǎn)負(fù)債表地址 http://quotes.money.163.com/f10/zcfzb_000333.html

上市公司代碼表下載地址(PDF 文件): http://www.csrc.gov.cn/pub/newsite/scb/ssgshyfljg/201902/t20190212_350821.html 證監(jiān)會(huì)官網(wǎng)找到的所有上市公司明細(xì)饶囚,可在PowerBI中選擇PDF為數(shù)據(jù)源獲取

2 數(shù)據(jù)導(dǎo)入
1)科目表


2)資產(chǎn)負(fù)債表數(shù)據(jù)



3)上市公司股票代碼表


3 數(shù)據(jù)標(biāo)準(zhǔn)化
由于網(wǎng)易數(shù)據(jù)源的緣故帕翻,財(cái)務(wù)報(bào)表的科目明細(xì)和整體數(shù)值是分開(kāi)的,那就分別作為維度表和事實(shí)表萝风,都增加索引列嘀掸,在模型建模建立連接即可。

由于資產(chǎn)負(fù)債表數(shù)據(jù)為二維表规惰,我們需要用逆透視把它變成一維表(提升標(biāo)題后 - 選中索引列 - 逆透視其他列)睬塌,再刪除掉值中的空值

對(duì)于從PDF文件獲取的上市公司股票代碼表,可刪除默認(rèn)出現(xiàn)的“更改的類型”步驟歇万,因?yàn)楣善贝a有很多以0開(kāi)頭揩晴,需要以ABC文本格式才能顯示出來(lái)。


前三列利用向下填充補(bǔ)充數(shù)據(jù)



到此單張表的數(shù)據(jù)清洗工作完成贪磺。
4 批量爬取其他公司報(bào)表
觀察下網(wǎng)址結(jié)構(gòu)硫兰,一串文字+股票代碼坟募,邏輯簡(jiǎn)單惰赋。那通過(guò)“上市公司行業(yè)分類表”中的股票代碼便可批量導(dǎo)入


第一步,建立參數(shù):取名“Web”

當(dāng)前值可設(shè)置為當(dāng)前股票代碼 000333



第二步府蛇,在資產(chǎn)負(fù)債表的“查詢?cè)O(shè)置”的源中刹前,將代碼中 000333替換為?
"&Text.From(Web)&"
即首行公式為
=Web.BrowserContents("http://quotes.money.163.com/f10/zcfzb_"&Text.From(Web)&".html")

第三步泳赋,創(chuàng)建自定義函數(shù),取名zcfcb



第四步腮郊,在從PDF文件獲取的上市公司股票代碼表中做篩選摹蘑,考慮股票代碼很多筹燕,獲取全部數(shù)據(jù)非常耗時(shí)轧飞,我們先只篩選前3只股票衅鹿。

選擇“添加列”調(diào)用自定義函數(shù)过咬,增加一列大渤。


字段“zcfcb”的每一個(gè)單元格中的Table都是一張完整的資產(chǎn)負(fù)債表數(shù)據(jù),這種方案是先解決局部掸绞,再向上逐一擊破泵三,打開(kāi)表格就是完整的數(shù)據(jù)。

加載數(shù)據(jù)后衔掸,幾張表建立關(guān)系烫幕。

現(xiàn)金流量表、利潤(rùn)表也照此方法搞定敞映。
5 進(jìn)一步思考
剛剛Demo的測(cè)試较曼,我們只選取了3家公司,一切都很完美振愿,那如果將3500+家上市公司都加載進(jìn)來(lái)捷犹,批量爬取將會(huì)發(fā)生什么?
很慢冕末!在增加了兩個(gè)數(shù)量級(jí)之后萍歉,PBI爬取數(shù)據(jù)的軟肋就凸顯出來(lái),讀取網(wǎng)頁(yè)表格變得非常緩慢档桃,僅資產(chǎn)負(fù)債就有將近500萬(wàn)+行數(shù)據(jù)枪孩,全部加載到PBI耗時(shí)兩個(gè)小時(shí),一度讓我非常抓狂藻肄。
缺失销凑!由于一些不知的原因,在爬取過(guò)程中存在一些上市公司的數(shù)據(jù)缺失仅炊,返回的是空表斗幼。而且測(cè)試中發(fā)現(xiàn)有不穩(wěn)定的情況,同一只股票單獨(dú)可以抓取到數(shù)據(jù)抚垄,但放在參數(shù)里出現(xiàn)了錯(cuò)誤蜕窿。
6 總結(jié)
PBI的PowerQuery雖然可以批量讀取數(shù)據(jù),但它更適合對(duì)接數(shù)據(jù)庫(kù)呆馁,CSV這些確定的數(shù)據(jù)源桐经。對(duì)于獲取網(wǎng)頁(yè)數(shù)據(jù),它對(duì)數(shù)據(jù)的結(jié)構(gòu)要求非常高浙滤。我們通過(guò)案例體驗(yàn)式地學(xué)會(huì)PowerQuery的特性和功能阴挣,但實(shí)際工作中對(duì)于大范圍爬取網(wǎng)頁(yè)數(shù)據(jù)的需求,建議嘗試其他更專業(yè)的爬蟲(chóng)工具纺腊。 ?


——?End?——


相關(guān)閱讀:


用PBI分析上市公司財(cái)務(wù)數(shù)據(jù)(一)

用PowerBI分析上市公司財(cái)務(wù)數(shù)據(jù)(二)


如何用PowerBI導(dǎo)入網(wǎng)頁(yè)數(shù)據(jù)




加入社群畔咧,成為分享者茎芭、創(chuàng)作者請(qǐng)聯(lián)系小編微信:beyondexcel


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市誓沸,隨后出現(xiàn)的幾起案子梅桩,更是在濱河造成了極大的恐慌,老刑警劉巖拜隧,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宿百,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡洪添,警方通過(guò)查閱死者的電腦和手機(jī)垦页,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)干奢,“玉大人外臂,你說(shuō)我怎么就攤上這事÷烧停” “怎么了宋光?”我有些...
    開(kāi)封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)炭菌。 經(jīng)常有香客問(wèn)我罪佳,道長(zhǎng),這世上最難降的妖魔是什么黑低? 我笑而不...
    開(kāi)封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任赘艳,我火速辦了婚禮,結(jié)果婚禮上克握,老公的妹妹穿的比我還像新娘蕾管。我一直安慰自己,他們只是感情好菩暗,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布掰曾。 她就那樣靜靜地躺著,像睡著了一般停团。 火紅的嫁衣襯著肌膚如雪旷坦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天佑稠,我揣著相機(jī)與錄音秒梅,去河邊找鬼。 笑死舌胶,一個(gè)胖子當(dāng)著我的面吹牛捆蜀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼辆它,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼誊薄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起娩井,我...
    開(kāi)封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎似袁,沒(méi)想到半個(gè)月后洞辣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡昙衅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年扬霜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片而涉。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡著瓶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啼县,到底是詐尸還是另有隱情材原,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布季眷,位于F島的核電站余蟹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏子刮。R本人自食惡果不足惜威酒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挺峡。 院中可真熱鬧葵孤,春花似錦、人聲如沸橱赠。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)狭姨。三九已至吓著,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間送挑,已是汗流浹背绑莺。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惕耕,地道東北人纺裁。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親欺缘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子栋豫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容