????本節(jié)課,我們繼續(xù)來講解數(shù)據(jù)透視表的功能帘饶,在數(shù)據(jù)透視表中計(jì)算值。在數(shù)據(jù)透視表中群扶,可在值字段中使用匯總函數(shù)合并基礎(chǔ)源數(shù)據(jù)中的值及刻。如果匯總函數(shù)和自定義計(jì)算無法提供所需結(jié)果,可在計(jì)算字段和計(jì)算項(xiàng)中創(chuàng)建自己的公式竞阐。例如缴饭,可為計(jì)算項(xiàng)添加計(jì)算銷售傭金的公式,銷售傭金在每個(gè)地區(qū)可能有所不同骆莹。然后颗搂,數(shù)據(jù)透視表自動(dòng)將傭金包含在分類匯總和總計(jì)中。
????計(jì)算的另一種方法是在 Power Pivot 中使用度量值幕垦,使用 數(shù)據(jù)分析表達(dá)式(DAX) 公式創(chuàng)建該度量值丢氢。數(shù)據(jù)透視表提供了一些計(jì)算數(shù)據(jù)的方法。
可用計(jì)算方法
要在數(shù)據(jù)透視表中計(jì)算值先改,可使用以下任一或所有類型的計(jì)算方法:
值字段中的匯總函數(shù)? ? 值區(qū)域中的數(shù)據(jù)可將數(shù)據(jù)透視表的中基礎(chǔ)源數(shù)據(jù)匯總疚察。 例如,下列源數(shù)據(jù):
生成以下數(shù)據(jù)透視表和數(shù)據(jù)透視圖仇奶。 如果通過數(shù)據(jù)透視表中的數(shù)據(jù)創(chuàng)建數(shù)據(jù)透視圖貌嫡,則該數(shù)據(jù)透視圖中的值會(huì)反映關(guān)聯(lián)的數(shù)據(jù)透視表中的計(jì)算。
????在數(shù)據(jù)透視表中该溯,“月份”列字段提供的項(xiàng)為“三月”和“四月”岛抄。“地區(qū)”行字段提供的項(xiàng)為“北部”狈茉、“南部”弦撩、“東部”和“西部”÷劢裕“四月”列和“北部”行交叉處的值為來自源數(shù)據(jù)的記錄中的總銷售收入(“月份”值為“四月”,“地區(qū)”值為“北部”)。
????在數(shù)據(jù)透視圖中点晴,“地區(qū)”字段可能是一個(gè)分類字段感凤,將“北部”、“南部”粒督、“東部”和“西部”顯示為類別陪竿。“月份”字段可以是一個(gè)系列字段屠橄,將“三月”族跛、“四月”和“五月”作為系列顯示在圖例中。名為“銷售總額”的“值”字段可包含數(shù)據(jù)標(biāo)記锐墙,用于顯示各地區(qū)的每月總收入礁哄。例如,一個(gè)數(shù)據(jù)標(biāo)記可通過其在縱軸(值)上的位置表示“北部”地區(qū)“四月”的銷售總額溪北。
????要計(jì)算值字段桐绒,可所有類型的源數(shù)據(jù)(聯(lián)機(jī)分析處理 (OLAP) 源數(shù)據(jù)除外)使用以下匯總函數(shù)。如:Sum之拨,值的總和茉继。這是用于數(shù)值數(shù)據(jù)的默認(rèn)函數(shù)。Count蚀乔,數(shù)據(jù)值的數(shù)量烁竭。Count 匯總函數(shù)的作用與 COUNTA 函數(shù)相同。Count 是數(shù)字以外數(shù)據(jù)的默認(rèn)函數(shù)吉挣。等
????自定義計(jì)算 自定義計(jì)算 根據(jù)數(shù)據(jù)區(qū)域中的其他項(xiàng)或單元格來顯示值派撕。例如,可將“銷售總額”數(shù)據(jù)字段中的值顯示為“三月”銷售額的某個(gè)百分比听想,或顯示為“月份”字段中各項(xiàng)的匯總值腥刹。
????公式 如果匯總函數(shù)和自定義計(jì)算無法提供所需結(jié)果,可在計(jì)算字段和計(jì)算項(xiàng)中創(chuàng)建自己的公式汉买。例如衔峰,可為計(jì)算項(xiàng)添加計(jì)算銷售傭金的公式,銷售傭金在每個(gè)地區(qū)可能有所不同蛙粘。然后垫卤,報(bào)表自動(dòng)將傭金包含在分類匯總和總計(jì)中。
源數(shù)據(jù)類型如何影響計(jì)算
????基于 OLAP 源數(shù)據(jù)的計(jì)算? ? 對(duì)于創(chuàng)建自 OLAP 多維數(shù)據(jù)集的數(shù)據(jù)透視表出牧,會(huì)在 OLAP 服務(wù)器上預(yù)先計(jì)算匯總值穴肘,然后在 Excel 中顯示結(jié)果。不能更改這些預(yù)計(jì)算值在數(shù)據(jù)透視表中的計(jì)算方式舔痕。例如评抚,不能更改用于計(jì)算數(shù)據(jù)字段或分類匯總的匯總函數(shù)豹缀,也不能添加計(jì)算字段或計(jì)算項(xiàng)。
????此外慨代,如果 OLAP 服務(wù)器提供計(jì)算字段(稱為計(jì)算成員)邢笙,可在數(shù)據(jù)透視表字段列表中看到這些字段。 還可看到通過宏(在 Visual Basic for Applications (VBA) 中編寫并存儲(chǔ)在工作簿中)創(chuàng)建的所有計(jì)算字段和計(jì)算項(xiàng)侍匙,但不能更改這些字段或項(xiàng)氮惯。對(duì)于 OLAP 源數(shù)據(jù),可在計(jì)算分類匯總和總計(jì)時(shí)包括或排除隱藏項(xiàng)的值想暗。
????基于非 OLAP 源數(shù)據(jù)的計(jì)算? ? 在基于其他類型的外部數(shù)據(jù)或基于工作表數(shù)據(jù)的數(shù)據(jù)透視表中妇汗,Excel 使用 Sum 匯總函數(shù)來計(jì)算包含數(shù)值數(shù)據(jù)的值字段,并使用 Count 匯總函數(shù)來計(jì)算包含文本的數(shù)據(jù)字段说莫⊙罴可選擇不同的匯總函數(shù)(例如,Average唬滑、Max 或 Min)以進(jìn)一步分析和自定義數(shù)據(jù)告唆。此外,還可通過創(chuàng)建計(jì)算字段或在字段內(nèi)創(chuàng)建計(jì)算項(xiàng)晶密,創(chuàng)建使用報(bào)表元素或其他工作表數(shù)據(jù)的自定義公式擒悬。
在數(shù)據(jù)透視表中使用公式
????僅可在基于非 OLAP 源數(shù)據(jù)的報(bào)表中創(chuàng)建公式。不能在基于 OLAP 數(shù)據(jù)庫(kù)的報(bào)表中使用公式稻艰。在數(shù)據(jù)透視表中使用公式時(shí)懂牧,應(yīng)了解以下公式語法規(guī)則和公式行為:
????數(shù)據(jù)透視表公式元素? ? 在為計(jì)算字段和計(jì)算項(xiàng)創(chuàng)建的公式中,可像在其他工作表公式中一樣使用運(yùn)算符和表達(dá)式尊勿∩铮可使用常量,也可引用報(bào)表中的數(shù)據(jù)元扔,但不能使用單元格引用或定義的名稱躯保。不能使用需要將單元格引用或定義的名稱作為參數(shù)的工作表函數(shù),也不能使用數(shù)組函數(shù)澎语。
????字段和項(xiàng)名稱? ? Excel 使用字段和項(xiàng)名稱來標(biāo)識(shí)公式中的報(bào)表元素途事。在以下示例中,C3:C9 區(qū)域中的數(shù)據(jù)使用字段名稱“奶制品”擅羞∈洌“類型”字段中的計(jì)算項(xiàng)(根據(jù)乳制品銷售額估算新產(chǎn)品的銷售額)可使用諸如 =奶制品 * 115% 等公式。
????在數(shù)據(jù)透視圖中减俏,字段名稱顯示在數(shù)據(jù)透視表字段列表中召烂,而項(xiàng)名稱顯示在每個(gè)字段的下拉列表中。不要將這些名稱與圖表信息中顯示的名稱混淆娃承,圖表信息中的名稱反映系列和數(shù)據(jù)點(diǎn)名稱奏夫。
????公式針對(duì)總數(shù)(而不是單個(gè)記錄)進(jìn)行運(yùn)算 計(jì)算字段公式針對(duì)公式中任何字段的基礎(chǔ)數(shù)據(jù)總和進(jìn)行運(yùn)算怕篷。例如,計(jì)算字段公式 =銷售額 * 1.2 會(huì)將每個(gè)類型和地區(qū)的銷售總額乘以 1.2桶蛔;而不是將單個(gè)銷售額乘以 1.2匙头,然后對(duì)相乘得到的數(shù)進(jìn)行求和。
????計(jì)算項(xiàng)公式針對(duì)單個(gè)記錄進(jìn)行運(yùn)算仔雷。例如,計(jì)算項(xiàng)公式 =奶制品 * 115% 會(huì)將每個(gè)乳制品銷售額乘以 115%舔示,然后再將相乘所得的數(shù)匯總到“值”區(qū)域碟婆。
????名稱中的空格、數(shù)字和符號(hào)? ? 在包括多個(gè)字段的名稱中惕稻,這些字段可按任意順序排列竖共。在上述示例中,單元格 C6:D6 可以是“‘四月 北部’”俺祠,也可以是“‘北部 四月’”公给。如果名稱包含多個(gè)單詞,或者包含數(shù)字或符號(hào)蜘渣,請(qǐng)?jiān)谠撁Q兩邊加上單引號(hào)淌铐。
總計(jì)? ? 公式不能引用總計(jì)(如示例中的“三月總計(jì)”、“四月總計(jì)”和“總計(jì)”)蔫缸。
????項(xiàng)引用中的字段名稱? ? 可在對(duì)項(xiàng)的引用中包括字段名稱腿准。項(xiàng)名稱必須放入方括號(hào)中 - 例如 地區(qū)[北部]。如果某報(bào)表中兩個(gè)不同字段中的兩個(gè)項(xiàng)具有相同名稱拾碌,使用此格式可避免 #NAME? 錯(cuò)誤吐葱。例如,如果報(bào)表的“類型”字段中有名為“肉類”的項(xiàng)校翔,而“分類”字段中也有名為“肉類”的項(xiàng)弟跑,可將這兩個(gè)項(xiàng)分別引用為類型[肉類] 和分類[肉類],以防止 #NAME? 錯(cuò)誤防症。
????按位置引用項(xiàng)? ? 可根據(jù)當(dāng)前排序和顯示孟辑,按照項(xiàng)在報(bào)表中的位置引用項(xiàng)。類型[1] 是“奶制品”告希,類型[2] 是“海鮮”扑浸。每當(dāng)項(xiàng)的位置發(fā)生更改,或者顯示或隱藏其他項(xiàng)時(shí)燕偶,通過這種方式引用的項(xiàng)也會(huì)隨之更改喝噪。隱藏項(xiàng)不會(huì)計(jì)入此索引。
????可使用相對(duì)位置引用項(xiàng)指么。相對(duì)于包含公式的計(jì)算項(xiàng)來確定位置酝惧。如果“南部”是當(dāng)前地區(qū)榴鼎,那么地區(qū)[-1] 是“北部”;如果“北部”是當(dāng)前地區(qū)晚唇,那么地區(qū)[+1] 是“南部”巫财。例如,計(jì)算項(xiàng)可使用公式 =地區(qū)[-1] * 3%哩陕。如果提供的位置在字段中第一個(gè)項(xiàng)之前或最后一個(gè)項(xiàng)之后平项,公式會(huì)引發(fā) #REF! 錯(cuò)誤。
在數(shù)據(jù)透視圖中使用公式
????要在數(shù)據(jù)透視圖中使用公式悍及,可在關(guān)聯(lián)的數(shù)據(jù)透視表(可在其中看到組成數(shù)據(jù)的各值)中創(chuàng)建公式闽瓢,然后在數(shù)據(jù)透視圖中以圖形方式查看結(jié)果。
要了解銷售額增長(zhǎng) 10% 后的情況心赶,可在關(guān)聯(lián)的數(shù)據(jù)透視表中創(chuàng)建一個(gè)計(jì)算字段扣讼,使用諸如 =銷售額 * 110% 等公式。
要查看表示北部地區(qū)銷售額減去 8% 的運(yùn)輸成本的數(shù)據(jù)標(biāo)記缨叫,可使用諸如 =北部 – (北部 * 8%) 等公式在“地區(qū)”字段中創(chuàng)建計(jì)算項(xiàng)椭符。
但是,在“銷售員”字段中創(chuàng)建的計(jì)算項(xiàng)在圖例中顯示為系列耻姥,在每個(gè)圖表中顯示為各類別的數(shù)據(jù)點(diǎn)销钝。