전환 작동 방식
마지막 업데이트: 2026. 10. 14.변환 파이프라인은 다음 단계를 가집니다:
- 추출 — 만약
--generatePrj이(가) 활성화된 경우, QV2QS는 QlikView Desktop을 실행하여 QVW 파일을 PRJ 폴더로 추출합니다.QV2QS는 QlikView Desktop의 시스템 설치가 감지되지 않는 한 번들로 제공되는 휴대용 엔진을 사용합니다.자세한 내용은 QlikView Desktop 엔진을(를) 참조하십시오. - 구문 분석 — QV2QS는 PRJ 폴더를 읽고 모든 개체 정의, 시트 레이아웃, 로드 스크립트, 변수 및 문서 속성을 구문 분석합니다.QV2QS는 QVW/QVF 바이너리를 직접 읽어 메타데이터, 변수 및 파일에 포함된 숨겨진 로드 스크립트를 추출합니다.
- 변환 — 각 QlikView 개체는 Qlik Sense 시각화 유형에 매핑됩니다.차원, 측정값, 표현식, 스타일링 및 레이아웃 위치는 Qlik Sense JSON 형식으로 변환됩니다.
- 쓰기 — QV2QS는 변환된 앱 구조를 JSON 파일 세트로 출력 폴더에 작성합니다.
- 배포 (클라우드 모드에서만) — QV2QS는 테넌트에 앱을 생성하고, 미디어를 업로드하고, 앱을 빌드하며, 선택적으로 데이터를 사용하여 앱을 다시 로드합니다.
- 보고서 — QV2QS는 결과, 자동화 점수, 그리고 수동 팔로우업이 필요한 항목들을 요약하는 전환 보고서를 생성합니다.
배포 단계는 Build to Qlik Cloud 및 Export QVF 모드에서 실행됩니다.로컬 전용 모드에서 QV2QS는 Qlik Cloud에 연결하지 않고 변환된 출력을 디스크에 씁니다.보고서 단계는 모든 모드에서 실행됩니다.
변환 모드
QV2QS는 세 가지 변환 모드를 지원합니다.마법사의 설정 단계에서 또는 해당 CLI 플래그를 사용하여 모드를 선택합니다.
| 모드 | CLI 플래그 | Qlik Cloud 필수 | 출력 | 배포 단계 |
|---|---|---|---|---|
| Qlik Cloud 대상 빌드 | (기본값) | 예 | 앱이 테넌트에 배포됨 | 예 — 앱을 생성하고, 미디어를 업로드하고, 빌드하고, 시트를 게시합니다 |
| QVF 내보내기 | --exportQvf
|
예 | 디스크의 QVF 파일 | 예 — Qlik Cloud에서 앱을 빌드하고, QVF로 내보낸 다음, 클라우드 앱을 삭제합니다. |
| 로컬 전용 | --unbuildOnly
|
아니요 | 디스크에 빌드 폴더 및 변환 보고서 | 아니요 |
Qlik Cloud로 빌드는 마이그레이션을 위한 권장 모드입니다.QVF 내보내기는 다른 테넌트와 공유하거나 다른 테넌트로 가져올 수 있는 이식 가능한 파일을 생성하는 데 유용합니다.로컬 전용 모드는 평가 및 검토를 위한 것입니다.로컬 전용 제한 사항에 대한 자세한 내용은 아래 섹션을 참조하십시오.
사용자 인터페이스는 기본적으로 고정 캔버스 모드, 다시 로드 활성화, 자동 이진 활성화로 설정됩니다.CLI는 기본적으로 동적 그리드 모드, 다시 로드 비활성화, 및 자동 바이너리 비활성화로 설정됩니다.마법사에서 CLI로 전환할 때, 마법사의 동작과 일치하도록 이 플래그를 명시적으로 지정하십시오.인수 및 기본값의 전체 목록은 인수 참조를 참조하십시오.
로컬 전용 모드
로컬 전용 모드(--unbuildOnly)는 Qlik Cloud에 연결하지 않고 Parse, Convert, Write, Report 단계를 수행합니다.테넌트 또는 API 키가 필요하지 않습니다.QV2QS는 전체 변환 보고서, 요약 보고서 및 빌드 출력 폴더를 디스크에 생성합니다.
사용 사례
- 마이그레이션 평가 — Qlik Cloud 액세스 없이 변환 보고서, 경영진 요약, 자동화 점수, 표현식 결과물을 생성하려면 로컬 전용 모드를 실행합니다.테넌트 자격 증명을 설정하기 전에 전체 QVW 환경에서 변환 품질을 평가하세요.
- 배포 전 검토 — 클라우드 배포를 확정하기 전에 생성된 출력(로드 스크립트, 객체 정의, 변수, 차원)을 검사합니다.변경 제어 프로세스를 사용하는 조직은 출력을 중간 아티팩트로 검토할 수 있습니다.
- 오프라인 또는 제한된 환경 — QVW 파일을 호스팅하는 머신에 아웃바운드 인터넷 액세스가 없는 경우, 로컬 전용 모드를 실행하여 변환 보고서를 로컬에서 생성합니다.변환된 앱을 배포하려면, Qlik Cloud 액세스 권한이 있는 머신으로 QVW 파일을 복사하고 연결된 머신에서 QV2QS를 Qlik Cloud 빌드 모드로 실행합니다.
제한 사항
배포 단계는 qlik app build 단독으로는 수행하지 않는 여러 작업을 처리합니다.로컬 전용 모드를 실행한 다음, 독립형 qlik-cli 설치를 사용하여 build/ 폴더를 수동으로 배포하면 다음과 같은 차이가 발생합니다.
- 미디어 파일이 업로드되지 않았습니다.배경 이미지와 버튼 이미지는
images/폴더에 추출되지만,build/폴더에는 포함되지 않습니다.qlik app build명령은 미디어 파일을 처리하지 않습니다.모든 배경 이미지와 버튼 이미지가 배포된 앱에서 누락됩니다. - 시트 및 개체 배경 참조가 확인되지 않았습니다.QV2QS는 클라우드 앱 ID를 사용하여 배포 단계 중에 배경 이미지 URL을 시트 및 개체 JSON 파일에 삽입합니다.로컬 빌드 출력에 배경 이미지 참조가 포함되어 있지 않습니다.시트와 개체는 배포된 앱에서 배경이 없습니다.
- 버튼 이미지 URL에는 자리 표시자 문자열이 포함되어 있습니다.로컬 빌드 출력의 버튼 이미지는 확인된 미디어 URL 대신 내부 플레이스홀더 값을 사용합니다.Qlik Sense 엔진은 자리 표시자 문자열을 해석할 수 없습니다.버튼 이미지가 깨져서 보일 것입니다.
- 대체 상태가 생성되지 않습니다.대체 상태 이름은
build/폴더 외부에 있는cloud/alternate_states.json에 기록됩니다.qlik app build명령은 대체 상태를 처리하지 않습니다.기본값이 아닌 상태를 참조하는 개체는 올바르게 표시되지 않을 수 있습니다. - 시트가 게시되지 않았습니다.
qlik app build명령은 앱 소유자에게만 보이는 개인 개체로 시트를 생성합니다.QV2QS는 배포 단계에서 시트를 기본 시트로 게시합니다.공유 공간에서는 시트가 수동으로 게시될 때까지 다른 사용자는 시트를 볼 수 없습니다.
완전한 배포(미디어 업로드, 배경 해상도, 대체 상태 생성 및 시트 게시 포함)를 위해서는 로컬 전용 모드 대신 Qlik Cloud로 빌드 모드 또는 QVF 내보내기 모드를 사용하십시오.
소스 파일 안전성
QV2QS는 원본 QVW 또는 QVF 파일의 내용을 수정하지 않습니다.추출 단계에서 QV2QS는 QlikView Desktop을 통해 원본 문서를 열고 시스템 임시 폴더에 임시 복사본을 저장합니다.QV2QS는 원본을 닫은 다음 임시 복사본에서 PRJ 폴더를 생성합니다.PRJ 생성이 완료되면, QV2QS는 결과 -prj 폴더를 원본 파일과 동일한 디렉터리로 다시 복사하고 임시 복사본을 삭제합니다.만약 -prj 폴더가 소스 파일 옆에 이미 존재한다면, QV2QS는 해당 폴더를 새로 생성된 버전으로 교체합니다.다른 모든 변환 출력은 --outputDir에 의해 지정된 별도의 출력 디렉터리에 기록됩니다.
QlikView Desktop은 임시 복사본이 생성되는 동안 원본 문서에 파일 잠금을 획득합니다.QlikView Desktop에서 활성 상태로 열려 있거나 QlikView Server에서 제공되는 파일에 대해 QV2QS를 실행하면 파일 잠금 충돌 또는 PRJ 생성 실패를 유발할 수 있습니다.공유 네트워크 드라이브의 파일도 동일한 충돌을 일으킬 수 있습니다.네트워크 공유 또는 읽기 전용 디렉터리에 -prj 폴더를 다시 쓰는 것도 실패할 수 있습니다.
프로덕션 환경에 대한 위험을 방지하려면 항상 원본 문서의 사본으로 작업하십시오.다음을 수행합니다.
- QV2QS가 실행되는 머신의 로컬 작업 폴더에 QVW 또는 QVF 파일을 복사합니다.
- QV2QS를 복사된 파일로 지정하세요. 원본 파일이 아닌.
- 변환을 시작하기 전에 실행 중인 모든 QlikView Desktop 인스턴스를 닫으십시오.QV2QS는 QlikView Desktop에 대한 독점적인 액세스가 필요합니다.
QlikView Server 문서 폴더, 프로덕션 네트워크 공유 또는 QlikView Desktop에서 열려 있는 파일에 대해 QV2QS를 직접 실행하지 마십시오.항상 원본 문서의 로컬 복사본을 사용하십시오.
일반적인 타이밍
QV2QS는 속도를 위해 설계되었습니다.전체 파이프라인은 몇 시간씩 걸리지 않고 몇 분 안에 완료됩니다.다음 표는 단일 앱 전환에 대한 일반적인 기간을 보여줍니다.
| 단계 | 일반적인 기간 | 메모 |
|---|---|---|
| 추출 (PRJ 생성) | 5–15초 | QVW 복잡성에 따라 다릅니다.PRJ 폴더가 이미 존재하는 경우 건너뜀. |
| 구문 분석 + 변환 + 쓰기 | 30초 미만 | 핵심 XML-JSON 변환.수백 개의 객체를 가진 복잡한 앱도 처리합니다. |
| 배포 (클라우드 빌드) | 1~3분 | 테넌트에서 앱 생성, 미디어 업로드 및 앱 빌드를 포함합니다. |
| 다시 로드 | 달라짐 | 데이터 볼륨, 데이터 소스 지연 시간 및 테넌트 리소스에 따라 달라집니다.일반적인 QVW의 이진 로드는 1분 이내에 완료됩니다. |
단일 앱 변환은 클라우드 배포 및 데이터 다시 로드와 함께 일반적으로 처음부터 끝까지 2분에서 5분 이내에 완료됩니다.로컬 전용 변환(--unbuildOnly)은 30초 이내에 완료됩니다.
일괄 모드에서 QV2QS는 여러 프로젝트를 병렬로 변환합니다.총 배치 시간은 프로젝트 수를 작업자 수로 나눈 값에 비례합니다.4개의 작업자로 20개 앱 배치의 경우, 로컬 변환 단계에 걸리는 시간은 단일 앱 지속 시간의 대략 5배에 클라우드 배포 시간을 더한 값으로 예상됩니다.
출력 폴더 구조
--outputDir 인수는 출력 루트를 지정합니다.QV2QS는 출력 루트 내부에 QVW 파일(또는 PRJ 폴더)의 이름을 따서 명명된 하위 폴더를 생성합니다.프로젝트의 모든 변환 출력은 해당 하위 폴더에 기록됩니다.두 개의 QVW 파일이 같은 이름을 공유하는 경우, QV2QS는 충돌을 피하기 위해 _2, _3 및 그 이후의 숫자를 추가합니다.이 동작은 배치 모드와 일치하며, 배치 모드에서는 각 프로젝트도 전용 하위 폴더를 할당받습니다.
<outputDir>/
<ProjectName>/
build/
images/
reports/
logs/
cloud/
qvf/
QV2QS는 해당 폴더가 아직 존재하지 않는 경우 출력 폴더를 생성합니다.동일한 QVW의 이전 실행에서 폴더가 존재한다면, QV2QS는 해당 폴더를 재사용합니다.폴더의 기존 로그 파일은 로그 정리가 활성화되지 않는 한 보존됩니다.출력 디렉터리는 소스 디렉터리와 같거나 소스 디렉터리의 상위 디렉터리여서는 안 됩니다.QV2QS는 변환을 시작하기 전에 출력 경로를 검증하며, 경로가 겹치는 경우 오류를 보고합니다.프로젝트 하위 폴더에는 다음이 포함됩니다:
| 폴더 / 파일 | 목차 |
|---|---|
build/
|
Qlik Sense 앱의 qlik app build을(를) 위한 구조.포함되어 있습니다 config.yml (빌드 매니페스트), script.qvs (로드 스크립트), app-properties.json, connections.yml (데이터 연결), dimensions.json (마스터 차원), measures.json (마스터 측정값), variables.json, 그리고 objects/ 하위 폴더가 있으며, 각 시트 및 시각화에 대해 하나의 JSON 파일이 있습니다. |
images/
|
추출된 미디어 파일(콘텐츠 해시로 중복 제거됨) 및 backgrounds.json (백그라운드 매니페스트). |
reports/
|
executive_summary.json, executive_summary.html, 그리고 Excel 변환 보고서(*_conversion_report_*.xlsx) (활성화된 경우). |
logs/
|
실행별 구조화된 로그 파일. |
cloud/
|
cloud_state.json (앱 ID, 미디어 해시, 시트 ID 매핑, 타임스탬프) 및 alternate_states.json.클라우드 배포 중에 생성됨. |
qvf/
|
내보낸 QVF 파일(--exportQvf 사용 시 생성됨). |
.qv2qs_source
|
어떤 QVW가 하위 폴더를 생성했는지 기록하는 마커 파일.QV2QS는 마커를 사용하여 이름 충돌을 감지하고 후속 실행 시 올바른 폴더를 재사용합니다. |
변환이 완료되면 마법사에서 출력 폴더를 직접 엽니다.
변환 후
변환이 완료되면 우선순위별로 그룹화된 다음 항목들을 처리하세요.
게시하기 전에 수정
reports/하위 폴더에 있는 Excel 변환 보고서를 열고 Follow-up_Objects 워크시트를 검토합니다.먼저 오류로 표시된 모든 항목(변환에 실패한 개체)을 수정한 다음, 자리 표시자(재구축이 필요한 개체)를 수정하고, 마지막으로 조정 필요(부분적으로 변환된 개체) 항목을 수정하세요.- 분석 워크시트에서 분석 결과를 검토하세요. 여기에는 매크로 참조, Section Access 사용량, 그리고 수동으로 처리해야 할 로드 스크립트 패턴이 포함됩니다.
- 표현식이 올바르게 평가되는지 확인합니다.QV2QS는 변환 중에 집합 분석 인용 문제를 자동으로 수정합니다.수동으로 다시 작성해야 하는 QlikView 전용 함수(
GetCurrentField(),MsgBox())를 사용하는 계산된 차원, 조건부 색상 지정 및 표현식을 검토합니다. - 과도한 차원 또는 측정값이 대안 컬렉션으로 이동된 개체에 대해서는 Overflow_Actions 워크시트를 확인하십시오.
게시하기 전에 확인
- 변환된 앱을 Qlik Sense에서 열고 시트 레이아웃, 개체 위치 및 배경 이미지가 예상대로 표시되는지 확인합니다.
- 탭 컨테이너 탐색(버튼 스트립 또는 탭 컨테이너)이 콘텐츠 영역 간에 올바르게 전환되는지 확인하세요.
- 차원 그룹을 사용하는 차트에서 드릴다운 및 순환 그룹 순환 동작을 테스트합니다.
- 표시 조건이 예상대로 개체를 숨기고 표시하는지 확인하십시오.
- 목록 상자 및 테이블의 정렬 순서를 확인하세요. 특히 날짜 형식 필드에 대해 확인하세요.
폴란드어
- 필요에 따라 Qlik Sense 앱 편집기에서 글꼴, 색상 또는 개체 위치를 조정하세요.레이아웃 위치 지정에 대한 안내는 변환 레이아웃 설정을 참조하십시오.
보고서 내용에 대한 자세한 설명은 전환 보고서를 참조하십시오.