跳到主要內容 跳至補充內容

遷移 QlikView 文件

此頁面詳細說明如何遷移 QlikView 文件及其相關內容。這也列出最佳做法、限制和考慮事項。

應用程式限制

下表根據您的訂閱概述 Qlik Cloud 允許的基本應用程式大小。

應用程式類型 支援的應用程式大小 (記憶體內) 排程載入時的尖峰記憶體 手動載入時的尖峰記憶體
標準層級 最多 5 GB 最多 15 GB 最多 10 GB
大型應用程式容量 最多 50 GB 取決於購買的容量 取決於購買的容量
資訊備註Qlik Cloud 容量、使用和限制的測量單位以二進位十億位元組 (GB) 呈現,其中 1 GB 為 230 個位元組 (1,073,741,824)。這也稱為吉位元組 (GiB),由國際電工技術委員會 (IEC) 定義。 同樣地,1 TB 為 240 個位元組 (或 1,024 GB)。

決定應用程式大小

您可以使用兩種方式衡量應用程式大小:

  • 上次載入應用程式時的記憶體大小

  • 磁碟大小

使用下列工具決定應用程式的大小:

  • QlikView 控管儀表板複雜性 (僅提供英文版)工作表 – 此工作表指示磁碟大小。

  • Qlik Cloud 遷移工具中的 QlikView to SaaS Migration App存取Qlik Cloud之下的遷移工具索引標籤上有專用區段,可預估基本 RAM 占用空間並識別預期是否會在標準層級登陸的應用程式。

關於應用程式大小的遷移問題

若您遇到由於大型應用程式而產生的高記憶體配置問題,有兩種主要方法可緩解問題。

  • 在適用情況下檢閱並更新資料載入指令碼:

    • 移除未使用的欄位和列以避免載入。

    • 在資料處理不再需要時捨棄表格。

    • 實施增量載入以最佳化處理的資料量。

    • 使用最佳化的 QVD 載入。

  • 將更多容量新增至租用戶以允許更大量的工作載入。請參閱大型應用程式支援

其他限制和考慮事項

雲端部署通常不允許存取主機或伺服器的檔案系統,因此,請在載入指令碼從內部部署應用程式遷移至 Qlik Cloud 時使用這些載入指令碼修改

延伸

QlikView 延伸無法在 Qlik Cloud 中運作。這適用於伺服器延伸和文件延伸。

請參閱 Qlik Cloud 開發人員網站,瞭解自訂開發相關內容,包括 API 參考和工具組。

Qlik Cloud 中,相較於 Qlik Sense Enterprise Client-Managed,延伸有一些限制。如需詳細資訊,請參閱管理延伸

您必須在 管理主控台 > 內容安全性政策中將外部資源請求新增至允許清單。請參閱管理內容安全性政策

佈景主題

應用程式樣式設定無法從 QlikView 遷移至 Qlik Cloud。請參閱設定應用程式樣式,瞭解關於 Qlik Cloud 應用程式上的應用程式樣式設定和自訂佈景主題的資訊。

GeoAnalytics

QlikView GeoAnalytics 延伸物件功能已納入原生 Qlik Sense 地圖物件中。無法使用這些舊版物件撰寫 Qlik Sense 應用程式,應使用 Qlik Sense 原生地圖物件重新建置物件。

GeoAnalytics 連接器 遷移至 Qlik GeoOperations

Qlik Cloud 中的 Qlik GeoOperations 提供與 GeoAnalytics 連接器QlikView 中類似的功能和操作。這也支援許多相同的資料格式。其中有下列差異:

  • Qlik GeoOperations 是進階分析整合 (AAI),比連接器更適合送出和處理資料。
  • 進階分析整合的指令碼語法與連接器的指令碼語法不同。
  • 有些 GeoOperations 也能用於圖表運算式。
  • Qlik GeoOperations 傳回單一表格。相較於 GeoAnalytics 連接器 傳回的內容,表格在 Qlik GeoOperations 中聯結。
  • Qlik GeoOperations 中,已重新命名某些欄位和參數,讓這些內容更一致。

以下概述如何將 GeoAnalytics 連接器 精靈產生的指令碼轉換為 Qlik GeoOperations

  1. 資料載入編輯器中,在 GeoAnalytics 連接器 指令碼中,複製 SQL 之後的一切內容,直到第二個 SELECT 或「;」,以先發生者為準。
  2. " 取代 GeoAnalytics 連接器 指令碼中的所有 '
  3. 將所選欄位名稱從 GeoAnalytics 連接器 指令碼中的第二個 SELECT 陳述式新增至 GeoOperations 指令碼中的第一個 SELECT 陳述式。省略任何已在該處的欄位。將來源表格名稱新增至欄位名稱,以句號分隔。例如,table.field。這將會建立單一聯結表格,而非數個表格。

  4. 檢閱操作和資料集的參考文件,並按需要調整任何參數或欄位名稱。

    操作

    資料集

    如需關鍵差異的摘要,請參閱 GeoOperations 和 GeoAnalytics 欄位差異

  5. 將下列內容新增至 GeoOperations 指令碼開頭:

    Load * Extension GeoOperations.ScriptEval('

  6. 將下列內容新增至 GeoOperations 指令碼結尾:

    ');

若使用含有 GeoAnalytics 連接器 的已載入表格,請作為第二個參數傳送至 GeoOperations.ScriptEval

Qlik GeoOperations 傳回聯結的表格時,只會從次要表格傳回具有主要表格中對應值的欄位值。例如,若您想要為某些點尋找德國最近的機場,只會傳回離這些點最近的機場相關資料。若您想要德國的所有機場,需要以 LOAD 操作另外載入。

若透過連接器從 SQL 資料庫載入,應改為透過資料庫連接器之一載入資料,例如 ODBC 連接器。確認載入幾何作為 WKT (在 SQL 查詢中套用通常稱為 st_asText() 的函數)。然後將表格傳送至 Qlik GeoOperations,以轉換 WKT 欄位。然後,這將會以 Qlik Sense 格式傳回具有幾何的欄位。

範例指令碼轉換

此指令碼轉換範例將會使用下列 GeoAnalytics 連接器 指令碼:

/* Generated by GeoAnalytics for operation Cluster ---------------------- */ [ClusterAssociations]: SQL SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' SELECT [Clusters_ClusterID], [Clusters_ClusterCenter] FROM Clusters; [Clusters]: SQL LOAD * FROM Clusters; tag field [LocationDbId] with '$primarykey'; tag field [Clusters_ClusterID] with '$primarykey'; tag field [Clusters_ClusterCenter] with '$geopoint'; tag field [Clusters_ClusterID] with '$geoname'; tag field [Clusters_ClusterCenter] with '$relates_Clusters_ClusterID'; tag field [Clusters_ClusterID] with '$relates_Clusters_ClusterCenter'; /* End GeoAnalytics operation Cluster ----------------------------------- */

請執行下列動作:

  1. 在 SQL 和第二個 SELECT 陳述式之間採取指令碼。

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
  2. 取代引號:

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  3. 從次要表格新增欄位:

    SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  4. 調整參數和欄位名稱:

    SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  5. 以未定案程式碼括住

    Load * Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');

此指令碼現在可以搭配 Qlik GeoOperations 使用。

GeoOperationsGeoAnalytics 欄位差異

GeoOperationsGeoAnalytics 指令碼之間的預設欄位有差異,通常有前置詞。將 GeoAnalytics 指令碼遷移至 GeoOperations 時,您可能需要調整某些欄位名稱。

AddressToPoint

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>AddressAddressPointCountryIso2Adm1CityPostalCodeStreetHouseNumberMatch

  • GeoAnalytics[<id>][Dataset_Address][Dataset_Geometry][CountryIso2][Dataset_Adm1][Dataset_City][Dataset_PostalCode][Dataset_Street][Dataset_HouseNumber][Dataset_Match]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoAnalytics 欄位有來自資料集的前置詞。

  • Dataset_GeometryGeoOperations 中稱為 AddressPoint

分級

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>BinIdBinTable.BinPolygonBinTable.CenterPoint

  • GeoAnalytics[<id>][RH2W3][RH2W3_CenterPoint]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoAnalytics 中,RH2W3 是多邊形欄位,其名稱根據格線大小 / 比率而產生。在 GeoOperations 中,欄位是 BinTable.BinPolygon

  • GeoAnalytics 沒有 BinId 欄位。

最近

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperationsdataset_dataset2_RelationIddataset.<ds1 id>dataset2.<ds2 id>Distance

  • GeoAnalytics[Dataset1_Dataset2_RelationId][Dataset1.<ds1 id>][Dataset2.<ds2 id>][Dataset1_Dataset2_Distance]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoOperationsDistance 欄位沒有前置詞。

叢集

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>ClusterIDClusters.ClusterPointClusters.PointCount

  • GeoAnalytics[<id>][Clusters_ClusterID][Clusters_ClusterCenter][Clusters_PointCount]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

解散

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>DissolvedPolygon

  • GeoAnalytics[<id>][<id>_Geometry]

GeoAnalyticsGeoOperations 有下列差異:

  • 幾何欄的名稱

交集

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperationsdataset_dataset2_RelationIddataset.<dataset1 id>dataset2.<dataset2 id>dataset.RelativeOverlapdataset2.RelativeOverlap

  • GeoAnalytics[Dataset1_Dataset2_RelationKey][Dataset1.<ds1 id>] [Dataset2.<ds1 id>][Dataset1_RelativeOverlap][Dataset2_RelativeOverlap]

GeoAnalyticsGeoOperations 有下列關鍵差異:

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

IpLookup

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>IpPointCountryIso2Adm1CodeCity

  • GeoAnalytics[<id>][IpTable_Geometry][CountryIso2][IpTable_Adm1Code][IpTable_City]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoAnalytics 中的 IpTable_GeometryGeoOperations 中是 IpPoint

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

載入 (位置資料集)

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations (區域):LocationDbIdLocationPolygonNameCountryIso2Adm1CodeAdm2CodeLocationDbType

  • GeoOperations (點):LocationDbIdLocationPointNameCountryIso2Adm1CodeAdm2CodeLocationDbType

  • GeoAnalytics[LocationDbId][Dataset_Geometry][Dataset_Name][CountryIso2][Dataset_Adm1Code] [Dataset_Adm2Code][LocationDbType]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoAnalytics 中的幾何欄位 (LocationPolygonLocationPointGeoOperations 中是 Dataset_Geometry

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

PointToAddress

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>AddressAddressPointCountryIso2Adm1CityPostalCodeStreetHouseNumberDistance

  • GeoAnalytics[<id>][Dataset_Address][Dataset_Geometry][CountryIso2][Dataset_Adm1][Dataset_City][Dataset_PostalCode][Dataset_Street][Dataset_HouseNumber][Dataset_Distance]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

路線

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>DistanceDurationStatusLowResLine

  • GeoAnalytics[<id>][Dataset_Distance][Dataset_Duration][Dataset_Status][Dataset_PathLowRes]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoAnalytics 中的幾何欄位 Dataset_PathLowResGeoOperations 中是 LowResLine

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

簡化

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>Simplified_<geo field name>

  • GeoAnalytics[<id>][Dataset_Simplified_Geometry]

GeoAnalyticsGeoOperations 有下列差異:

  • 幾何欄位的名稱在 GeoOperationsGeoAnalytics 之間不同。

TravelAreas

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperations<id>TravelAreaCostCostUnitStatus

  • GeoAnalytics[<id>][Dataset_TravelArea][Dataset_Origin][Dataset_Cost][Dataset_CostUnit][Dataset_Status]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoOperations 不包括原始欄位。

  • GeoOperationsGeoAnalytics 之間的前置詞不同。

之內

GeoOperationsGeoAnalytics 傳回下列欄位:

  • GeoOperationsdataset_dataset2_RelationIddataset.<dataset1 id>dataset2.<dataset2 id>

  • GeoAnalytics[Enclosed_Enclosing_RelationId][Enclosed.<dataset 1/2 id>][Enclosing.<datasets 1/2 id>]

GeoAnalyticsGeoOperations 有下列差異:

  • GeoOperations 前置詞包括資料集名稱,而 GeoAnalytics 也包括前置詞 Enclosed

遷移文件

QlikView 文件遷移至您可在 Qlik Cloud 中使用的 Qlik Sense 應用程式時按照此程序。

請執行下列動作:

  1. 評定、識別 QlikView 文件並排列優先順序以進行遷移。您可以使用 QlikView 控管儀表板複雜性 (僅提供英文版)工作表,或 QlikView to SaaS Migration App 的遷移工具索引標籤上的探索物件功能。

    QlikView 至 SaaS 遷移應用程式,遷移工具索引標籤, 探索物件

    QlikView 至 SaaS 遷移應用程式的遷移工具索引標籤上的探索物件
  2. 使用 QlikView 轉換器QlikView 文件轉換至 Qlik Sense 應用程式。請參閱下列範例:

  3. 將已轉換的 QlikView 文件上傳至 Qlik Cloud

    資訊備註您可以使用可用於 Qlik Cloud 遷移工具的 CLI 指令碼 7_migrateapps.ps1 將轉換的 QlikView 文件大量上傳至 Qlik Cloud。參考要匯入的應用程式時,在 exports/apps.csv 檔案中,從 'QSAppName' 中省略 .qvf 副檔名。

載入任務

載入任務必須在 Qlik Cloud 中手動重新建立。

使用 QlikView to SaaS Migration App 識別載入任務。您可在位於遷移工具索引標籤之探索 QVPR 畫面的 QVPR 任務觸發詳細資訊表格中找到載入任務。

QlikView 至 SaaS 遷移應用程式,遷移工具索引標籤, 探索載入任務

QlikView 至 SaaS 遷移應用程式的遷移工具索引標籤上的探索載入任務

記下所有任務詳細資訊,然後在 Qlik Cloud 租用戶中手動重新建立這些任務。

請參閱排程載入應用程式資料瞭解如何建立載入任務。

若您有任務鏈結,需要使用 Qlik Application Automation (QAA),請參閱任務鏈結:教學課程

轉換 QlikView 文件最佳做法

在計畫轉換時考量下列資訊。

QlikView 轉換器

QlikView 轉換器 是一種工具,可支援將 QlikView 文件轉換為 Qlik Sense 應用程式。您可以使用工具將 QlikView 文件中開發的某些值移至 Qlik Sense 應用程式。

轉換器工具可用於 Qlik Sense Desktop。您無法使用 QlikView 轉換器 轉換磁碟上大於 500 MB 的文件。您可以減少文件中的資料量,或儲存沒有資料的文件,以減少文件大小而不損失資產。如需更多資訊,請參閱 Qlik Sense Desktop

QlikView 轉換器 會將大部分的物件移至 Qlik Sense,包括:

轉換器無法轉換特定物件。無法轉換的物件包括下列項目:

  • 容器
  • 觸發程序
  • 巨集
  • 條件陳述式
  • 文字方塊
  • 物件層
  • 自訂圖表色彩
  • 列表框中的運算式

以上許多物件可在 Qlik Sense 中手動重新建立。例如,若沒有轉換觸發程序,可以使用 Qlik Sense 中的預設書籤重新建立開啟時觸發程序的行為。

轉換器會顯示部分 (但不是全部) 沒有轉換的物件。我們建議在 QlikView 中為所有物件建立逐個工作表的詳細目錄,並比較詳細目錄與列於轉換器中的物件。

QlikView 轉換器 (僅提供英文版)

資料載入指令碼

QlikView 和資料載入指令碼一般相容,但可能需要考慮幾個不同點,並調整資料載入編輯器的指令碼,方可重新載入資料。

QlikView 使用 Qlik Sense 標準模式不支援的絕對或相對檔案路徑,因此,您需使用資料夾資料連線指出檔案位置。

LOAD * FROM [<filepath>\SalesRep.csv]; Store MyTable into ‘<filepath>\MyQVD.qvd’ (qvd); Load * From ‘<filepath>\MyQVD.qvd’ (qvd);
LOAD * FROM [lib://<FolderConnection>/SalesRep.csv]; Store MyTable into ‘lib://<FolderConnection>\MyQVD.qvd (qvd); Load * From ‘lib://<FolderConnection/MyQVD.qvd’;

隱藏的指令碼索引標籤

轉換包含隱藏指令碼的 QlikView 文件時,隱藏指令碼部分將忽略,不會包含於 Qlik Sense 指令碼中。轉換文件之前,請在 QlikView 指令碼編輯器中開啟,然後從隱藏的指令碼索引標籤複製程式碼,並在一般指令碼索引標籤中貼上。請注意,您無法在 Qlik Sense 中隱藏指令碼。

標準模式

數個陳述式及函數不能在標準模式下使用,或者有使用限制。如需更多資訊,請參閱檔案系統存取限制文件。

區段存取

含有區段存取的 QlikView 文件不可匯入 Qlik Sense,原因是兩者的格式和支援的功能不同。

轉換具有區段存取的文件時,需要進行下列步驟:

  1. 轉換文件前,請移除 QlikView 指令碼編輯器中的區段存取程式碼。
  2. 轉換文件。
  3. Qlik Sense 應用程式中重新套用區段存取。

您應注意 Qlik Sense 中的一些差異:

  • 使用者驗證已變更。USERID 欄位用於驗證所有使用者,而不再支援 NTNAMEPASSWORD 欄位。
  • 區段存取透過使用 Qlik Sense 中的嚴格排除進行套用。這意味著,您僅可查看您獲授特定存取權的資料。

如果您可存取指令碼,但不可存取資料,則可不需要資料開啟應用程式和編輯指令碼,包括區段存取。

如需更多資訊,請參閱使用 Section Access 管理安全性

集合分析中的引號標記法

較舊的 QlikView 文件、或透過舊版 QlikView 建立的文件當中的集合分析引號標記法,與 Qlik Sense 中的集合分析引號標記法不同。您可能需要在 Qlik Sense 中修改特定的集合分析運算式。

在舊版標記法中,單引號和雙引號的作用相同。單引號和雙引號都解譯為搜尋。可以使用萬用字元 (*, ?)。

在新版標記法中,單引號和雙引號的作用不同。

單引號解譯為常值字串比較。只會找到一個欄位值,在搜尋字串中不可使用萬用字元。例如,星號會解譯為星號。

雙引號會解譯為搜尋。允許使用萬用字元和關係運算子,可以找到數個欄位值。

例如,Sum({$<Country={'Austr*'}>}Sales) 可能需要變更為 Sum({$<Country={"Austr*"}>}Sales)

同樣地,可能需要變更數字或變數比較。例如,Duration={'>3'} 可能需要變更為 Duration={">3"}

QlikView 已從匯出排除的變數

一些變數未從 QlikView 文件匯出,因為這僅與 QlikView 相關,或在 Qlik Sense 以不同方式處理。

下列變數未匯出:

  • 以 CD 開始的所有變數
  • 以 FLOPPY 開始的所有變數
  • QvPath、QvRoot、QvWorkPath、QvWorkRoot
  • WinPath、WinRoot
  • ErrorMode
  • StripComments
  • ScriptErrorCount、ScriptError
  • ThousandSep、DecimalSep、MoneyThousandSep、MoneyDecimalSep、MoneyFormat
  • TimeFormat、DateFormat、TimestampFormat
  • MonthNames、DayNames
  • ScriptErrorDetails、ScriptErrorList
  • OpenUrlTimeout
  • HidePrefix
  • FirstWeekDay
  • BrokenWeeks
  • ReferenceDay
  • FirstMonthOfYear
  • CollationLocale
  • LongMonthNames、LongDayNames

Visit the discussion forum at community.qlik.com

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!