一個模版讓報表自動生成,領導:這才是數據分析人該幹的事

2020-12-10 數據分析不是個事兒

大部分的數據分析師都或多或少掉入這樣的陷阱:每天大部分的工作都花在查數上,幹著幹著變成了「查數菇」。看上去幫老闆或其他同事查數據是數據分析師天經地義的任務,怎麼會成為陷阱呢?我來給你分析分析:

業務部門需求多,查數據的任務量特別大。查數據的任務急。運營做了一天活動想第二天早上就看到活動的效果數據;產品新上線了一個新功能,想第一時間看看功能的使用數據;老闆在做決策缺一項數做判斷依據,要快速查詢.....大部分的查數需求都是很急的,業務會一遍又一遍的催。手工查數據特別容易出錯。無論多麼簡單的查詢步驟,手工操作都可能導致失誤,尤其是對於頻繁操作又很急迫的查數據任務來說,錯誤發生的可能性就更大了。單純的查數不能做很好的數據展示。因為任務瑣碎且緊急,所以時間往往不允許我們靜下心來做數據可視化展現,而是生硬的給出一些數字,這對一般的業務人員不是特別友好,他們可能不能給充分理解數字背後的業務含義,更不可能要求他們自己完成對數據的二次處理以求得出一些進一步的分析,數據應該起到的價值因此會大打折扣。查數據對分析師的成長無益。查數據的具體工作基本就是一些SQL和Excel的機械操作,數據分析師在其中即不能提升技能,也不會增長分析經驗,長久來看,多做無益。所以,查數據就是這樣一個費時耗精力、低價值、容易錯、零成長的任務,而且因為它的緊急性,你可能很容易把它放在任務清單的最前面去執行,直到你把一大堆查數據任務都完成之後,已經疲憊不堪的你會發現時間已經很晚,而那些真正有價值的分析任務你只能留到明天,可到了明天又會出現很多新的查數據任務,就這樣周而復始,惡性循環!

有什麼辦法擺脫這樣的惡性循環嗎?答案是:不做!可不做那些業務人員怎麼辦,他們還急著要數據啊,答案是:不自己做!那誰來做呢?答案是:交給自動化報表來做

Excel半自動化報表

簡單而機械的任務不適合人工手動完成但卻很適合機器自動完成,即便你目前除了Excel外一無所有,至少也可以通過搭建半自動Excel模板的方式將所有的查數據需求整合成一張數據報表,這種報表僅需要通過複製粘貼的方式將數據源輸入模板,之後的數據處理和展現都能自動完成。

這裡我以一個人的健身數據為例,具體操作如下:

梳理出平時經常要查詢的數據需求。

將搜集來的數據源整理成一維表,一般從系統導出或SQL查詢的數據直接就是一維表,所以複製過來就行。有幾個數據源就建幾個sheet。(當然這個案例比較特殊,是需要手動記錄的)

新建一個sheet起名「展現」,在裡面建立一個時間篩選器

在新建一個sheet起名「後臺」,將剛才時間篩選器篩選的時間引用過來。

利用sumif函數,將不同數據源的數據合併在一起,通過時間篩選器引用過來的日期控制顯示的日期行。

根據這些合併好的數據,創建圖表放入「展現」裡,再美化一下,做成一個數據展現看板。

python自動化報表

當然,上述的解決方案還不夠完美,因為畢竟還得每天複製粘貼一遍,只能算是半自動化報表,還有一方法就是用python 代碼來操控excel進行相似性很高或者重複性、繁瑣的工作。

具體的過程需要用到3個工具包:

1.xlrd:從Excel電子表格中提取數據 2.xlwt:將數據寫入Excel電子表格 3.xlutils:提供一組處理Excel文件的實用程序

python操作excel的相關工具包可以具體到操作指定單元格的填充樣式、數值類型、數值大小等,但是這個過程需要一定pandas數據處理功底。具體操作步驟如下:

1.從指定文件路徑讀取excel表格,進行一定操作,然後保存到另一個excel文件:result.xlsx

import xlwtimport xlrdfrom xlutils.copy import copyimport pandas as pdfrom pandas import DataFrame,Seriesimport osos.chdir('./')# 從指定文件路徑讀取excel表格df = pd.read_excel('D:/mypaper/data/data.xlsx')# 查看df內容

# 根據age算出出生年份,增加一列import datetimeimport osyear = datetime.datetime.now().year#獲取當前系統時間對應的年份df['birth'] = year-df['age']df.to_excel('result.xlsx')#保存到當前工作目錄,可以用os.getcwd()查看#查看下此時df的內容,可以看到已經生成了birth這一列

2.單元格操作

# 定義方法:讀取指定目錄下Excel文件某個sheet單元格的值def excel_read(file_path,table,x,y):data = xlrd.open_workbook(file_path) table = data.sheet_by_name(table) return table.cell(y,x).value# 定義方法:單元格值及樣式write_obj_list = []def concat_obj(cols,rows,value): write_obj_list.append({'cols':cols,'rows':rows,'value':value,\'style':xlwt.easyxf('font: name 宋體,height 280;alignment: horiz centre')})# 定義方法:合併單元格def merge_unit(srows,erows,scols,ecols,value): write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,\'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋體,height 280;alignment: horiz centre')})# 定義方法:更新excelexcel_update(file_path,write_obj_list,new_path): old_excel = xlrd.open_workbook(file_path, formatting_info=True) #管道作用 new_excel = copy(old_excel) ''' 通過get_sheet()獲取的sheet有write()方法 ''' sheet1 = new_excel.get_sheet(0) ''' 1代表是修改第幾個工作表裡,從0開始算是第一個。此處修改第一個工作表 ''' for item in write_obj_list: if 'id' not in item.keys(): if 'style' in item.keys(): sheet1.write(item['rows'], item['cols'], item['value'],item['style']) else: sheet1.write(item['rows'], item['cols'], item['value']) else: if 'style' in item.keys(): sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style']) else: sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value']) ''' 如果報錯 dict_items has no attributes sort 把syle源碼中--alist.sort() 修改為----> sorted(alist) 一共修改2次 ''' new_excel.save(file_path)#參數詳解# srows:合併的起始行數# erows:合併的結束行數# scols:合併的起始列數# ecols:合併的結束列數 # value:合併單元格後的填充值# style:合併後填充風格:# font: name 宋體# height 280;# alignment: horiz centre# ... 與excel操作基本保持一致注意:該方法僅僅是將需要直行的動作保存到一個list中,真正的動作還未執行,執行動作是發生在excel_update方法中

最終調用excel_update方法,傳入每個單元格需要進行的操作和填充值的write_obj_list以及文件保存路徑file_path,就可以在當前工作目錄下生成想要的Excel結果文件。

BI數據自動化解決方案

用python實現自動化的確比excel省力多了,但是對於代碼能不好的人來說,想要快速上手python並且實現這樣的自動化報表沒那麼容易。因此,我建議採用BI等工具實現真正的數據自動化,一能解決大數據量的問題,二能解決報表模版製作的問題

市場上BI工具比較多,個人比較熟悉的是FineBI,國內的一款BI工具,個人版免費,企業版收費,不過對企業來說,買軟體花的錢和浪費掉的人工成本相比還是划算的)。

相對於Excel,FineBI的好處是:

可以直連數倉,免去了人工調取的麻煩。支持大數據量處理數據分析流程簡單,不用寫代碼,拖拖拽拽就能生成可視化圖表模板完成後能夠導出成pdf,或者生成demo連結直接發給同事和領導,他們每天打開網頁就能自己看的數據。FineBI具備很強的交互性,製作完成的模版可根據自己的需求進行篩選、排序、數據下鑽等功能。下面從數據源連結、數據可視化和模版分享三個方面具體說說

數據連結

就上文章開頭說的,業務要各種各樣的數據表,數據分析師就要到各種系統中去取數,有些公司的數據管理混亂,數據分散在各個業務系統總,此時取數將是一個十分浩大的工程,用FineBI就可以很好的解決取數問題,它可以直接和多種資料庫連結,也可以導入excel數據集。

另外,FineBI支持兩種模式獲取數據,可以將資料庫的數據抽取到引擎存儲,離線使用,也可以實時獲取資料庫,數據表中的數據實時更新。

數據可視化

FineBI製作數據可視化圖表的過程十分簡單,不用寫代碼,把需要分析欄位拖拽到橫縱坐標軸,圖表就可以自動生成,就相當於一個更加高級的Excel數據透視表。

創建圖表組件,把緯度和指標拖拽到橫縱、縱軸,系統會根據選擇的緯度和指標數量自動推薦圖表,而且,FineBI圖表類型很豐富,支持柱形圖,折線圖,餅圖,雷達圖,散點圖,圓環圖,條形圖,儀錶盤、堆積圖、面積圖、組合圖,氣泡圖、地圖、GIS地圖、熱力地圖、流向地圖等多種圖表類型和圖表:

FineBI的儀錶板採用的是畫布式的界面,可以隨意添加組件,拖拽自由布局,靈活程度高

下面是用FineBI製作的儀錶板,數據可以實時刷新,不用重複做表:

模版分享

完成了模版製作之後,我們就要把模版發送給業務需求方查看,FineBI可以將儀表版生成公共連結,以連結的形式分享給同事。對於一些定期要發布的模版,比如周報、月報之類,可以通過定時調度功能,設定定時任務,伺服器會在指定的時間自動生成所需的儀錶板,並且可以將生成的結果以郵件、簡訊、平臺消息通知的方式通知對應的業務需求方,實現郵件自動化。

以上,就是今天關於自動化報表的分享,想要獲取更多報表製作及數據分析講解資料,私信我「數據分析」獲得

相關焦點

  • BI系統:分析報表自動生成
    分析報表自動生成是BI系統基礎性效果之一。對每天都需要製作大量樣式一致的基礎性報表的用戶來說,使用BI系統來自動生成分析報表能不僅能快速完成既定的基礎性報表製作任務,更能節省大量時間用於深度數據分析挖掘,或做更具針對性的個性化數據分析。這樣一來就能打破企業數據分析流表面,無法為業務、決策提供快而準的數據支持的困境。
  • 財務報表分析、自動生成模板,會計200%有用
    小優在此不斷言這是杞人憂天,但大家也要提高警惕。從長遠看來,只會簡單的做帳報稅遠遠不夠,學會財務報表分析,站在管理的角度為企業提供財務方案,最大程度地為企業開源節流才是財務人的生存之本!應大家要求,小優耗時近一個月,整理了這份財務報表優質乾貨資料,今天統統免費送給正在閱讀本文的小夥伴。
  • Excel數據透視表自動生成分頁報表與解決顯示報表篩選頁呈灰色
    在 Excel 數據透視表中,可以按照某個指定欄位自動生成分頁報表,例如按照月份或分類生成分頁報表,從而便於查看或分析某個月或某分類的數據。自動生成分頁報表由篩選器和顯示報表篩選頁共同實現,如果某個功能不可用將無法完成,經常會遇到就是顯示報表篩選頁呈灰色不可用。
  • 有沒有自動算工資的軟體?自動生成各類分析報表i人事
    據了解,當前市面上不少工資計算軟體只能做到算薪這一動作,卻無法將薪稅相關數據有效利用,HR想要完成數據分析、決策匯報等仍然需要手動操作,甚至部分HR完全不知如何對數據進行組合利用,一度造成工作停擺,甚至無法實現個人價值。有沒有自動算工資的軟體?
  • 前端如何一鍵生成多維度數據可視化分析報表
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言本文是基於上一篇文章介紹H5編輯器 後臺管理系統實戰的第二篇文章, 也是比較重要的一篇文章, 主要介紹後臺系統中如何基於已有數據表格自動生成多維度可視化報表
  • 財務編制499套Excel可視化財務報表,輸入數據,自動生成
    財務編制499套Excel可視化財務報表,輸入數據,自動生成我們已經為您整理成了電子版文檔如果你覺得這份資料對您有幫助希望獲取完整資料參考學習,可以看文末>目錄財務月度收支分析表財務數據統計表財務報告分析年度財務經營分析報告季度數據分析表季度支出財務報告等
  • 用友如何自動生成財務報表!
    前言:在使用用友軟體過程中,當月憑證已做完且已結帳,該怎麼生成相應的財務報表呢?下面以如何生成資產負債表為例,來詳細講解操作步驟。此說明適合於T3/T6/U8。1、首先查詢建帳時所採用行業性質,這個很重要,以確定使用行業對應的資產負債表模板,進入用友軟體後,點擊-「總帳」-「設置」-「選項」,如圖下操作:2、進入選項對話框,點擊「其他」頁籤,查看行業性質為「新會計制度科目」,如圖下:3、行業性質確定為新會計制度科目後,那麼生成資產負債時就必須用這個行業性質相應的報表模板
  • Excel財務分析報表,全自動生成,太高大上了吧
    今天給大家分享62套可視化財務動態圖表分析,所有的表格公式已經設置好了,根據自身情況,了錄入基礎數據就可以自動生成圖表,清晰美觀,一目了然,工作效率大大提高,簡直太方便了!給大家展示一下吧~(文末可帶走電子版)財務數據分析看板此表為財務數據分析看板,有專門的表二為可視化面板的數據源,手動輸入基礎數據,看板圖表就可以自動生成、匯總,清晰美觀,一目了然。
  • Excel如何自動生成分類匯總報表?可以學著這樣設計 - 小豬談教育
    為什麼有些人做的報表清楚且美觀,效率非常快。領導需要數據,一個電話過來,都不用掛就能立刻收到準確數據。而有些人,領導要查個東西,半天才能把數據算出來,效率很低。我們要明白,Excel的工作步驟是:數據錄入或者導入→數據處理→數據分析。
  • 189套Excel可視化財務報表,自帶公式自動生成,直接套用
    189套Excel可視化財務報表,自帶公式自動生成,直接套用對於我們財務人來講,財務報表也是我們必備的一項技能,但是呢,有些人做得很好,還是受不到領導的稱讚,這是為什麼呢?財務報表不緊要美觀好看,還得讓人很直觀的可以看出數據,這樣的報表老闆怎麼能不喜歡?
  • 一鍵生成報表模板的神器來了
    其實很簡單,實現報表自動化只需要解決三個難題:做報表前的取數問題、報表模板的自動生成問題、報表完成後的自動發布問題。下面我來一一分析一下,FineReport是如何解決這三大難題,讓報表人從此擺脫被日報、月報這種流水式固化報表的折磨的!
  • 擺脫了Excel重複做表,換個工具輕鬆實現報表自動化,漲薪三倍
    如果領導臨時安排什麼工作的話,那就要加班從無窮無盡的數據裡找領導要的東西了。先理解一下什麼是自動化,比方說以前我們造路鋪磚都是用人工一塊一塊的鋪上去,而現在都是用機器自動撿磚、鋪磚,不需要人力勞動了,這就是自動化。報表自動化,顧名思義就是人不用做表,表格自動生成。就拿日報、季報來說,每天、每月的數據都需要更新,日報、月報就要重複做,如果可以通過工具或代碼自動生成周報、日報,不需要人反覆做表,這就是報表自動化。
  • 讓領導看傻,年終Excel 報表1秒自動生成
    蘭色以前在集團公司負責數據分析,管理著整個集團N年、N千份的各種銷售及財務報表。 可蘭色找報表卻非常的快,原因就在於蘭色製作有動態報表模板,如利潤表: 不但可以根據所選日期生成報表,還可以切換 萬元 / 元 顯示。
  • 做好領導最喜歡的可視化報表,30歲依然能轉行大數據分析師
    對於數據基礎不好或者有一定數據基礎的企業,建議使用FineReport(文末有下載地址),對於數據基礎好的,算了,國內企業對於數據的利用還有很大的進步空間。不同的人,報表的作用不同其實很簡單,報表對於不同職位的人,作用是不一樣的。
  • 20張財務報表模板,錄入數據可自動生成,附一份財務收支管理系統
    【20張財務報表模板,錄入數據可自動生成,附一份財務收支管理系統】今日分享:20張財務報表模板+一份財務收支管理系統月度財務報表工程款預付單收支明細表—收支數據可視化看板收支表+圖表分析收支表(多種收支查找統計)部門費用支出表
  • 390個可視化Excel財務報表,數據全自動生成,5分鐘上手
    財務工作終究離不開財務報表。390個可視化Excel財務報表,數據全自動生成,5分鐘就可以上手哦財務分析數據看板分析表內已經設好公式,填入基礎數據,即可生成動態報表。年度財務營收分析報告全年各月的財務營收都包含了,直接生成各項圖表,數據直觀,小白也能看得懂。應收帳款帳齡分析表直接套用,數據可自動計算應收帳款的帳齡,可自動提醒忙碌的會計記得收款。
  • 報表分析怎麼做?這篇文明明白白告訴你
    2.1 需求要點分析1、指標:根據上面給出的需求,分析表中涉及到的指標有產量、銷量、合計值,其中,合計 =產量+銷量。2、數據源:根據分析表所要選取的指標,主題表「QC_XL 汽車銷量」中含有這兩個指標,那麼就確定分析表的數據源為主題表QC_XL。
  • 2020年最新進銷存管理系統,庫存進出全自動,報表數據一鍵生成
    進銷存一直是財務工作中的一個難點,因為包含的內容細節比較多,很多財務人員,一遇到財務進銷存就發懵,不知道如何下手,也不知道如何製作表格。今天小編就給大家分享一個免費的財務進銷存管理系統,很實用,裡面包含了財務進銷存所需要的全部表格,裡面公式和格式都是設置好的,只要我們錄入實際財務數據,就可以自動生成財務報表。希望小編的分享,可以幫助到大家。
  • 比數據透視表更好用,一分鐘生成進銷存報表
    根據入庫、出庫表自動生成進銷存報表: 完成這個任務,可以用函數公式、可以用數據透視表的SQL多表合併、可以用VBA。其中數據透視表方法是其中最完美的方法,但寫SQL語句對一般Excel用戶來說如天書一般。
  • Excel增加刪除行列後,數據透視表與分頁報表如何自動更新
    生成數據透視表後,往往還需要修改源表記錄,例如修改文字、數值、增加刪除行、甚至增加刪除列,這些修改都需要更新到數據透視表中,如果已經生成分頁報表,還要更新到分頁報表中,以使數據保持一致。更新方法分為三種情況,第一種為手動刷新,即更新源表後,到數據透視表刷新,從而更新修改的數據;第二種為自動更新,即修改源表後,不用到數據透視表更新,通過設置讓數據透視表及其分頁報表自動更新;第三種為實時更新,即修改源表後,過一段時間(例如 1 分鐘)自動更新數據透視表。