上次修改日期 : 17 Mar 2023
環境
Tableau Desktop解決方法
選項 1:新增 FIXED 陳述式
詳細等級 (LOD) 函數 FIXED 可轉換成維度。確切的解決方案會根據原始計算而有所不同,但請記住,整個計算必須是非彙總的 (FIXED、非彙總欄位、參數和常數常值都是非彙總的)。請參閱下列範例:範例 1
只能是度量:IF SUM([SALES]) < 100 THEN "Low" ELSE "High" END
IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END
範例 2
只能是度量:AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END )
{FIXED [Category] : AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END ) }
範例 3
只能是度量:ATTR( [Category] ) + " value"
{ FIXED [Order ID] : MIN( [Category] ) } + " value"
請注意:必須以 MIN() 取代 ATTR(),因為 ATTR() 是表函數,且無法用於 FIXED 運算式的內部。如果在檢視的一個分區 (資料列、儲存格、長條、線、點等) 中有 [Category] 的多個唯一值,則 ATTR() 會傳回 NULL,這有助於找出資料品質問題。另一方面,MIN() 將一律傳回最小值,亦即字串值依字母排序的第一個值。只要將 MIN( [Category] ) 固定為始終只具有一個類別值的維度或維度組合,就不會出現問題。
選項 2:移除彙總
有時候,實際上並不需要彙總。例如,{ FIXED [Region] : SUM( [Sales] } 會傳回每個區域的總銷售量,但如果該資料來源只擁有每個區域的一個記錄,則 [Sales] 將傳回相同的值。範例 1
只能是度量:IF SUM([SALES]) < 100 THEN "Low" ELSE "High" END
IF [Sales] < 100 THEN "Low" ELSE "High" END
選項 3:使用 Tableau 產生的資料桶欄位
在某些狀況中,可以使用 Tableau 產生的資料桶欄位取代原始計算。請參閱從連續度量建立資料桶以取得指示。
選項 4:在 Tableau Prep 中進行計算
Tableau Prep 的輸出將一律為非彙總,因此一律可以轉換成維度。Tableau Prep 中需要的步驟視原始計算而不同。一般而言,若要在 Tableau Prep 中複製如 SUM( [Sales] ) 等運算式,您將需要彙總步驟。表計算不能成為非彙總,因為表計算無法置於詳細等級函數之內。某些表計算可以在 Tableau Prep 中重複建立。例如,LOOKUP() 有時候可以取代成 shifted-self join。請參閱在 Tableau Prep 中查閱表計算
選項 5:聯結資料而非使用資料混合
來自次要資料來源的欄位必須加以彙總。這是資料混合的限制,且沒有因應措施。請考慮跨資料庫聯結或在 Tableau Prep 中聯結。原因
如果計算欄位中使用了彙總,則無法將度量轉換為維度,原因是計算結果是動態的。
例如,當 [Region] 在「資料列」功能區時與 [Category] 在「資料列」功能區相比時,SUM( [Sales] ) 會傳回不同的結果。但是,運算式 {FIXED [Region] : SUM( [Sales] ) } 將一律為各區域的總銷售量。 新增 FIXED 陳述式會告知 Tableau 如何運算 SUM(),這會接著告知 Tableau 如何根據其所屬區域的總銷售量將每個記錄分組。
例如,當 [Region] 在「資料列」功能區時與 [Category] 在「資料列」功能區相比時,SUM( [Sales] ) 會傳回不同的結果。但是,運算式 {FIXED [Region] : SUM( [Sales] ) } 將一律為各區域的總銷售量。 新增 FIXED 陳述式會告知 Tableau 如何運算 SUM(),這會接著告知 Tableau 如何根據其所屬區域的總銷售量將每個記錄分組。
其他資訊
Tableau 為何使用維度與度量?
Tableau 利用非常不同的資料來源之間所共用資料的共同屬性,就如何顯示資料做出明智的決策。
例如,您的資料來源包含一個具有數值卻名為「ID」的欄位。 當您將「ID」新增至「資料列」功能區,而不是獲得將所有 ID 值相加的無意義長條圖時,每個 ID 將會有一列。 Tableau 如何得知要這麼做? 名為「ID」的欄位為特殊案例,此類欄位預設視為維度。維度包含用於將其他資料群組的資料,因此 Tableau 知道維度通常應該是標題而不是圖表,即使維度包含數字資料。
維度與度量是來自資料管理的概念,將應如何顯示資料的線索提供給 Tableau。如需 Tableau 如何處理維度與度量的詳細資訊,請參閱維度與度量,藍與綠
感謝您針對本文的效益提供意見回饋。
開啟新案例
繼續搜尋
知識庫
社群
產品說明
訓練及教學課程