# 常見問題集

## 安裝

問︰安裝 QlikView 的需求為何？

[QlikView 的系統需求](https://help.qlik.com/en-US/qlikview/September2026/Subsystems/Server/Content/QV_Server/QlikView-Server/QVSRM-SystemRequirements.htm) （僅提供英文版）

## QlikView 文件

問︰我需要多少 RAM？RAM 需求和資料量之間有簡單的關聯方式嗎？

答︰沒有，這需取決於資料結構和資料類型。資料列越多，且每個記錄越寬 (就欄位數目而言)，就需要越多 RAM。如果欄位包含許多不同的相異值，就會比相異值數目低的情況，需要更多 RAM。某些圖表在計算時需要大量的 RAM。

問︰理論上，QlikView 文件大小的限制為何？

答︰並無法將此限制以多少記錄筆數來表達 (請參閱上一個問題)。一般而言，QlikView 在指令碼執行期間使用的記憶體，比起進行版面配置時多了 3 到 4 倍。

問︰我有 2 GB 的可用 RAM，但是在開啟 1 GB 文件時收到「記憶體不足」的錯誤訊息。哪裡出錯呢？

答︰QlikView 文件中的每個表格都需要配置連續的記憶體區塊。例如，如果記憶體由載入的 DLL 切割，配置就會失敗，並顯示恰當的錯誤訊息。此行為在不同電腦之間可能會有所差異。

問︰實際上使用者到底可以在 QlikView 中執行多大的文件？

答︰在配備如 512MB RAM 的 PC 中執行 QlikView 時，足可處理幾百萬列的典型交易資料。而在安裝 QlikView 和數 GB RAM 的大型伺服器中，於本文撰寫時 (來自 2008 年 5 月的資訊已有 7 年的歷史)，可在客戶應用程式中處理多達十億列 (無彙總的完整交易詳細層級)。

## 指令碼和載入資料

問︰可在 QlikView 指令碼中使用不只一個 Binary 陳述式嗎？

答︰很遺憾，不可。二進位檔載入會使用非常特別的邏輯，將已處理過一次的資料讀入 QlikView 的另一個 QlikView 文件。所用的「解除封裝」需要記憶體在「原始狀態」下，因此 Binary 陳述式必須是指令碼中的第一個陳述式。也因此只能在指令碼中使用一次 Binary。不過，可以使用 QVD 檔案將多個 QlikView 文件的資料合併，速度與 Binary 相同。

問︰欄位名稱相同是自動聯結的唯一需求嗎？

答︰是，這類聯結稱為關聯。

問︰兩個有不同欄位名稱的欄位之間可以做到自動聯結嗎？

答︰可以，但必須在指令碼中使用 ALIAS 陳述式或 AS 子句，以重新命名其中一個欄位。

[重新命名欄位](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/rename-fields.htm)

問︰可針對文字檔使用 Where 子句、Group by 子句及其他 SQL 語法嗎？

答︰QlikView 針對文字檔提供豐富的指令碼語言，包括大部分的 SQL 語法和一些額外功能。

問︰可針對 QlikView 二進位檔案使用 Where 子句、Group by 子句及其他 SQL 語法嗎？

答︰不行。

問︰內部表格之間的關聯、前有 join 限定詞的 load 或 select 陳述式，以及 select 陳述式內的聯結，三者之間有何差異？

答︰關聯是內部表格之間的聯結，當您按一下文件中的欄位值時就會進行評估。當兩個不同的表格有共通的欄位時，QlikView 會自動建立關聯。後兩種聯結是在指令碼執行期間進行，並且會產生新的邏輯表。在這種情況下，QlikView 不會將原始表格以邏輯表的方式載入。

此外，select 陳述式內的聯結通常僅載入索引鍵欄位值在兩個表格中都有的記錄 (內部聯結)，而前兩種聯結還會包括索引鍵欄位值僅在其中一個表格中的記錄 (完整 outer join)。

問︰如何從固定記錄文字檔載入資料？

答︰使用 QlikView 中的表格檔案精靈。

[檔案精靈：類型](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/File_Wizard_Type.htm) 及 [檔案精靈：類型 - 固定記錄](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/File_Wizard_Type_Fixed_Record.htm)

問︰可以僅載入已變更的資料來更新 QlikView 文件嗎？

答︰可以，請使用累加式重新載入。

[QVD 檔案](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/QVD_files.htm)

問︰可以從網頁將表格讀入 QlikView 嗎？

答︰可以，表格檔案精靈可以擷取以 HTML 表格形式編碼的表格。如果 HTML 頁面未包含正確格式化的表格標記，通常還是可以透過使用如 subfield 和 textbetween 指令碼函數來擷取資料。

[檔案精靈：類型 - HTML](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/File_Wizard_Type_HTML.htm)

## QlikView 邏輯

問︰為何麼無法在某些列表框中顯示頻率？

答︰發生這種問題的列表框會包含與多個內部表格通用的一個欄位。因此，QlikView 無法知道如何計算欄位的頻率和其他統計實體。若要解決此問題可透過從主表格 (要顯示頻率的表格) 以新的名稱多載入一次該欄位，然後改成在列表框內顯示該欄位的頻率。透過標籤功能，一般使用者就不必注意到這個技巧。

問︰為什麼統計方塊只是顯示許多 n/a？

答︰該統計方塊包含了與多個內部表格通用的一個欄位。請參閱上一個問題的答案。

問︰為什麼 QlikView 不允許在圖表中的運算式使用某個欄位？

答︰該欄位是與多個內部表格通用的一個欄位。請參閱前兩個問題的答案。

問︰如何在統計方塊中顯示相異值的數目？

答︰在 load / select 陳述式中使用 distinct 子句。

問︰[列表框屬性] 對話方塊中的 [AND 模式] 選項何時啟用？

答︰僅在 QlikView 邏輯背後之理論所限制的極為嚴格條件下，才允許使用 [AND 模式] 選項。若要啟用 [AND 模式]，該欄位必須︰

* 僅存在於一個內部表格中，
* 為該表格僅有的兩個欄位中的第二個欄位，而且
* 不包含任何重複的記錄。
* 必須前有 distinct 限定詞。

問︰列表框中的值選項可以混合 AND 和 OR 邏輯嗎？

答︰不可以，QlikView 邏輯禁止此種作法。

問︰列表框之間可以有 OR 邏輯嗎？

答︰只能採取間接方式。進階的替代方法是使用語意連結，將列表框中所做的選項轉送到其他欄位。然後變更原始列表框中的選項，接著按住 Ctrl 並按一下語意連結，以達成兩個選項之間的 OR 邏輯。最後的結果可以透過反轉語意連結來轉送。

問︰可以將多個資訊檔連結到一個值 (如圖片和文字檔) 嗎？

答︰可以，但只有在使用複製的欄位時才可以。QlikView 中的每個欄位都只能連結到一個資訊檔。

問︰為什麼 QlikView 有時候會將例如 '002'、'02' 及 '2' 解譯為相同的值？

答︰範例中所有的值在 QlikView 中共用相同的數值。原則上，QlikView 會先嘗試以數值解譯任何資料。如果數值解譯可行，就會用於關聯。然而，如果在指令碼中針對欄位使用 text() 解譯函數，就會將這些值僅僅視為文字值來處理。因此上述範例中的值就會解譯為三個不同的值。

問︰什麼是「迴圈」或循環表格結構？

答︰如果沿著欄位關聯會形成表格結構中永無止境的循環，這就稱為迴圈。另一個描述此現象的方式是兩個特定欄位之間，在表格結構上有兩個或以上不同的路線。應盡量避免迴圈，因為解譯資料時可能造成語意模糊。許多情況下，迴圈是資料庫設計不良的結果，但有些情況下卻可能無法避免。如果 QlikView 在執行指令碼時發現迴圈，就會發出警告並強制您利用鬆耦合表格來解決此問題。

[瞭解循環參照](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/LoadData/understand-circular-references.htm)

## 版面配置

問︰為何麼沒有標題的工作表物件無法從上端調整大小？

答︰關閉工作表物件的標題後，上框線就僅可用於移動工作表物件，所以無法使用工作表物件的上邊角調整大小。

問︰嘗試拖曳表格框線時，為什麼無法向右展開？

答︰表格的右框線上有兩個控點。拖曳表格框線時，就是在調整表格中可顯示的外部界限。不過，無法使外框架大於表格中所有資料行寬度的加總。若要調整最右邊資料行的大小，請將游標放在外部框線的左側。請確定外框架不要落在資料行中間。如果發生這樣的情況，請使用捲軸，將資料行的右框線調至外框架。使用設計格線，即可看到工作表物件的實際外框架。

問︰可以變更 QlikView 文件中工作表物件的欄位名稱嗎？

答︰可以，可針對各個工作表物件中的每個欄位設定標籤。

問︰哪些工作表物件可以最小化？

答︰所有類型的工作表物件都可以最小化，但是此選項針對像是按鈕、文字物件及線條/箭頭物件等工作表物件，預設是關閉的。

問︰可以在工作表上移動最小化的物件嗎？

答︰可以，可以將這些物件自由地在工作表上移動，並放置在任何地方，還可在一定限制內調整大小。

## 與他人共用 QlikView 文件

問︰可以將 QlikView 文件置於伺服器上與他人共用嗎？

答︰可以，只要接收者具備註冊的 QlikView 授權，以及對該伺服器目錄的存取權即可。

問︰可以在真實的主從模式下使用 QlikView 嗎？

答︰可以，但需要 QlikView Server。

問︰可以將文件作為連結置於網頁上，讓他人透過網路存取嗎？

答︰可以，只要接收者具備註冊的 QlikView 授權，以及對該網頁的存取權即可。

問︰可以將文件以電子郵件的方式傳送給他人嗎？

答︰可以，只要接收者具備註冊的 QlikView 授權即可。

問︰可以防止某些人使用文件嗎？

答︰可以，只要使用「區段存取」功能來定義何人可以使用該等文件即可。

[Section](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptRegularStatements/Section.htm) 及 [存取限制表格精靈](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Access_Restriction_Table_Wizard.htm)

問︰可以防止他人查看/變更指令碼嗎？

答︰可以，「區段存取」可授予某些人 ADMIN 存取層級，但讓其他人處於 USER 存取層級，而無法查看指令碼。

[安全性](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Security.htm)

問︰存取權的資訊可以儲存在哪裡？

答︰該資訊可以按文字檔的形式儲存在受保護的單位中，或以表格的形式儲存在資料庫中。還可以依 inline 陳述式的形式，儲存在指令碼中。

[內嵌資料精靈](https://help.qlik.com/zh-TW/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Inline_Data_Wizard.htm)

問︰可針對一大群使用者自動建立個人化複本嗎？

答︰可以，但需要 QlikView Server 的附加模組 QlikView Publisher。