? ? 在初步深入了解Tableau后,總會被一個報錯困擾,不能混合聚合與非聚合比較結(jié)果,那么當我們遇到了這個情況的時候該怎么辦呢?
? ?什么是聚合函數(shù)?常見的有 sum、count、max、min、avg 等。不含這些函數(shù)運算的即為非聚合函數(shù)。
? ?我的建議是將非聚合函數(shù)變?yōu)榫酆虾瘮?shù)參與運算,在Tableau中支持的聚合函數(shù)有以下幾類:
?參考自官網(wǎng):Tableau 中的聚合函數(shù) - Tableau
函數(shù) |
語法 |
定義 |
ATTR |
|
如果它的所有行都有一個值,則返回該表達式的值。否則返回星號。會忽略 Null 值。 |
AVG |
|
返回表達式中所有值的平均值。AVG 只能用于數(shù)字字段。會忽略 Null 值。 |
COLLECT |
|
將參數(shù)字段中的值組合在一起的聚合計算。會忽略 Null 值。 注意:COLLECT 函數(shù)只能用于空間字段。 示例:
|
CORR |
|
返回兩個表達式的皮爾森相關(guān)系數(shù)。 |
COUNT |
|
返回組中的項目數(shù)。不對 Null 值計數(shù)。 |
COUNTD |
|
返回組中不同項目的數(shù)量。不對 Null 值計數(shù)。 |
COVAR |
|
返回兩個表達式的樣本協(xié)方差。 注意:COVAR(X, X) 的值等于 VAR(X) 的值,也等于 STDEV(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的樣本協(xié)方差。
|
COVARP |
|
返回兩個表達式的總體協(xié)方差。 注意:COVARP(X, X) 的值等于 VARP(X) 的值,也等于 STDEVP(X)^2 的值。 示例: 以下公式返回“Sales”和“Profit”的總體協(xié)方差。
|
MAX |
|
返回表達式在所有記錄中的最大值。如果表達式為字符串值,則此函數(shù)返回按字母順序定義的最后一個值。 |
MEDIAN |
|
返回表達式在所有記錄中的中位數(shù)。中位數(shù)只能用于數(shù)字字段。會忽略 Null 值。 |
MIN |
|
返回表達式在所有記錄中的最小值。如果表達式為字符串值,則此函數(shù)返回按字母順序定義的第一個值。 |
PERCENTILE |
|
從給定表達式返回與指定數(shù)字對應(yīng)的百分位處的值。數(shù)字必須介于 0 到 1 之間(含 0 和 1),例如 0.66,并且必須是數(shù)值常量。 |
STDEV |
|
基于群體樣本返回給定表達式中所有值的統(tǒng)計標準差。 |
STDEVP |
|
基于有偏差群體返回給定表達式中所有值的統(tǒng)計標準差。 |
SUM |
|
返回表達式中所有值的總計。SUM 只能用于數(shù)字字段。會忽略 Null 值。 |
VAR |
|
基于群體樣本返回給定表達式中所有值的統(tǒng)計方差。 |
VARP |
|
對整個群體返回給定表達式中所有值的統(tǒng)計方差。 |
? 例如我有一個數(shù)據(jù)源,不同部門領(lǐng)取文具人數(shù)表,分別有:日期、部門、員工名、物品名稱,Tableau可以自動匯總計數(shù)物品數(shù)量,即count[計數(shù)],統(tǒng)計領(lǐng)取物品的數(shù)量,在這里使用了count函數(shù),所以 它是一個聚合函數(shù)。當我想要按照日期統(tǒng)計今年每個部門領(lǐng)取了多少文具,與總數(shù)均值做雙軸比較時,我寫了以下函數(shù):
{ Fixed [部門]:
if year([日期]) = year(today())
then?count[計數(shù)]
end文章來源:http://www.zghlxwxcb.cn/news/detail-555724.html
}文章來源地址http://www.zghlxwxcb.cn/news/detail-555724.html
由于year屬于非聚合,count屬于聚合,就會報錯,這時只要想辦法把非聚合函數(shù)寫成聚合函數(shù)即可。
{ Fixed [部門]:
if avg(year([日期])) = max(year(today()))
then?count[計數(shù)]
end
}
到了這里,關(guān)于Tableau 聚合函數(shù)與非聚合函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!