# 出力構造とアプリの命名

QV2QS はバッチ出力をディレクトリ階層に整理し、Qlik Cloud 展開用の柔軟なアプリの名前付けを提供します。このトピックでは、ディレクトリレイアウトのオプション、推奨設定、および命名テンプレートについて説明します。

情報メモ

単一プロジェクトモードでも、出力ルートの下にプロジェクトごとのサブフォルダーが作成されます。詳細については、[変換の仕組み](https://help.qlik.com/ja-JP/migration/Content/Qv2qsMigration/getting-started/how-conversion-works.htm)を参照してください。

## 出力構造

デフォルトでは、QV2QS は出力ルート配下にソースディレクトリの階層を再現します。各プロジェクトは、ビルド出力、レポート、およびログを含むサブフォルダーを生成します。

階層を保持 (デフォルト)

```
<outputDir>/
  <RelativePath>/
    <ProjectName>/
      build/
      images/
      reports/
      logs/
```

階層をフラット化 (`--batchFlatOutput`)

```
<outputDir>/
  <ProjectName>/
    build/
    images/
    reports/
    logs/
```

階層を維持することは、ソースフォルダーの構造が組織的なグループ分け（部署、地域、事業単位など）を反映しており、出力にもその構造を反映させる必要がある場合に役立ちます。階層のフラット化は、フォルダー構造に意味がない場合や、後続の処理でフラットなリストの方が扱いやすい場合に役立ちます。

2 つのプロジェクトで同じ出力フォルダー名が生成される場合（たとえば、異なるサブディレクトリにある `Sales` という名前の 2 つのプロジェクトなど）、QV2QS は競合を回避するために `_2`、`_3`、およびそれ以降の番号を追加します。

## バッチモードでの設定

すべての変換設定は、バッチ内のすべてのプロジェクトに一律に適用されます。プロジェクトごとのオーバーライドを行う仕組みはありません。固定キャンバススケール、オブジェクトスケール、サイズ制約、クロップ寸法、レイアウト縮小、背景処理、およびその他のすべての設定は、実行内のすべてのアプリに同一に適用されます。

この一律の適用には、実用上重要な意味があります。バッチ変換を実行する際は、類似したアプリケーションをまとめてグループ化してください。画面解像度、背景画像のレイアウト、オブジェクトのサイズが類似しているアプリケーションは、1 つのバッチにまとめるのに適しています。レイアウトやデザインパターンが大きく異なるアプリケーションでは、異なる設定で個別にバッチ実行を行うことが有効です。

バッチ変換の推奨ワークフロー:

1. すべてのソース QVW および QVF ファイルをローカルの作業フォルダーにコピーします。本番ディレクトリやネットワーク共有に対してバッチ変換を実行しないでください。
2. 類似したレイアウト特性 (解像度、背景画像、オブジェクト密度) を持つ QlikView アプリケーションのグループを特定します。
3. 各グループから代表的なアプリケーションをシングルプロジェクトモードで読み込みます。
4. Mockup Studio を開き、レイアウトが満足のいくものになるまで、固定キャンバス、スケーリング、クロップ、サイズ制約の設定を試してください。
5. そのグループで最良の結果が得られる設定をメモしておいてください。
6. バッチモードに切り替え、そのグループを含むフォルダーを指定して、同じ設定を適用します。
7. 各アプリケーション グループに対して繰り返します。

このアプローチにより、汎用的な設定で大規模なバッチを実行した後に、個々のアプリを手動で調整することに時間を費やすという、よくある間違いを回避できます。代表的なサンプルを使用してMockup Studioで数分テストを行うだけで、大規模なバッチ全体でかかる労力を大幅に削減できます。

ヒント メモ

全体にスケールアップする前に、まずは3～5個のアプリケーションの小規模なバッチから開始して設定を検証してください。

## バッチ モードでのアプリの命名

バッチ変換を Qlik Cloud にデプロイする場合、`--qsAppName` で各アプリの命名方法を制御します:

* 指定なし — 各アプリにはプロジェクト名が付けられます (`<Name>`)。
* プレーンテキスト — 値はプレフィックスとして使用されます: `<prefix> - <Name>`。
* プレースホルダーを含むテンプレート — 値は書式指定文字列として扱われます。

テンプレート文字列では、次のプレースホルダーを使用できます。

| プレースホルダー | 説明 |
| --- | --- |
| `{name}` | プロジェクト名 |
| `{rel}` | スキャンルートからの相対ディレクトリパス |
| `{index}` | プロジェクト連番（1から開始） |

例えば、`--qsAppName "Migrated {name} ({rel})"`は`Migrated Sales (region1/finance)`のようなアプリ名を生成します。

## 詳細を見る

* [並列実行](https://help.qlik.com/ja-JP/migration/Content/Qv2qsMigration/batch-conversion/parallel-execution.htm)
* [バッチレポート](https://help.qlik.com/ja-JP/migration/Content/Qv2qsMigration/batch-conversion/batch-reporting.htm)
* [引数リファレンス](https://help.qlik.com/ja-JP/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm)