實時刷新的民宿運營報表-mysql+powerbi

一.業(yè)務背景

作為數(shù)據(jù)輸出端闭翩,每日或每月方咆,各業(yè)務人員會定時來要相關業(yè)務數(shù)據(jù)票编,這時就可以用SQL語句+powerBI面板定時輸出褪储,給業(yè)務人員面板中下載數(shù)據(jù)的權限,做到一勞永逸慧域。
本次數(shù)據(jù):為某房地產(chǎn)開發(fā)行業(yè)-民宿運營業(yè)務的數(shù)據(jù)鲤竹,下圖為數(shù)據(jù)庫相關關鍵字段的關聯(lián)關系。


image.png
業(yè)務目標

1.可以從時間昔榴,地理緯度看承包的民宿源都來自哪里辛藻。
2.這些房源的總體運營情況,從訂單量互订,訂單GMV考察吱肌。

所涉及數(shù)據(jù)源

本次運用的數(shù)據(jù)庫表主要有:
1.constract合同表,記錄了從全國各地承包民宿房子所簽署的合同信息仰禽。
2.tbl_info_house房屋表氮墨,記錄了房源id纺蛆,房源地理位置(城市、經(jīng)緯度)勇边,房源運營的組織架構(運營商戶犹撒,運營組)。
3.tbl_biz_order訂單表,記錄了顧客下的每筆訂單的詳細信息粒褒,例如顧客入住時間、離店時間诚镰,入住人奕坟,入住顧客信息,入住民宿所花費的各類費用等清笨。

業(yè)務邏輯計算公式

總收入=歸來訂單收入=各渠道歸來訂單收入總和
實住間夜=歸來訂單實住間夜
入住率=實住間夜/累計間夜數(shù)
拒單率=拒單數(shù)/總支付成功訂單數(shù)
歸來訂單=客戶已經(jīng)入住的訂單數(shù)
平均售賣價錢=房屋下總售賣房費/關聯(lián)訂單實售間夜數(shù)
RevPar=gmv\在線房源數(shù)
平均客單價=gmv/訂單
gmv=訂單*平均客單價
平均間夜價=gmv/銷售間夜數(shù)
入住率=當天入住/在線房源
入住率=實際入住間夜數(shù)/累計間夜數(shù)
ROI= 收入/成本 >100% 賺
ROI= 收入/成本 >100% 賠
同比增長率=(本期數(shù)-同期數(shù))÷同期數(shù)×100%
環(huán)比增長率=(本期數(shù)-上期數(shù))/上期數(shù)×100%月杉。
平均間夜數(shù)=間夜數(shù)/訂單數(shù)
毛利率=gmv-成本 /GMV

二.數(shù)據(jù)處理

constract表

在數(shù)據(jù)庫中記錄的大概信息如下。


image.png

原表中有一列province里面空值太多抠艾,這個字段被棄用了苛萎。如果想提取合同簽署的城市信息,還有有一列地理位置信息name需要處理一下检号,希望從詳細的地理位置信息中提取簡要的城市信息腌歉,因此這個表最終是用腳本處理的。


image.png
import pandas as pd
from sqlalchemy import create_engine
import pymysql
pymysql.install_as_MySQLdb()
import warnings
warnings.filterwarnings("ignore")

engine = create_engine('mysql+mysqldb://root:****@localhost:3306/*****')
sql1 = '''select * from contract '''
contract = pd.read_sql_query(sql1, engine)

contract['name'] = contract['name'].map(lambda x:x.strip())
contract['city'] = contract['name'].map(lambda x:x[:9])

city = contract['city'].tolist()

city_list = []
for i in city:
    if i[2]=='市':
        city_list.append(i[:2])
    elif i[2]=='省':
        city_list.append(i[3:5])
    elif i[2]=='-':
        city_list.append(i[:2])
    elif i.find('武漢')>=0:
        city_list.append('武漢')
    elif i.find('西安')>=0:
        city_list.append('西安')
    elif i.find('南京')>=0:
        city_list.append('南京')
    elif i.find('寧波')>=0:
        city_list.append('寧波')
    elif i.find('杭州')>=0:
        city_list.append('杭州')
    elif i.find('桂林')>=0:
        city_list.append('桂林')
    elif i.find('莫干山')>=0:
        city_list.append('湖州')
    elif i.find('湖州')>=0:
        city_list.append('湖州')
    elif i.find('無錫')>=0:
        city_list.append('無錫')
    elif i.find('佛山')>=0:
        city_list.append('佛山')
    elif i.find('三月居')>=0:
        city_list.append('揚州')
    elif i.find('揚州')>=0:
        city_list.append('揚州')
    elif i.find('武侯區(qū)')>=0:
        city_list.append('成都')
    elif i.find('代運營')>=0:
        city_list.append('代運營')
    elif i.find('托管')>=0:
        city_list.append('代運營')
    elif i.find('重慶')>=0:
        city_list.append('重慶')
    elif i.find('投資')>=0:
        city_list.append('代運營')
    elif i.find('委托服務')>=0:
        city_list.append('代運營')
    elif i.find('上海')>=0:
        city_list.append('上海')
    elif i.find('哈爾濱')>=0:
        city_list.append('哈爾濱')
    else:
        city_list.append(i)

contract['citya'] = pd.Series(city_list)

powerBI數(shù)據(jù)源鏈接這個腳本齐苛,會生成一張基礎表翘盖。


image.png

其中create_date需要做時間切片,所以將這個字段轉換成日期格式凹蜂。
新添加列-年馍驯;新添加列-月;并將年月組合連接起來玛痊。


image.png

image.png

按照合同ID數(shù)量汰瘫,寫度量值。并用柱狀圖篩選合同數(shù)量排名前15的城市擂煞。
image.png
tbl_info_house表

直接從數(shù)據(jù)庫讀取混弥,稍作處理即可。


image.png
訂單總覽表count_order

根據(jù)訂單情況颈娜,使用sql語句將每日訂單情況匯總成count_order表剑逃。

select  a.house_id,a.order_code,merchant.merchant_name,a.check_in_time, DATE(a.order_time) order_data,hg.group_name,
    mark_zc as order_count,
    a.GMV*a.mark_zc as order_gmv,
    a.jianye*a.mark_zc as order_nights,
    mark_qx as order_count_qx,
    a.GMV*a.mark_qx as order_gmv_qx,
    a.jianye*a.mark_qx as order_nights_qx
    from (
        select house_id,order_code,merchant_id,order_status,type,inventory,order_time,check_in_time,
        ifnull(total_money,0)+ifnull(clean_money,0) as GMV,
        TIMESTAMPDIFF(day,check_in_time,check_out_time)*inventory as jianye,
        if(order_status IN ('WAITING_CHECKIN','CHECKIN','CHECKOUT'),1,0) as mark_zc,
        if(order_status ='CANCELED',1,0) as mark_qx
        from tbl_biz_order 
        where type = 'normal' 
        ) a 
left join tbl_info_house house on a.house_id = house.houseid
left join house_group_rel hgr on hgr.house_id = house.houseid
left join house_group hg on hg.id = hgr.house_group_id
left join merchant on merchant.id = a.merchant_id;

powerbi里面最終count_order表


image.png
創(chuàng)建相關表關系

在關系構建中,需要將tbl_info_house的關鍵字段與count_order相連接官辽,構建模型(當然蛹磺,這一步也可以在通過SQL語句鏈接,因為之前SQL語句寫的較長同仆,因此選擇在powerBI里連接表)萤捆。


image.png
房屋運營概況

制作三個切片,時間切片,商戶切片和房屋所在城市切片俗或。
主要數(shù)據(jù)表描述各個運營小組所運營民宿的訂單狀況市怎,GMV狀況。

六.最終展示

這些報表數(shù)據(jù)是業(yè)務人員每天下載查看的辛慰,因此將賬號及授權下載權限提供給相關業(yè)務人員即可区匠。
--合同簽署情況

image.png

--民宿運營總覽
image.png

鏈接預覽。個人把數(shù)據(jù)源搬到了本地數(shù)據(jù)庫帅腌,暫時不會實時刷新驰弄。
https://app.powerbi.com/view?r=eyJrIjoiYmRlYTJlZGYtYWMzYi00ZWQ4LTkyNDYtMzZmMmRlMTFlM2NjIiwidCI6IjRmZWQ1OTVkLTRlOGUtNGM5Zi04NTMwLWY3OGZmYzg0NmMwYyJ9

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市速客,隨后出現(xiàn)的幾起案子戚篙,更是在濱河造成了極大的恐慌,老刑警劉巖溺职,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岔擂,死亡現(xiàn)場離奇詭異,居然都是意外死亡浪耘,警方通過查閱死者的電腦和手機乱灵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來点待,“玉大人阔蛉,你說我怎么就攤上這事●海” “怎么了状原?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長苗踪。 經(jīng)常有香客問我颠区,道長,這世上最難降的妖魔是什么通铲? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任毕莱,我火速辦了婚禮,結果婚禮上颅夺,老公的妹妹穿的比我還像新娘朋截。我一直安慰自己,他們只是感情好吧黄,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布部服。 她就那樣靜靜地躺著,像睡著了一般拗慨。 火紅的嫁衣襯著肌膚如雪廓八。 梳的紋絲不亂的頭發(fā)上奉芦,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音剧蹂,去河邊找鬼声功。 笑死,一個胖子當著我的面吹牛宠叼,可吹牛的內(nèi)容都是我干的先巴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼冒冬,長吁一口氣:“原來是場噩夢啊……” “哼筹裕!你這毒婦竟也來了?” 一聲冷哼從身側響起窄驹,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎证逻,沒想到半個月后乐埠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡囚企,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年丈咐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片龙宏。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡棵逊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出银酗,到底是詐尸還是另有隱情辆影,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布黍特,位于F島的核電站蛙讥,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灭衷。R本人自食惡果不足惜次慢,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翔曲。 院中可真熱鬧迫像,春花似錦、人聲如沸瞳遍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽傅蹂。三九已至纷闺,卻和暖如春算凿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背犁功。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工氓轰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浸卦。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓署鸡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親限嫌。 傳聞我的和親對象是個殘疾皇子靴庆,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

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