上次修改日期 : 30 Nov 2023
環境
Tableau Desktop答案
ATTR() 表示多個值
ATTR() 彙總表示有多個值存在,但需要的值只有一個。例如,混合兩個或多個資料來源時,次要資料來源的欄位將自動包含在 ATTR(),因為次要資料來源的欄位必須經過彙總。如果次要維度有多個值,則 ATTR(次要維度) 將在檢視中顯示星號,這部分在疑難排解資料混合:工作表中的星號顯示中已有詳細說明。
如果使用另一個彙總取代 ATTR(),那麼 Tableau Desktop 會顯示誤導資訊。例如 MIN(次要維度) 將顯示第一個維度值,而且無法確定次要資料來源中是否真的存在多個值。星號表示需要調整的關係或檢視。
運作方式
ATTR() 會比較基礎資料中每筆記錄的所有值,這些值會分組為檢視中的一部分(例如:長條、圓形、儲存格等等...),而且如果值都相同,ATTR() 將傳回該值,否則 ATTR() 將傳回星號。公式最簡單的格式如下所示:
IF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension]) ELSE "*" END
ATTR 函數將對欄位中的所有成員求值,如果 1) 只有一個值 (MIN = MAX),或者 2) 所有成員都相同 (MIN = MAX),則傳回 1;否則傳回 "*"。這可以解釋為 "有多個值"。
您可以透過新增應該觸發 ATTR 函數的條件,構建基本的 ATTR 函數,例如:
IF ISNULL ([dimension]) THEN NULL
ELSEIF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension])
ELSE "*"
END
ATTR() 的使用案例
- 根據上述範例,ATTR() 可以表示次要資料來源有多個值存在
- 新增到標記卡片上工具提示的維度會自動包含在 ATTR(),因為工具提示上的維度必須經過彙總。如果使用 MIN() 等其他彙總,則工具提示將顯示單一值,這樣可能會讓檢視者誤以為只有一個值。因此,ATTR() 將顯示一個星號,表示檢視或新增到工具提示中的值需要調整。請參閱工具提示中的星號顯示
- ATTR() 跟其他彙總一樣,可將非彙總值變更為彙總值,以解決計算中的彙總錯誤。請參閱彙整計算編輯器中的錯誤訊息
請注意,傳回數值資料的計算若包含 ATTR()(如果 ATTR() 中有多個值),則計算傳回的會是 NULL,不是星號。
- ATTR() 可當作是保護資料不受變更的預防措施
限制
- 包含 ATTR() 的導出欄位不能用於手動設定動態排序
- 即使包含 ATTR() 的計算在檢視的其他位置傳回了預期值,仍可能在總計中傳回 NULL。請參閱包含 ATTR() 的導出欄位其總計是空白
其他資訊
討論本文...意見回饋論壇感謝您針對本文的效益提供意見回饋。
開啟新案例
繼續搜尋
知識庫
社群
產品說明
訓練及教學課程