kentaroWakamatsu
Contributor

Re: QVWファイルを開く際の自動リロード

どうしても解決策が無い場合、以下のような方法をとってみてはどうでしょうか?

【前準備】

①ユーザーが最低限必要なオブジェクトとデータだけを実装したファイルを用意する。

  (このファイルをQVW1とします)

②スクリプト内にQVW1をコピペするコマンドだけを記載したQVWファイルを新たに作成する。

  (例)Execute cmd.exe /c copy D:\QlikView\Documents\.........QVW1.qvw   \\.......コピーQVW1.qvw;

 QVW1の貼り付け先は、ユーザーがアクセス可能な共有フォルダにして下さい。

 

  (このファイルをQVW2とします)

③マネジメントコンソールを使い、10分ごとにQVDファイル作成を実行しているQVWファイルのタスクスケジュールの後ろへQVW1,QVW2の順でロードタスクを追加する。

これによりQVW1更新後、QVW1のコピー(このファイルをコピーQVW1とします)が共有フォルダに設置されます。

【ユーザー側作業】

④ドキュメントを新規作成し、コピー後のQVWファイルを取り込むロードスクリプトを記載します。

記載内容をコピーできるようにメールなどで送付し、貼り付けのみでユーザー側は作成します。

また、このスクリプトは、バイナリロードでコピーQVW1を取り込むだけの内容ですので、メールで大丈夫だと思います。

  (例)Binary '..............................................................................\コピーQVW1.qvw';

⑤QVW1を開き、自身で作成したファイルに必要なオブジェクトをコピーし保存します。

⑥データ更新が必要なときに、ユーザーがリロードアイコンでリロードを行ないます。

大前提として、ユーザーのPCで動く程度のファイルサイズでないとだめですが、バイナリロードで取り込むので、変更時は開発者側は今までどおりQVW1のみの変更だけで大丈夫です。

ユーザー側は、オブジェクトの追加や変更時だけ自身で作成しているファイルのオブジェクトを本番ファイルからコピーしてきて差し換えるだけですむので、あまり手間は無いと思います。

ユーザー側のデータの抽出ルールが決まっているのであれば、CSVファイルを所定のフォルダへ出力するスクリプトを記載するように変更しても良いと思いますが、この場合は上書き保存する運用は行なわず、ファイル名に出力日時情報などを追加してファイルを追加作成する運用の方が良いとおもいます。