聯(lián)名賬戶作為常見(jiàn)的金融分析場(chǎng)景,蘊(yùn)含了復(fù)雜的模型關(guān)系處理缴渊,并不是人人都可以輕松算對(duì)赏壹。本文從介紹關(guān)系開(kāi)始,深入淺出向您介紹如何處理聯(lián)名賬戶這種最常見(jiàn)的金融分析場(chǎng)景衔沼。
常見(jiàn)的關(guān)系
1)一對(duì)一關(guān)系
最簡(jiǎn)單的關(guān)系是一對(duì)一關(guān)系蝌借。假設(shè)您有一個(gè)人的姓名列表和一個(gè)身份證號(hào)碼列表。每個(gè)人有且僅有一個(gè)身份證號(hào)碼指蚁,每個(gè)身份證號(hào)碼能且僅能對(duì)應(yīng)到一個(gè)人菩佑。
一對(duì)一的關(guān)系相對(duì)較少,因?yàn)橥o定關(guān)系的兩邊都不可能與一個(gè)且只有一個(gè)對(duì)應(yīng)關(guān)系匹配凝化。這是一對(duì)一關(guān)系的其他示例:
公民和護(hù)照的關(guān)系(每個(gè)人只有一本來(lái)自特定國(guó)家/地區(qū)的護(hù)照稍坯,每本護(hù)照只能供一個(gè)人使用。)
國(guó)家和國(guó)旗的關(guān)系(每個(gè)國(guó)家/地區(qū)只有一個(gè)國(guó)旗搓劫,每個(gè)國(guó)旗僅屬于一個(gè)國(guó)家/地區(qū)瞧哟。)
配偶關(guān)系(每個(gè)人只有一個(gè)配偶。)
2)一對(duì)多關(guān)系
一種更復(fù)雜(但也更常見(jiàn))的關(guān)系是一對(duì)多或多對(duì)一關(guān)系枪向。例如勤揩,如果您有一個(gè)藝術(shù)品清單和一個(gè)博物館清單,則每個(gè)藝術(shù)品只能一次位于一個(gè)博物館中秘蛔,但是每個(gè)博物館可以擁有許多藝術(shù)品陨亡。
同時(shí)類似這樣關(guān)系的例子還有很多,例如:
人員地址(每個(gè)人可以住在一個(gè)地址深员,但每個(gè)地址可以容納一個(gè)或多個(gè)人负蠕。)
主人寵物(每只寵物都有一個(gè)主人,但每個(gè)主人可以擁有一個(gè)或多個(gè)寵物辨液。)
農(nóng)民設(shè)備(每臺(tái)農(nóng)用設(shè)備由一個(gè)農(nóng)民擁有虐急,但是每個(gè)農(nóng)民可以擁有許多設(shè)備。)
3)多對(duì)多關(guān)系
最后滔迈,實(shí)體也可以具有多對(duì)多關(guān)系。假設(shè)您有一個(gè)圖書清單和一個(gè)作者列表被辑,每本書可能有一個(gè)或多個(gè)作者燎悍,并且每個(gè)作者可能寫了多本書。這時(shí)就形成了多對(duì)多關(guān)系盼理。
并且這種關(guān)系看似特殊谈山,但是卻很常見(jiàn),商業(yè)活動(dòng)中存在著許多這類場(chǎng)景宏怔,例如:
在醫(yī)院場(chǎng)景中奏路,每個(gè)醫(yī)生會(huì)為多個(gè)病人看病畴椰,同時(shí)病人也會(huì)到多個(gè)醫(yī)生處就診,醫(yī)生和病人之間就存在多對(duì)多關(guān)系鸽粉;
在零售和快餐場(chǎng)景中斜脂,每張訂單關(guān)聯(lián)多張優(yōu)惠券,同時(shí)優(yōu)惠券也可以在多個(gè)訂單中使用触机,那么訂單和優(yōu)惠券間就存在多對(duì)多關(guān)系帚戳;
在學(xué)校場(chǎng)景中,每一名學(xué)生會(huì)學(xué)習(xí)很多門課程儡首,同時(shí)一門課程會(huì)有很多名學(xué)生學(xué)習(xí)片任,那么課程和學(xué)生之間同樣存在著多對(duì)多關(guān)系。
像這類多對(duì)多關(guān)系還有很多蔬胯,下文將進(jìn)一步介紹一些典型的多對(duì)多關(guān)系場(chǎng)景对供。
聯(lián)名賬戶場(chǎng)景
聯(lián)名賬戶是一個(gè)非常典型的多對(duì)多關(guān)系的業(yè)務(wù)場(chǎng)景:該場(chǎng)景中有一個(gè)事實(shí)表,該表記錄了每個(gè)賬戶的每一筆交易明細(xì)氛濒,同時(shí)产场,又存在賬戶信息、客戶信息和日期信息三張維度表泼橘。典型的模型樣例如圖所示涝动。
由于存在聯(lián)名賬戶,所以一個(gè)賬戶可能對(duì)應(yīng)多個(gè)客戶炬灭,同時(shí)一個(gè)客戶又會(huì)對(duì)應(yīng)多個(gè)賬戶醋粟。這就為分析提出了更高的要求。例如重归,我們?cè)跇永龜?shù)據(jù)中創(chuàng)建了4個(gè)客戶和6個(gè)帳戶米愿。每個(gè)帳戶都關(guān)聯(lián)一個(gè)或多個(gè)客戶,每個(gè)帳戶在2005年11月30日的交易金額均1000元鼻吮。
但是當(dāng)進(jìn)行客戶層面的統(tǒng)計(jì)時(shí)育苟,很容易就能發(fā)現(xiàn),每個(gè)客戶交易金額的小計(jì)等于屬于其對(duì)應(yīng)賬戶的交易金額的總和椎木,但是對(duì)于總計(jì)交易金額违柏,由于僅存在6個(gè)賬戶,每個(gè)賬戶的交易金額均為1000元香椎,所以總計(jì)交易金額為6000元漱竖,并不是各個(gè)客戶金額小計(jì)的總和。這里需要對(duì)重復(fù)計(jì)算的賬戶畜伐,進(jìn)行去重計(jì)算馍惹,這就是多對(duì)多關(guān)系的特別之處。
實(shí)現(xiàn)方式
那么如何處理這種復(fù)雜而常見(jiàn)的多對(duì)多關(guān)系的模型呢?Kyligence產(chǎn)品提供了MDX數(shù)據(jù)集的建模能力万矾,能夠輕松的支持多對(duì)多的分析場(chǎng)景悼吱。用戶僅需通過(guò)簡(jiǎn)單的設(shè)置,無(wú)需任何代碼即可定義多對(duì)多關(guān)系良狈。僅需進(jìn)行如下設(shè)置后添,即可完成一對(duì)多對(duì)多關(guān)系的定義。?
用戶在最終分析時(shí)不需要關(guān)系底層的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)關(guān)系们颜,僅需要直接進(jìn)行拖拽分析即可吕朵。
結(jié)論
本文介紹了建模時(shí)各類表與表間的連接關(guān)系,討論了常見(jiàn)的使用場(chǎng)景窥突。并基于聯(lián)名賬戶場(chǎng)景詳細(xì)的解釋了多對(duì)多關(guān)系計(jì)算的重點(diǎn)努溃。即使在大數(shù)據(jù)時(shí)代的今天,這些復(fù)雜的場(chǎng)景仍然隨處可見(jiàn)阻问,是現(xiàn)代OLAP需要具備的高級(jí)建模能力梧税。Kyligence產(chǎn)品能夠很好的支持多對(duì)多關(guān)系,既能夠?qū)崿F(xiàn)海量數(shù)據(jù)的快速響應(yīng)称近,又能支持OLAP分析所需的各種復(fù)雜連接關(guān)系第队。如需了解更多,請(qǐng)點(diǎn)擊閱讀原文刨秆,查看詳細(xì)Demo 視頻凳谦。