檔案系統存取限制

出於安全原因,標準模式下的 Qlik Sense 在資料載入指令碼或公開檔案系統的函數與變數中不支援絕對或相對路徑。

然而,由於 QlikView 中支援絕對與相對路徑,所以可以停用標準模式並使用舊模式,以便重複使用 QlikView 載入指令碼。

警告: 停用標準模式可以透過公開檔案系統來建立安全性風險。

停用標準模式

連接至基於檔案的 ODBCOLE DB 資料連線時的安全方面

使用檔案型驅動程式的 ODBCOLE DB 資料連線,將公開連線字串中已連接資料檔案的路徑。在資料選擇對話方塊或者在某些 SQL 查詢中編輯連線時,可以公開路徑。這是標準模式與舊模式中的案例。

提示: 如果您對公開資料檔案的路徑有疑慮,則建議在可能的情況下,使用資料夾資料連線連接至資料檔案。

標準模式下的限制

數個陳述式、變數及函數不能在標準模式下使用,或者有使用限制。在資料載入指令碼中使用不受支援的陳述式會在載入指令碼執行時產生錯誤。可以在指令碼記錄檔中找到錯誤訊息。使用不受支援的變數及函數不會產生錯誤訊息或記錄檔項目。該函數會改為傳回 NULL 值。

在您編輯資料載入指令碼時,不會指明變數、陳述式或函數不受支援。

系統變數

變數 標準模式 / Qlik Sense Cloud 舊模式 定義
Floppy

不支援

受支援 傳回所找到第一個軟碟機的磁碟機代號,通常是 a:
CD

不支援

受支援 傳回所找到第一個光碟機的磁碟機代號。如果找不到 CD-ROM,則會傳回 c:
QvPath

不支援

受支援 會傳回 Qlik Sense 執行檔的瀏覽字串。
QvRoot

不支援

受支援 會傳回 Qlik Sense 執行檔的根目錄。
QvWorkPath

不支援

受支援 將瀏覽字串傳回目前 Qlik Sense 應用程式。
QvWorkRoot

不支援

受支援 傳回目前 Qlik Sense 應用程式的根目錄。
WinPath

不支援

受支援 將瀏覽字串傳回 Windows
WinRoot

不支援

受支援 傳回 Windows 的根目錄。
$(include=...) Supported input: Library connection Supported input: Library connection or absolute/relative path Include/Must_Include 變數會指定包含應該納入指令碼並且評估為指令碼之文字的檔案。您可以將指令碼的各部分儲存在獨立文字檔中,並在數個應用程式中重複使用。 這是使用者定義的變數。

系統變數

一般指令碼陳述式

陳述式 標準模式 / Qlik Sense Cloud 舊模式 定義
Binary

Binary

Supported input: Library connection Supported input: Library connection or absolute/relative path binary 陳述式用來載入另一個應用程式的資料。
Connect

Connect

Supported input: Library connection Supported input: Library connection or absolute/relative path CONNECT 陳述式用來定義透過 OLE DB/ODBC 介面對一般資料庫的 Qlik Sense 存取。若是 ODBC,首先必須使用 ODBC 管理員指定資料來源。
Directory

Directory

Supported input: Library connection Supported input: Library connection or absolute/relative path Directory 陳述式會在後續 LOAD 陳述式中定義要在其中尋找資料檔的目錄,直到發出新的 Directory 陳述式為止。
Execute

Execute

不支援 Supported input: Library connection or absolute/relative path Execute 陳述式用來在 Qlik Sense 載入資料時,執行其他程式。例如,進行必要的轉換。
LOAD from ...

Load

Supported input: Library connection Supported input: Library connection or absolute/relative path 會傳回 Qlik Sense 執行檔的瀏覽字串。
Store into ...

Store

Supported input: Library connection Supported input: Library connection or absolute/relative path 會傳回 Qlik Sense 執行檔的根目錄。

指令碼控制陳述式

陳述式 標準模式 / Qlik Sense Cloud 舊模式 定義

For each...

filelist mask/dirlist mask

For each..next

Supported input: Library connection

傳回的輸出:Library connection

Supported input: Library connection or absolute/relative path

傳回的輸出:Library connection or absolute path, depending on input

filelist mask 語法會對於符合 filelist mask 的目前目錄中的所有檔案產生逗號分隔清單。dirlist mask 語法會對於符合資料夾目錄名稱遮罩的目前資料夾中的所有資料夾產生逗號分隔清單。

檔案函數

函數 標準模式 / Qlik Sense Cloud 舊模式 定義
Attribute()

Attribute - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 以文字形式傳回各種媒體檔案的中繼標記值。
ConnectString()

ConnectString - 指令碼函數

傳回的輸出:物件庫連線名稱 物件庫連線名稱或實際連線,取決於輸入 傳回 ODBCOLE DB 連線的作用中連線字串。
FileDir()

FileDir - 指令碼函數

傳回的輸出:Library connection

傳回的輸出:Library connection or absolute path, depending on input FileDir 函數會傳回一個字串,其中包含目前正在讀取之表格檔案的目錄路徑。
FilePath()

FilePath - 指令碼函數

傳回的輸出:Library connection

傳回的輸出:Library connection or absolute path, depending on input FilePath 函數會傳回一個字串,其中包含目前正在讀取之表格檔案的完整路徑。
FileSize()

FileSize - 指令碼函數

Supported input: Library connection

Supported input: Library connection or absolute/relative path FileSize 函數會傳回一個整數,其中包含檔案 filename 或 (若未指定 filename) 目前正在讀取之表格檔案的大小 (以位元組為單位)。
FileTime()

FileTime - 指令碼函數

Supported input: Library connection

Supported input: Library connection or absolute/relative path FileTime 函數會傳回檔案 filename 上次修改之日期和時間的時間戳記。如果未指定 filename,此函數會參考目前讀取的表格檔案。
GetFolderPath()

GetFolderPath - 指令碼函數

不支援

傳回的輸出:Absolute path

GetFolderPath 函數會傳回 Microsoft Windows SHGetFolderPath 函數的值。此函數會輸入 Microsoft Windows 資料夾的名稱,並傳回資料夾的完整路徑。
QvdCreateTime()

QvdCreateTime - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 此指令碼函數會從 QVD 檔案傳回 XML 標頭時間戳記 (如果呈現的話),否則會傳回 NULL
QvdFieldName()

QvdFieldName - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 此指令碼函數會傳回欄位編號 fieldno 的名稱 (如果存在於 QVD 檔案中的話,否則會傳回 NULL)。
QvdNoOfFields()

QvdNoOfFields - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 此指令碼函數會傳回 QVD 檔案中的欄位數。
QvdNoOfRecords()

QvdNoOfRecords - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 此指令碼函數會傳回 QVD 檔案中的目前記錄數。
QvdTableName()

QvdTableName - 指令碼函數

Supported input: Library connection Supported input: Library connection or absolute/relative path 此指令碼函數會傳回 QVD 檔案中儲存的表格名稱。

系統函數

函數 標準模式 / Qlik Sense Cloud 舊模式 定義
DocumentPath()

不支援

傳回的輸出:Absolute path

此函數會傳回一個字串,其中包含目前 Qlik Sense 應用程式的完整路徑。
GetRegistryString()

 

不支援

受支援 傳回含指定登錄路徑的具名登錄機碼值。此函數可用於類似圖表與指令碼中。

系統函數