表構造
在Power BI中泥张,構造表的方式非常多樣,每一種方式都有其特定的應用場景和步驟嗦枢。
-
從外部數(shù)據(jù)源導入數(shù)據(jù)創(chuàng)建表
-
步驟:
- 打開Power BI Desktop朗伶,點擊左側“獲取數(shù)據(jù)”按鈕。
- 在彈出的對話框中選擇數(shù)據(jù)源類型(如Excel昨稼、CSV节视、SQL Server等)。
- 連接到數(shù)據(jù)源后假栓,選擇需要導入的表或數(shù)據(jù)寻行。
- 點擊“加載”或“編輯查詢”后加載數(shù)據(jù)到Power BI數(shù)據(jù)模型中。
原理:
Power BI Desktop通過連接器與各種數(shù)據(jù)源進行通信匾荆,將外部數(shù)據(jù)加載到數(shù)據(jù)模型中拌蜘,形成可分析的數(shù)據(jù)表。舉例:
假設有一個Excel文件包含銷售數(shù)據(jù)棋凳,通過“獲取數(shù)據(jù)”選擇Excel數(shù)據(jù)源拦坠,然后選擇該Excel文件中的銷售數(shù)據(jù)表连躏,即可將其導入到Power BI中進行分析剩岳。
-
-
使用DAX查詢創(chuàng)建計算表
-
步驟:
- 在Power BI Desktop的“字段”窗格中,右鍵點擊“新建表”入热。
- 在打開的DAX編輯器中輸入計算表的DAX公式拍棕。
- 點擊“確定”或“完成”創(chuàng)建計算表晓铆。
原理:
DAX(Data Analysis Expressions)是Power BI中用于定義計算列、計算表和度量值的公式語言绰播。通過DAX公式骄噪,用戶可以根據(jù)已加載到數(shù)據(jù)模型中的數(shù)據(jù)創(chuàng)建新的表。舉例:
假設有一個包含銷售數(shù)據(jù)的表蠢箩,想要創(chuàng)建一個只包含總銷售額超過100萬的客戶的新表链蕊。可以使用DAX中的FILTER
和SUMMARIZE
函數(shù)創(chuàng)建一個新的計算表谬泌,該表只包含滿足條件的客戶滔韵。
-
- 在DAX中創(chuàng)建計算表時,有多種函數(shù)和方法可供選擇掌实。以下是使用DAX創(chuàng)建計算表的一些常用函數(shù)和步驟陪蜻,按照清晰的結構進行分點和歸納:
1. 使用EVALUATE函數(shù)
- 原理:EVALUATE函數(shù)用于創(chuàng)建一個基于DAX表達式的表格,并返回該表格的計算結果贱鼻。
- 步驟:
- 確定要計算的表達式宴卖。
- 使用EVALUATE函數(shù)包裹該表達式。
- 在Power BI的DAX編輯器中輸入并運行該公式邻悬。
2. 使用ROW函數(shù)
- 原理:ROW函數(shù)用于創(chuàng)建包含指定列值的表格症昏。它可以用于指定行的數(shù)量、排序和篩選條件父丰。
- 步驟:
- 確定要包含在表格中的列及其值齿兔。
- 使用ROW函數(shù),并指定列名和對應的值础米。
- 在DAX編輯器中編寫并運行公式分苇。
3. 使用VALUES函數(shù)
- 原理:VALUES函數(shù)返回指定列中所有唯一值的表格。
- 步驟:
- 選擇要提取唯一值的列屁桑。
- 使用VALUES函數(shù)并指定該列医寿。
- 在DAX編輯器中編寫并運行公式。
4. 使用CROSSJOIN函數(shù)
- 原理:CROSSJOIN函數(shù)返回兩個或多個表格之間的笛卡爾積蘑斧,即所有可能的組合靖秩。
- 步驟:
- 確定要組合的兩個或多個表格。
- 使用CROSSJOIN函數(shù)竖瘾,并指定這些表格沟突。
- 編寫并運行DAX公式,獲取組合后的新表格捕传。
5. 使用SUMMARIZE函數(shù)
- 原理:SUMMARIZE函數(shù)根據(jù)指定的列對表格進行分組惠拭,并生成一個包含聚合計算結果的表格。
- 步驟:
- 確定要分組的列和要聚合的列。
- 使用SUMMARIZE函數(shù)职辅,并指定分組列和聚合列及其聚合函數(shù)(如SUM棒呛、AVERAGE等)。
- 在DAX編輯器中編寫并運行公式域携。
6. 使用UNION函數(shù)
- 原理:UNION函數(shù)用于將兩個或多個具有相同結構的表格合并成一個表格簇秒。
- 步驟:
- 確保要合并的表格具有相同的列結構和數(shù)據(jù)類型。
- 使用UNION函數(shù)秀鞭,并指定這些表格趋观。
- 編寫并運行DAX公式,獲取合并后的新表格锋边。
7. 使用DATATABLE函數(shù)
- 原理:DATATABLE函數(shù)用于創(chuàng)建具有指定列和行的新表格拆内。
- 步驟:
- 確定新表格的列名、數(shù)據(jù)類型和初始值宠默。
- 使用DATATABLE函數(shù)麸恍,并指定這些信息。
- 編寫并運行DAX公式搀矫,創(chuàng)建新表格抹沪。
8. 使用其他DAX函數(shù)和表達式
- 除了上述函數(shù)外,還可以結合其他DAX函數(shù)和表達式來創(chuàng)建更復雜的計算表瓤球。例如融欧,可以使用CALCULATE、FILTER等函數(shù)來添加額外的篩選和計算邏輯卦羡。
- 當使用DAX來創(chuàng)建計算表時噪馏,
CALCULATE
和FILTER
函數(shù)是非常有用的,因為它們允許你添加復雜的篩選和計算邏輯绿饵。以下是如何使用這些函數(shù)來構造計算表的示例:使用
CALCULATE
函數(shù)CALCULATE
函數(shù)允許你改變上下文中的篩選條件欠肾,從而改變聚合函數(shù)(如SUM
、AVERAGE
等)的行為拟赊。- 示例:假設你有一個名為
Sales
的表刺桃,其中包含Region
、Product
和SalesAmount
列吸祟。你想要計算除北美以外所有區(qū)域的銷售額總和瑟慈。
Non_North_America_Sales =
CALCULATE(
SUM(Sales[SalesAmount]),
FILTER(Sales, Sales[Region] <> "North America")
)
- 但是,請注意屋匕,上面的公式實際上返回的是一個單一的聚合值葛碧,而不是一個表。為了返回一個表过吻,你可以結合使用
SUMMARIZE
和CALCULATE
进泼。- 示例:按產(chǎn)品計算除北美以外所有區(qū)域的銷售額。
Non_North_America_Sales_By_Product =
SUMMARIZE(
FILTER(Sales, Sales[Region] <> "North America"),
Sales[Product],
"Total Sales", CALCULATE(SUM(Sales[SalesAmount]), Sales[Region] <> "North America")
)
使用
FILTER
函數(shù)FILTER
函數(shù)用于根據(jù)指定的條件篩選表中的行。它返回一個表缘琅,其中包含滿足條件的行粘都。- 示例:假設你只想查看銷售額超過1000的產(chǎn)品廓推。
High_Sales_Products =
FILTER(
Sales,
Sales[SalesAmount] > 1000
)
- 但是刷袍,這同樣只返回了一個篩選后的表,而不是一個帶有聚合的表樊展。你可以再次結合
SUMMARIZE
或其他DAX函數(shù)來使用呻纹。結合使用
CALCULATE
和FILTER
- 通常,你會將
CALCULATE
和FILTER
結合使用专缠,以便在更復雜的上下文中進行聚合和篩選雷酪。- 示例:按產(chǎn)品計算每個區(qū)域中銷售額超過1000的產(chǎn)品的總銷售額。
Sales_Over_1000_By_Region_Product =
SUMMARIZE(
FILTER(Sales, Sales[SalesAmount] > 1000),
Sales[Region],
Sales[Product],
"Total Sales", SUM(Sales[SalesAmount])
)
- 在這個例子中涝婉,我們首先使用
FILTER
函數(shù)篩選出銷售額超過1000的行哥力,然后使用SUMMARIZE
函數(shù)按區(qū)域和產(chǎn)品對這些行進行分組,并計算每個組的總銷售額墩弯。
- 注意:在創(chuàng)建計算表時吩跋,請確保公式正確無誤,并且與你的數(shù)據(jù)源和模型結構相匹配渔工。此外锌钮,考慮到計算表可能會增加模型的復雜性和計算負擔,因此請謹慎使用引矩,并根據(jù)需要進行優(yōu)化梁丘。
-
通過新建列、新建表等方式在數(shù)據(jù)模型中創(chuàng)建分析數(shù)據(jù)
-
步驟:
- 在Power BI Desktop的“字段”窗格中旺韭,選擇現(xiàn)有的數(shù)據(jù)表氛谜。
- 在數(shù)據(jù)表視圖或數(shù)據(jù)模型視圖中,右鍵點擊選擇“新建列”或“新建表”区端。
- 在彈出的對話框或DAX編輯器中輸入相應的公式或數(shù)據(jù)混蔼。
原理:
在數(shù)據(jù)模型中直接創(chuàng)建新的列或表,可以基于現(xiàn)有數(shù)據(jù)進行擴展或轉換珊燎,以滿足特定的分析需求惭嚣。舉例:
假設有一個包含銷售日期的表,但日期是以“YYYYMMDD”格式存儲的悔政⊥硗蹋可以通過在該表上新建一列,并使用DAX中的DATE
函數(shù)將字符串轉換為真正的日期類型谋国,以便于后續(xù)的日期分析和可視化槽地。
-
-
利用數(shù)據(jù)建模功能創(chuàng)建關系
-
步驟:
- 在Power BI Desktop的“模型”視圖中,查看已加載的數(shù)據(jù)表。
- 拖動一個表中的字段到另一個表中的相關字段上捌蚊,以創(chuàng)建關系集畅。
- 也可以點擊“管理關系”按鈕,在彈出的對話框中手動創(chuàng)建或編輯關系缅糟。
原理:
在Power BI中挺智,各個表之間需要建立關系以形成完整的數(shù)據(jù)模型。關系定義了表之間的連接方式和數(shù)據(jù)流動方向窗宦,使得在進行分析時可以跨表引用數(shù)據(jù)赦颇。舉例:
假設有一個銷售表和一個產(chǎn)品表,它們之間通過產(chǎn)品ID字段關聯(lián)赴涵∶角樱可以在“模型”視圖中將銷售表中的“產(chǎn)品ID”字段拖動到產(chǎn)品表中的“產(chǎn)品ID”字段上,以創(chuàng)建它們之間的關系髓窜。這樣扇苞,在分析銷售數(shù)據(jù)時就可以引用產(chǎn)品表中的產(chǎn)品名稱、價格等信息了寄纵。
-
-
使用計算列和計算組
計算列
步驟:
- 在Power BI Desktop中鳖敷,打開你的數(shù)據(jù)模型,并選擇你想要添加計算列的表擂啥。
- 在表的視圖中哄陶,點擊“添加自定義列”按鈕(通常位于表的頂部或底部)。
- 在打開的DAX公式欄中哺壶,輸入你的DAX公式來定義新列的值屋吨。
- 點擊“Enter”鍵或點擊公式欄旁邊的“√”圖標來確認并創(chuàng)建新的計算列。
原理:
計算列是基于DAX(Data Analysis Expressions)公式在現(xiàn)有數(shù)據(jù)表中創(chuàng)建的新列山宾。這些列的值是動態(tài)計算的至扰,并隨著基礎數(shù)據(jù)的變化而更新。計算列提供了一種擴展數(shù)據(jù)模型的方式资锰,使得你可以在現(xiàn)有數(shù)據(jù)的基礎上創(chuàng)建新的維度或度量值敢课。
舉例:
假設你有一個包含銷售數(shù)據(jù)的表,其中有一個“銷售額”列和一個“折扣率”列绷杜。你可以創(chuàng)建一個計算列來顯示“實際銷售額”直秆,即“銷售額”減去折扣后的金額。在DAX公式欄中鞭盟,你可以輸入如下公式來定義這個計算列:實際銷售額 = [銷售額] * (1 - [折扣率])
圾结。
計算組
說明:
雖然Power BI本身并沒有直接命名為“計算組”的功能,但你可能指的是一種概念上的集合齿诉,即將多個相關的計算列和度量值組合在一起筝野,以便在報表或數(shù)據(jù)模型中更容易地引用和管理它們晌姚。在Power BI中,你可以通過創(chuàng)建文件夾或使用分組功能來組織和管理這些計算列和度量值歇竟。
步驟(以創(chuàng)建文件夾為例):
- 在Power BI Desktop的“字段”窗格中挥唠,右鍵點擊你想要添加文件夾的位置。
- 選擇“新建文件夾”來創(chuàng)建一個新的文件夾焕议。
- 將相關的計算列和度量值拖動到該文件夾中宝磨。
原理:
通過創(chuàng)建文件夾或使用分組功能,你可以將數(shù)據(jù)模型中的計算列和度量值組織成更有邏輯和層次的結構号坡。這使得在創(chuàng)建報表或進行數(shù)據(jù)分析時更容易找到和引用這些計算列和度量值懊烤。
-
使用復合模型和用戶定義的聚合
復合模型
步驟:
- 在Power BI Desktop中梯醒,通過“獲取數(shù)據(jù)”功能導入你的主要數(shù)據(jù)源宽堆。
- 導入其他數(shù)據(jù)源作為相關表或模型的一部分。
- 在“關系”視圖中茸习,創(chuàng)建或管理表之間的關系畜隶,確保數(shù)據(jù)能夠正確地跨多個數(shù)據(jù)源流動。
原理:
復合模型允許你在Power BI中整合來自不同數(shù)據(jù)源的數(shù)據(jù)号胚。這些數(shù)據(jù)源可以是不同的數(shù)據(jù)庫籽慢、文件或其他類型的數(shù)據(jù)存儲。通過創(chuàng)建關系猫胁,你可以將來自不同數(shù)據(jù)源的數(shù)據(jù)表連接在一起箱亿,形成一個統(tǒng)一的數(shù)據(jù)模型。這使得你可以在單個Power BI報表中分析來自多個數(shù)據(jù)源的數(shù)據(jù)弃秆。
舉例:
假設你有兩個數(shù)據(jù)源:一個是銷售數(shù)據(jù)庫届惋,包含銷售數(shù)據(jù);另一個是庫存數(shù)據(jù)庫菠赚,包含庫存信息脑豹。你可以使用復合模型將這兩個數(shù)據(jù)源整合在一起,并通過創(chuàng)建關系來連接銷售表和庫存表衡查。這樣瘩欺,你就可以在同一個報表中分析銷售數(shù)據(jù)和庫存數(shù)據(jù)了。
用戶定義的聚合
說明:
在Power BI中拌牲,雖然沒有直接命名為“用戶定義的聚合”的功能俱饿,但你可以通過創(chuàng)建自定義的度量值來實現(xiàn)類似的功能。度量值是基于DAX公式定義的塌忽,可以用于對數(shù)據(jù)進行聚合和計算拍埠。
步驟:
- 在Power BI Desktop的“字段”窗格中,選擇你想要添加度量值的表或模型砚婆。
- 點擊“新建度量值”按鈕(通常位于表的頂部或底部)械拍。
- 在打開的DAX公式欄中突勇,輸入你的DAX公式來定義度量值。
- 點擊“Enter”鍵或點擊公式欄旁邊的“√”圖標來確認并創(chuàng)建新的度量值坷虑。
原理:
通過創(chuàng)建自定義的度量值甲馋,你可以定義自己的聚合函數(shù)和計算邏輯。這些度量值可以基于單個表的數(shù)據(jù)迄损,也可以跨多個表進行計算定躏。它們提供了一種靈活的方式來滿足特定的分析需求,并可以根據(jù)你的業(yè)務邏輯進行定制芹敌。