官术网_书友最值得收藏!

1.3 Power BI數(shù)據(jù)分析的基本概念

微軟Power BI很容易上手。通過(guò)自查軟件的幫助,在學(xué)習(xí)幾個(gè)簡(jiǎn)單的示例之后,讀者用鼠標(biāo)進(jìn)行簡(jiǎn)單的拖曳可能就能快速生成效果絢麗的交互式報(bào)表。但是,要想創(chuàng)建相對(duì)科學(xué)、高效的分析模型,實(shí)現(xiàn)相對(duì)復(fù)雜業(yè)務(wù)邏輯的報(bào)表,則需要對(duì)商業(yè)智能數(shù)據(jù)分析的相關(guān)概念有一定的理解和認(rèn)識(shí)。

1.3.1 維度與度量值

維度與度量值是Power BI中的核心概念,也是Power BI能夠從容應(yīng)對(duì)各種分析需求的秘密。維度就是不同值的描述屬性或特征,是觀察數(shù)據(jù)的角度,如對(duì)于公司銷售數(shù)據(jù),可以分析不同省份的銷售數(shù)據(jù),也可以分析不同月份的銷售數(shù)據(jù)等,這里的“省份”和“月份”就是維度。度量值就是分析對(duì)象的統(tǒng)計(jì)值,如銷售數(shù)據(jù)中的銷售收入、銷售數(shù)量等。

維度與度量值如表1-1所示。

表1-1 維度與度量值

對(duì)于Excel用戶來(lái)說(shuō),維度與度量值是一個(gè)全新的概念,其可能一直沒(méi)有意識(shí)到它們的存在,但事實(shí)上,所有的數(shù)據(jù)分析都離不開(kāi)維度與度量值。例如,2020年4月公司所有產(chǎn)品的銷售收入是多少?今年各月哪種產(chǎn)品的銷售收入最多?每月銷售收入大于平均銷售收入的產(chǎn)品有哪些?等等。如果用Excel來(lái)回答這類問(wèn)題,就需要逐一計(jì)算每月的每類產(chǎn)品的銷售收入是多少,如果新增了“地區(qū)”這個(gè)維度,在Excel中似乎又是一個(gè)全新的指標(biāo),又要重新計(jì)算各地區(qū)的銷售收入是多少。但在商業(yè)智能軟件中,這些問(wèn)題都只涉及一個(gè)度量值,即銷售收入。只要通過(guò)切換不同的分析維度,銷售收入就能自動(dòng)匹配相應(yīng)觀察維度下的值,而不用重新編寫(xiě)計(jì)算公式。因此,商業(yè)智能軟件將所有分析抽象為維度與度量值,大大提高了分析效率。

1.3.2 維度表與事實(shí)表

維度表就是專門用來(lái)描述事物屬性或特征的表。如表1-2所示,城市信息表就是一張維度表,記錄了每個(gè)城市的名稱、所屬省份、區(qū)域、分類等信息。維度表是基礎(chǔ)表,相對(duì)穩(wěn)定,一般不會(huì)隨時(shí)間變化。事實(shí)表就是用來(lái)記錄各維度值的表。如表1-3所示,銷售數(shù)據(jù)表就是一張事實(shí)表。隨著時(shí)間的推移,事實(shí)表的行數(shù)會(huì)不斷增加。例如,隨著交易記錄的不斷產(chǎn)生,銷售數(shù)據(jù)表會(huì)不斷變大。

表1-2 維度表(城市信息表)

表1-3 事實(shí)表(銷售數(shù)據(jù)表)

事實(shí)表一般較大,維度表一般較小,一個(gè)維度表可以關(guān)聯(lián)多個(gè)事實(shí)表,維度表的存在能減少事實(shí)表的數(shù)據(jù)冗余,避免相同的信息重復(fù)出現(xiàn)(如表1-3所示,“城市ID”列中的“5”出現(xiàn)了多次,與維度表關(guān)聯(lián)之后,表1-3不用重復(fù)記錄該城市所屬省份等信息)。

1.3.3 一維表與二維表

對(duì)于經(jīng)常使用Excel的用戶來(lái)說(shuō),可能不用關(guān)注一維表與二維表的問(wèn)題,因?yàn)椴还苁且痪S表還是二維表,使用Excel公式總能求解(當(dāng)然效率上可能存在差異),但是,使用Power BI必須注意這個(gè)問(wèn)題,因?yàn)檫@會(huì)對(duì)后期模型的建立產(chǎn)生嚴(yán)重的影響。

一維表是指每列屬性相互獨(dú)立的表,可以認(rèn)為一維表只有列標(biāo)題,而沒(méi)有行標(biāo)題,如表1-4所示。二維表是指某些列屬性相同的表,可以認(rèn)為二維表是既有列標(biāo)題又有行標(biāo)題的表,如表1-5所示。

表1-4 一維表(各城市收入表)

表1-5 二維表(各城市收入表)

一維表與二維表可以相互轉(zhuǎn)換,二維表轉(zhuǎn)換成一維表的操作叫逆透視,一維表轉(zhuǎn)換成二維表的操作叫透視。在Excel中,將表1-4(一維表)轉(zhuǎn)換成表1-5(二維表)最快的方法是使用數(shù)據(jù)庫(kù)透視表,但是,Excel中并沒(méi)有直接提供將二維表轉(zhuǎn)換成一維表的工具和命令。如果使用Power BI中的Power Query編輯器就可以輕松地將二維表轉(zhuǎn)換成一維表,或者將一維表轉(zhuǎn)換成二維表。

一般信息系統(tǒng)中生成或存儲(chǔ)的數(shù)據(jù)表基本上是一維表,這是因?yàn)橐痪S表便于計(jì)算機(jī)讀取和運(yùn)算,缺點(diǎn)是人眼識(shí)別困難。而二維表一般用于人工填寫(xiě)和讀取,這是因?yàn)槎S表固定了行標(biāo)題和列標(biāo)題,只需要填寫(xiě)變動(dòng)的數(shù)據(jù),減了數(shù)據(jù)的重復(fù)錄入,并且易于人眼識(shí)別,便于對(duì)比分析,缺點(diǎn)就是計(jì)算機(jī)處理比較麻煩。因此,在使用Power BI分析數(shù)據(jù)時(shí),如果源數(shù)據(jù)是手動(dòng)錄入的Excel表,就可能是二維表,一般需要使用Power Query編輯器將二維表轉(zhuǎn)換成一維表。

提示:這里的一維與二維是指邏輯上的維度,不是指空間中的一維與二維,數(shù)據(jù)表在空間中都是二維的。

1.3.4 表與表之間的關(guān)系

經(jīng)常使用Excel函數(shù)的用戶對(duì)于VLOOKUP函數(shù)可能十分熟悉,VLOOKUP作為高頻查找引用函數(shù)之一,常常被用于將多張表依據(jù)某列合并為一張表。它在數(shù)據(jù)量比較小的時(shí)候十分好用,但在數(shù)據(jù)比較多的時(shí)候運(yùn)算緩慢,并且編寫(xiě)公式也相當(dāng)麻煩。但是使用Power BI可以拋棄VLOOKUP函數(shù),在Power BI中分析數(shù)據(jù)一般不需要像在Excel中那樣把多張表合并為一張表,而是通過(guò)建立表與表之間的關(guān)系將多張表聯(lián)系在一起的。

表與表之間的關(guān)系有3種,分別為一對(duì)一關(guān)系、一對(duì)多關(guān)系和多對(duì)多關(guān)系。一對(duì)一關(guān)系很容易理解,如一個(gè)人對(duì)應(yīng)一個(gè)身份證ID;一對(duì)多關(guān)系是最常用的,如表1-3所示的城市ID與訂單ID就是一對(duì)多關(guān)系,一般而言,維度表與事實(shí)表之間通常通過(guò)某列建立一對(duì)多關(guān)系,表1-2(維度表)可以通過(guò)“城市ID”列與表1-3(事實(shí)表)建立一對(duì)多關(guān)系;多對(duì)多關(guān)系相對(duì)復(fù)雜,如表1-3所示,城市ID與產(chǎn)品ID就是多對(duì)多關(guān)系,即在一個(gè)城市中銷售多種產(chǎn)品,同時(shí)一種產(chǎn)品又在多個(gè)城市銷售。

1.3.5 計(jì)值上下文

計(jì)值上下文在Power BI中無(wú)處不在,它是理解DAX語(yǔ)言的關(guān)鍵所在,只有掌握了上下文的概念,才能明白度量值的千變?nèi)f化。計(jì)值上下文就是DAX表達(dá)式所處的計(jì)算環(huán)境,同樣的表達(dá)式所處的計(jì)算環(huán)境不同,計(jì)算結(jié)果也會(huì)不同,因此要達(dá)到預(yù)期的計(jì)算結(jié)果,很多時(shí)候改變上下文即可,而不用像Excel一樣重新編寫(xiě)計(jì)算公式,這大大提高了建模分析效率。

計(jì)值上下文分為篩選上下文和行上下文。篩選上下文分布廣泛,不僅存在于篩選器、視覺(jué)對(duì)象之間和視覺(jué)對(duì)象內(nèi)部,還存在于可設(shè)置篩選條件的DAX函數(shù)中。

圖1-4展示了存在于篩選器、視覺(jué)對(duì)象之間和視覺(jué)對(duì)象內(nèi)部的篩選上下文,矩陣中的銷售收入數(shù)據(jù)均由一個(gè)度量值[銷售收入]生成,其中“”標(biāo)識(shí)處的篩選上下文共5處,分別存在于視覺(jué)對(duì)象“日期”及“省”切片器中的①和②處,“篩選器”窗口中的③處,以及矩陣視覺(jué)對(duì)象內(nèi)部自身的行列構(gòu)成的④和⑤處,表示的含義是公司南區(qū)廣東省在2017年12月23日至2019年2月8日線上自營(yíng)的T恤衫銷售收入為5100萬(wàn)元。

圖1-4 存在于篩選器、視覺(jué)對(duì)象之間和視覺(jué)對(duì)象內(nèi)部的篩選上下文

DAX表達(dá)式CALCULATE(SUM('銷售表'[銷售價(jià)格]),'客戶表'[性別]="女"),通過(guò)函數(shù)CALCULATE設(shè)置了SUM('銷售表'[銷售價(jià)格])的篩選上下文,即'客戶表'[性別]="女",因此該DAX表示式的含義是,在當(dāng)前上下文下女顧客產(chǎn)生的銷售收入。

與篩選上下文相比,行上下文存在的范圍比較小,只存在于數(shù)據(jù)視圖數(shù)據(jù)表的列中(見(jiàn)圖1-5),以及FILTER、SUMX、MAXX、MINX等迭代器函數(shù)中。如SUMX('銷售表','銷售表'[銷售價(jià)格]*'銷售表'[銷售數(shù)量]),SUMX函數(shù)首先通過(guò)'銷售表'中的行上下文計(jì)算每行[銷售價(jià)格]與[銷售數(shù)量]相乘后的銷售收入,然后將所有行的銷售收入求和。

圖1-5 存在于數(shù)據(jù)視圖中的行上下文

篩選上下文的作用是篩選,行上下文的作用是迭代,二者各司其職。但是,行上下文在一定條件下(引用度量值或使用外套CALCULATE函數(shù))可以轉(zhuǎn)換為篩選上下文,如在數(shù)據(jù)視圖下,使用“新建列”命令分別創(chuàng)建兩列(見(jiàn)圖1-6和圖1-7):

收入合計(jì)1=SUM('銷售表'[銷售收入])

收入合計(jì)2=CALCULATESUM('銷售表'[銷售收入]))

圖1-6 行上下文不參與篩選

圖1-7 行上下文轉(zhuǎn)換為篩選上下文

新建的“收入合計(jì)1”與“收入合計(jì)2”這兩列的結(jié)果并不相同,這是因?yàn)椤笆杖牒嫌?jì)1”列不存在篩選上下文,而行上下文并不參與篩選,所以計(jì)算結(jié)果就是所有行的銷售收入金額合計(jì),而“收入合計(jì)2”列外套CALCULATE函數(shù),使當(dāng)前行的行上下文轉(zhuǎn)換成篩選上下文,結(jié)果導(dǎo)致“收入合計(jì)2”列的每行的計(jì)算結(jié)果就是當(dāng)前行的銷售收入金額。

主站蜘蛛池模板: 吴江市| 绩溪县| 昭觉县| 彭泽县| 盐城市| 开江县| 桂平市| 迁西县| 西畴县| 长沙县| 忻城县| 南岸区| 雷州市| 宜兰县| 勃利县| 阳泉市| 康乐县| 大新县| 清水河县| 敖汉旗| 于田县| 井研县| 静安区| 富阳市| 洛川县| 郴州市| 万荣县| 威宁| 大邑县| 县级市| 瑞昌市| 海门市| 安阳县| 本溪市| 廊坊市| 兴和县| 连山| 廊坊市| 凤山市| 富源县| 西充县|