🐬Spotfire 出現「Linked Data Report」是什麼?資料不一致警告原因與完整解決步驟(新手也看得懂)

你在 Spotfire 做報表時,右上角突然跳出警告:

Linked data report — There are some inconsistencies and some data might not be shown accurately.
(資料連結有不一致,可能導致資料顯示不準)

很多人第一反應是:「Spotfire 壞了?」
其實不是。這個警告通常是在提醒你:你看到的報表結果可能少了部分資料、或連錯資料

這篇文章會用「完全不懂資料模型的人也能理解」的方式,帶你搞懂它為什麼出現,以及最常見的修正流程。


一、Linked Data Report 用人話講是什麼?

你可以把 Spotfire 想成在組裝積木:

  • 資料表 A:像是一盒積木(例如「訂單清單」)

  • 資料表 B:另一盒積木(例如「出貨記錄」)

  • 你想把 A 和 B 拼在一起,就需要一個「共同的卡榫」
    這個卡榫就叫 Key(連結欄位),例如:訂單號、產品編號、批號等等。

Linked Data Report 的意思就是:

Spotfire 發現你在拼積木時,有些積木卡榫對不上,
所以拼出來的成品可能缺角、或某些資料根本沒被接上。


二、為什麼會出現?最常見 4 大原因

以下這 4 種情況,是企業報表最常遇到的:

1) Join(資料合併)用的 Key 對不起來

例如你用「訂單號」去合併兩張表,但:

  • 表 A 有:1001、1002、1003

  • 表 B 只有:1001、1003

1002 在合併後就可能變成空值或消失,Spotfire 會提醒你「不一致」。

2) 資料來源欄位被改名 / 刪掉 / 型別變了

常見於:

  • 資料庫欄位改名

  • Excel 欄位調整

  • CSV 欄位順序變動

  • 數字欄位突然變成文字(或反過來)

Spotfire 會覺得:「我原本要抓的欄位不見了」,因此產生不一致。

3) Pivot / Transformation(轉換)後把必要欄位弄丟

很多人做 Pivot(樞紐)或資料轉換時,只保留了部分欄位,導致:

下游分析表想用某欄位 Join,但轉換後該欄位已不在資料裡。

這是非常常見的原因。

4) 有 Null(空值)導致關聯失敗

如果 Key 欄位出現空值(Null),就像卡榫缺了一塊,合併必然失敗。


三、Spotfire 新手專用:完整排查流程(照做就能定位)

Step 1:先「看警告細節」而不是直接關掉

在 Spotfire 的 Notifications(通知)區塊:

  • Linked data report

  • 或在 Data Canvas 的驚嘆號上查看詳細資訊

你要找的是這類訊息:

  • 哪一張表不一致?

  • 哪個欄位(Key)對不上?

  • 是 missing、type mismatch、還是 null?

這一步非常關鍵:你不看細節,就等於瞎猜。


Step 2:確認 Join 用的 Key 在上下游都存在

用一句話檢查:

「用來連結的欄位,在兩邊都還在嗎?值長得一樣嗎?」

常見問題:

  • 一邊是 ABC-001,另一邊是 ABC001(格式不同)

  • 一邊有前後空白(Trim 問題)

  • 一邊是數字,一邊是字串


Step 3:檢查 Pivot / Transform 有沒有把 Key 欄位丟掉

Pivot 後你可能只留下「加總結果」,但 Key 欄位沒了。

簡單判斷方式:

  • 在 Data Canvas 點轉換後的資料表

  • 看欄位列表是否仍包含「用來 Join 的欄位」

沒有的話,下游一定會出事。


Step 4:驗證資料來源是否真的有該欄位/值

打開 Data Source Preview(資料預覽),看:

  • 欄位是否存在

  • 是否大量空值

  • 是否最近資料格式變動


四、修正方法(依照原因對症下藥)

情況 A:Key 值格式不同(最常見)

你要做的是「統一格式」,例如:

  • 去掉空白

  • 統一大小寫

  • 移除特殊符號

  • 左補零(001 vs 1)

示意做法(無任何內部欄位)

在資料表中新增一個「標準化Key」 - 將原始Key去空白(Trim) - 全部轉大寫(Upper) - 移除特殊符號(Replace)

情況 B:Pivot 後 Key 不見了

解法通常是:

  • Pivot 時把 Key 放入 Grouping

  • 或 Pivot 後再把 Key 加回來

  • 或調整 Transform 順序(先 Join 再 Pivot)


情況 C:欄位型別不一致(文字 vs 數字)

例如一邊是 123(數字),一邊是 "123"(文字),Join 會失敗。

解法:

  • 將兩邊都轉成同一種型別(都轉文字最保險)

  • 或在資料來源端修正 schema


情況 D:Key 欄位出現 Null

解法:

  • 找出 Null 來源(資料缺漏、轉換導致、來源檔案空值)

  • Null 必須補值或排除(視商業規則)


五、修好後怎麼確認「真的正常」?

你至少做 3 件事:

  1. 警告消失(或 linked data report 不再出現)

  2. 報表的筆數、加總與你預期一致

  3. 抽查幾筆資料:
    在上游表能找到,在下游表也能對應到


六、結論:Linked Data Report 不是壞掉,是在救你

Spotfire 的 Linked data report 是很重要的防呆提醒:

  • 它在告訴你:資料模型的拼圖「沒拼完整」

  • 不處理就直接給客戶看,報表可能「少資料」或「顯示錯資料」

只要你按本文的排查流程:
看警告細節 → 檢查 Key → 檢查 Transform → 檢查型別/空值 → 對症修正
基本都能定位並解決。

留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🖥️遠端桌面連線完整新手指南:Windows RDP、Chrome Remote Desktop、AnyDesk、TeamViewer 一次搞懂

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)