日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Power BI入門教程

 鄭學(xué)甫360 2019-05-31

題記:這篇文章不僅是Power BI的入門教程,同時(shí)相對(duì)于Qlik Sense進(jìn)行了簡(jiǎn)單比較。

最近把一個(gè)Qlik Sense的示例應(yīng)用手動(dòng)轉(zhuǎn)成了Power BI的應(yīng)用,把相關(guān)步驟和遇到的問題記錄如下,權(quán)當(dāng)作一個(gè)入門教程。

1,準(zhǔn)備原始數(shù)據(jù)

由于Qlik Sense的示例應(yīng)用只有一個(gè)單獨(dú)的qvf文件,那么原始數(shù)據(jù)只有通過qvf來導(dǎo)出。此qvf中的數(shù)據(jù)模型如下圖所示:

image

Qlik Sense并沒有提供數(shù)據(jù)模型包含數(shù)據(jù)的完整導(dǎo)出功能,所以只能采用最麻煩和原始的方式,即:創(chuàng)建表格,在表格中添加某個(gè)數(shù)據(jù)表的所有字段,然后再利用可視化對(duì)象的導(dǎo)出功能導(dǎo)出數(shù)據(jù)為xlsx文件。通過這種方式,把所有表都導(dǎo)出。注:但在實(shí)際操作當(dāng)中,未必所有表都導(dǎo)出,因?yàn)橛行┍砜梢栽赑ower BI中生成(比如日期表DateParts),有些表在Power BI中也用不到(比如月份順序表Month Sort Order)。

當(dāng)然,如果你拿得到原始數(shù)據(jù)的文件或者數(shù)據(jù)庫,那么就可以跳過這一步。

2,加載數(shù)據(jù)

這步比較簡(jiǎn)單,在Power BI中新建一個(gè)文檔,通過“獲取數(shù)據(jù)”-“Excel”來選擇需要導(dǎo)入的xlsx文件。

image

選擇文件之后,會(huì)顯示“導(dǎo)航器”對(duì)話框。在這里選擇需要導(dǎo)入的工作表(可以選擇多個(gè))。選擇工作表之后,可以直接點(diǎn)“加載”,也可以點(diǎn)“編輯”來打開“查詢編輯器”修改ETL腳本(當(dāng)然在加載之后還是可以重新編輯腳本)。如果直接點(diǎn)“加載”之后,Power BI就會(huì)把選擇的工作表中的數(shù)據(jù)加載進(jìn)來,這個(gè)時(shí)候就可以在“數(shù)據(jù)”視圖中預(yù)覽其中的數(shù)據(jù),右側(cè)的“字段”邊欄也會(huì)顯示表及其包含的字段:

image

這個(gè)時(shí)候,你會(huì)發(fā)現(xiàn)表名稱是xlsx文件中默認(rèn)的Sheet1,修改表名稱的最簡(jiǎn)單方式就是,在表名稱上點(diǎn)右鍵選擇“重命名”。另外,有些xlsx文件導(dǎo)入之后,數(shù)據(jù)可能會(huì)出現(xiàn)下面這種沒有正常識(shí)別列名稱的問題,這個(gè)時(shí)候就需要用到“查詢編輯器”中的“提升的標(biāo)題”(把第一行數(shù)據(jù)當(dāng)作標(biāo)題/列名)的功能:

image

“查詢編輯器”是一個(gè)強(qiáng)大的UI操作界面,幫你自動(dòng)生成Power Query的M語言腳本,可以通過“高級(jí)編輯器”來查看每個(gè)表的Power Query腳本。而Power Query的第一步就是通過“源”和“導(dǎo)航”腳本來實(shí)現(xiàn)Extract-Load的步驟。對(duì)于Power BI而言,Extract-Load可以實(shí)現(xiàn)的能力有:

  • 從各類數(shù)據(jù)源中提取數(shù)據(jù):各類文件、各類數(shù)據(jù)庫、各類Azure的PaaS、各類聯(lián)機(jī)服務(wù)和其他數(shù)據(jù)源(比如R腳本)
  • 對(duì)數(shù)據(jù)源的配置進(jìn)行設(shè)置
  • 直接錄入數(shù)據(jù)

3,轉(zhuǎn)換和塑造數(shù)據(jù)

在加載數(shù)據(jù)的過程中或者之后,還可以繼續(xù)利用“查詢編輯器”來對(duì)加載的數(shù)據(jù)進(jìn)行轉(zhuǎn)換和塑造(即Transform)。所謂轉(zhuǎn)換和塑造就是利用Power Query的M語言腳本來對(duì)數(shù)據(jù)的加載過程,進(jìn)行額外處理。我大致把這個(gè)過程中Power BI能提供的能力整理了一下:

  • 通用
    • 列的管理:選擇列、刪除列
    • 行的管理:保留行(前后、間隔、重復(fù)、錯(cuò)誤)、刪除行
    • 排序:基于一個(gè)列或多個(gè)列進(jìn)行升降序
    • 合并數(shù)據(jù):可以是合并數(shù)據(jù)(兩個(gè)表提供不同的列),也可以是追加數(shù)據(jù)(兩個(gè)表提供不同的行)
  • 轉(zhuǎn)換
    • 表數(shù)據(jù)管理:對(duì)原始數(shù)據(jù)進(jìn)行分組、提升第一行作為標(biāo)題、行列顛倒、首尾行調(diào)換、對(duì)數(shù)據(jù)行計(jì)數(shù)
    • 所有列的處理:重命名列名、數(shù)據(jù)類型的自動(dòng)檢測(cè)和手動(dòng)修改、替換值、填充單元格(上下兩個(gè)方向皆可)、透視列(正逆兩個(gè)方向)、轉(zhuǎn)換為列表(列表轉(zhuǎn)回列)
    • 文本列的處理:拆分(分隔符、字符數(shù))、格式化(大小寫、首字母大寫、修整Trim、清除非打印字符、添加前后綴)、合并、提?。ㄗ址L(zhǎng)度、首子字符串、尾子字符串、選定范圍子字符串)、分析(從xml和json字符串中提取出數(shù)據(jù))
    • 數(shù)值列的處理:聚合運(yùn)算(求和、最大最小、中值、平均值、標(biāo)準(zhǔn)偏差、值計(jì)數(shù)、非重復(fù)計(jì)數(shù))、標(biāo)準(zhǔn)運(yùn)算(四則、整除、取模、除得百分比、乘得百分比)、科學(xué)運(yùn)算(求絕對(duì)值、求冪、求指數(shù)、求對(duì)數(shù)、求階乘)、三角函數(shù)運(yùn)算、舍入(向上向下、自定義)、特征(奇偶、符號(hào))
    • 時(shí)間列的處理:日期的處理、時(shí)間的處理、持續(xù)時(shí)間的處理
    • 結(jié)構(gòu)化列的處理:擴(kuò)展、聚合
  • 添加計(jì)算列
    • 常規(guī):基于公式計(jì)算、基于自定義公式計(jì)算、基于條件判斷計(jì)算、添加索引列、復(fù)制列
    • 基于文本列添加:格式化后、合并后、提取后、分析后
    • 基于數(shù)值列添加:聚合運(yùn)算后、標(biāo)準(zhǔn)運(yùn)算后、科學(xué)運(yùn)算后、三角函數(shù)運(yùn)算后、舍入后、提取特征后
    • 基于時(shí)間列添加:日期處理后、時(shí)間處理后、持續(xù)時(shí)間處理后

從上面整理的內(nèi)容來看,Power BI由于沿用了SQL Server和Excel中已經(jīng)存在的Power Query,所以它的ETL功能還是非常強(qiáng)大的,并且?guī)缀醪挥媚闶謩?dòng)編寫ETL腳本即可完成復(fù)雜的ETL工作。

想對(duì)Power Query的功能有詳細(xì)了解的,建議查看Excel的文檔:https://support./zh-cn/article/%E8%8E%B7%E5%8F%96%E5%92%8C%E8%BD%AC%E6%8D%A2%E5%9C%A8-Excel-2016-%E4%B8%AD-881c63c6-37c5-4ca2-b616-59e18d75b4de?ui=zh-CN&rs=zh-CN&ad=CN

4,建模數(shù)據(jù)

在完成數(shù)據(jù)的ETL之后,需要的步驟就是對(duì)數(shù)據(jù)進(jìn)行建模。一般而言,在導(dǎo)入數(shù)據(jù)之后,Power BI會(huì)根據(jù)字段的名稱自動(dòng)推斷出表之間的關(guān)系的。比如下圖就是導(dǎo)入示例數(shù)據(jù)之后自動(dòng)構(gòu)建的關(guān)系圖:

image

建模的工作和ETL的工作是兩個(gè)不同的步驟,雖然有些功能達(dá)到的效果是一樣,但是背后實(shí)現(xiàn)的機(jī)理是不一樣的。最明顯的一個(gè)地方就是數(shù)據(jù)類型的修改,在查詢編輯器中對(duì)數(shù)據(jù)類型進(jìn)行修改會(huì)替換或產(chǎn)生新的ETL腳本,而在數(shù)據(jù)視圖中修改數(shù)據(jù)類型不會(huì)影響ETL腳本。

Power BI支持的建模能力整理如下:

  • 管理關(guān)系:可以通過關(guān)系視圖來可視化的拖動(dòng)連線,也可以通過“管理關(guān)系”對(duì)話框?yàn)g覽、新建、自動(dòng)檢測(cè)、編輯和刪除關(guān)系 。
  • 關(guān)系:關(guān)系支持1:1、1:N、N:1,關(guān)系篩選支持單向和雙向 。
  • 公式計(jì)算:添加基于DAX表達(dá)式計(jì)算得到的度量值(度量值默認(rèn)放到當(dāng)前選中的表當(dāng)中,也可以歸到其他表中),添加基于DAX表達(dá)式計(jì)算得到的計(jì)算列,添加基于DAX表達(dá)式計(jì)算得到的表 。
  • 排序:選擇排序的列 。
  • 格式設(shè)置:可以設(shè)置列的數(shù)據(jù)類型(小數(shù)、定點(diǎn)十進(jìn)制數(shù)、整數(shù)、日期/時(shí)間、日期、時(shí)間、文本、布爾值、二進(jìn)制),顯示格式(各種貨幣格式、時(shí)間格式、百分比、小數(shù)位數(shù)、科學(xué)計(jì)數(shù)等) 。
  • 屬性設(shè)置:所屬表(可以為度量值設(shè)置歸屬的表),數(shù)據(jù)分類(設(shè)置值的顯示特征,比如地址、Url、條碼,可以方便讓可視化控件更好的處理內(nèi)容),默認(rèn)聚合方式(要不要求和等) 。
  • 安全性:基于DAX表達(dá)式來設(shè)定什么角色可以查看什么數(shù)據(jù),非常靈活的行級(jí)訪問控制機(jī)制 。
  • 分組:這是什么鬼,我也還沒有搞懂。 有知道的朋友希望不吝賜教。

在建模的過程中,尤其和公式計(jì)算相關(guān)的東西都涉及到數(shù)據(jù)分析表達(dá)式(Data Analysis Expressions,DAX)的使用,詳細(xì)的說明可以參考MSDN官方文檔:https://msdn.microsoft.com/library/gg413422.aspx

(updated 2016.12.20)更完整的文檔在這里:https://msdn.microsoft.com/en-us/library/mt244090.aspx

對(duì)于我的這個(gè)示例,我實(shí)際用到了如下幾種建模能力:

  • 日期數(shù)據(jù)的格式改變:把長(zhǎng)格式的日期字符串修改為短的 。
  • 各種度量值的建立:我的度量值主要涉及一些求和、求平均、計(jì)數(shù)、變化率等。為了更好的管理度量值,我特意新建了一個(gè)名為DetialsMeaured的表,公式為:DetailsMesured = ALL(Details[EpisodeID]),然后把建立的各種度量值歸到這個(gè)表當(dāng)中 。
  • 百分比值的格式化:求變化率的度量值,可以把顯示格式設(shè)置為百分比,那么在內(nèi)置可視化控件中就直接顯示為百分比,無需額外設(shè)置或者乘100(我使用了一個(gè)第三方控件,其無法識(shí)別百分比格式,只能在度量值上乘100) 。
  • 建立層級(jí)結(jié)構(gòu):為了支持?jǐn)?shù)據(jù)的下鉆顯示,那么需要建立數(shù)據(jù)的層次結(jié)構(gòu),比如財(cái)年包含月份。要建立層次結(jié)構(gòu)很簡(jiǎn)單,直接把一個(gè)字段拖動(dòng)到另外一個(gè)字段下面Power BI就會(huì)自動(dòng)創(chuàng)建一個(gè)新的層次結(jié)構(gòu)列(包含了你剛剛操作的兩個(gè)字段),接著可以繼續(xù)拖入其他列到這個(gè)層次結(jié)構(gòu)列下面,還可以拖動(dòng)來進(jìn)行排序。
  • 建立日期表:很多分析都是和時(shí)間相關(guān)的,那么就需要有一張獨(dú)立的日期表來為維度提供數(shù)據(jù)(包括年、財(cái)年、季度、月、日、天等)。原來的qvf中也存在這一個(gè)日期表,也是依靠腳本生成的,對(duì)于Power BI而言同樣也可以通過腳本來生成一個(gè)日期表。生成日期表的腳本如下:
DateKey = ADDCOLUMNS(
CALENDAR(FIRSTDATE(Details[EpisodeAdmissionDate]),LASTDATE(Details[EpisodeAdmissionDate])),
"DateAsInt",FORMAT([Date],"YYYYMMDD"),
"Year",YEAR([Date]),
"Quarter",VALUE(FORMAT([Date],"Q")),
"YearQuarter",FORMAT ( [Date],"YYYY" ) & "/Q" & FORMAT ( [Date],"Q" ),
"Month",MONTH([Date]),
"MonthName",FORMAT([Date],"mmm"),
"Day",DAY([Date]),
"WeekNum",WEEKNUM([Date]),
"WeekDay",WEEKDAY([Date]),
"WeekDayName",FORMAT([Date],"ddd"),
"Fiscal Year",IF(MONTH([Date])>3,YEAR([Date]) +1,YEAR([Date])),
"Fiscal Year Name",IF(MONTH([Date])>3,YEAR([Date]) & "-" & (YEAR([Date]) + 1),(YEAR([Date]) - 1) & "-" & YEAR([Date]))
)

把日期表添加到模型中后,就可以手動(dòng)把日期表的Date字段和Details表中的EpisodeAdmissionDate字段建立其關(guān)系。最終的模型圖如下:

image

日期表創(chuàng)建的更多詳細(xì)介紹,可以參考這個(gè)博客文章:http:///blog/business-intelligence/how-to-create-a-date-table-in-power-bi-in-2-simple-steps/

5,可視化顯示數(shù)據(jù)

通過可視化控件來顯示數(shù)據(jù)沒有太多可以說的。Power BI的官方文檔已經(jīng)寫的比較好了,見:https://powerbi.microsoft.com/zh-cn/documentation/powerbi-desktop-report-view/

無非就是把一個(gè)可視化控件拖到報(bào)表頁面上,然后把所需的維度和度量拖到可視化控件中的數(shù)據(jù)標(biāo)簽頁中的“軸”/“圖例”或者“值”下面,如下圖所示:

image

數(shù)據(jù)建模的時(shí)候提到過下鉆顯示。下鉆顯示有兩種方式:一種使用層級(jí)結(jié)構(gòu)列,一種不使用。

簡(jiǎn)單說來,對(duì)于使用層級(jí)結(jié)構(gòu)的方式,就是先建立一個(gè)層級(jí)結(jié)構(gòu)列,然后把這個(gè)列拖到“軸”下面,可視化控件就會(huì)在上面的操作欄顯示用于下鉆數(shù)據(jù)的特定按鈕。如下圖所示:

image

對(duì)于第二種下鉆顯示方式,我沒有采用,詳細(xì)的說明可以見:https://powerbi.microsoft.com/zh-cn/documentation/powerbi-service-drill-down-in-a-visualization/。

為可視化控件準(zhǔn)備好數(shù)據(jù)之后,還可以通過“格式”設(shè)置標(biāo)簽頁(即刷子狀圖標(biāo))來設(shè)置一些顯示格式,比如標(biāo)題,字體,顏色什么的。

當(dāng)數(shù)據(jù)添加到可視化控件之后,這些字段還會(huì)自動(dòng)添加到視覺級(jí)別篩選器,除此之外,你還可以額外把字段添加到頁面級(jí)篩選器和報(bào)告級(jí)篩選器中。這些篩選器的作用范圍望文生義應(yīng)該可以理解。

不過需要注意的是,篩選器在公開發(fā)布到Web后并不可見,所以你還可以單獨(dú)在報(bào)表頁面上添加所需的切片器。切片器的數(shù)據(jù)設(shè)置方式和其他可視化控件類似。

6,和Qlik Sense的比較

粗略的比較下來(個(gè)人觀點(diǎn)):

  1. ETL能力由于背靠SQL Server分析服務(wù)的相關(guān)技術(shù),所以可以做到和Qlik相當(dāng),尤其幾乎可以不用手寫腳本。
  2. 建模能力和Qlik相當(dāng),只是操作體驗(yàn)上會(huì)差一些。
  3. 可視化能力比Qlik就差很多,不管是內(nèi)置的可視化控件還是第三方擴(kuò)展的控件都是如此。
  4. 前端操作(也即最終用戶使用BI應(yīng)用)的體驗(yàn)也比Qlik差。
  5. 擴(kuò)展和集成能力也由于Power BI的定位決定了沒有Qlik靈活。
  6. 最大的優(yōu)勢(shì)是入門的許可費(fèi)用低廉(如果愿意使用SaaS的話)。
  7. 一大特色是具備人工智能輔助的快速見解能力。

Power BI在可視化能力方面確實(shí)需要進(jìn)一步加強(qiáng),比如我就遇到如下幾個(gè)問題:

  • 排序只能基于當(dāng)前使用的維度,不能自定義排序
  • 堆積面積圖圖例不能下鉆
  • 沒有豎條儀表圖
  • 餅圖不能合并為Other
  • 表格不支持下鉆
  • (updated 2016.12.20)貨幣格式的數(shù)值不能顯示負(fù)數(shù)

最后不得不吐槽下,Power BI的文檔用機(jī)器翻譯就算了,感覺Power BI Desktop的中文版也是機(jī)器翻譯的。還不如我來翻譯算了(作為MVP可以免費(fèi)做貢獻(xiàn))。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多