Qlikではかなり大きなコードセットがあります。スクリプトの開始時に定義されている日付があります。
Let vBDate = Date(Date#('01/01/2015','MM/DD/YYYY'),'MM/DD/YYYY');
Let vEDate = Date(Date#('12/31/2015','MM/DD/YYYY'),'MM/DD/YYYY');
コード全体は、特定のデータソースに基づいて財務数値を実行します。もともと私はデータソースごとにこのQVWのバージョンを持っていました。ただし、財務によくあることですが、QVWは常に改善する必要があります。そこで、それらすべてを1つのコードにマージしました。コードをさまざまなタブに分割して、不要なソースをオフにできるようにしました。
私がやりたいのは、次のように、コード内で変数を設定しようとすることです。
Let vROIType = 'Vendor';
または、ボタンを使用してデザイナー側で変数を定義する、この質問での最初の試みで回答した方法を使用します。
変数が設定されると、その変数に関連付けられたコードのみがリロードで実行され、他のコードはスキップされることが期待されます。
私の研究では、スクリプトで関数を作成し、コードを使用してそれらを呼び出そうとしましたが、呼び出しは常にエラーになりました。QVDについても読みましたが、日付変数の多くは実行の開始時に定義されており、QVDを事前に実行する必要があります。
どんな助けでもいただければ幸いです。
スクリプトの適切なセクションを条件文で適切にラップする限り、これはそれを達成するはずです:
再ロードする正しいスクリプトを参照するために述べたように、[変数の概要]ウィンドウ(ctrl + alt + v)から変数を作成します(vROIType
)
ボタンまたはテキストボックスを作成し、vROIType
変数の値を変更するアクションを設定します。2つのボタンを作成するだけで、適切なボタンをクリックして正しいデータソースを選択できます。
メニューからリロードするか、スクリプトをリロードするアクションを含む別のテキストボックス/ボタンを作成します。
最も重要なことは、スクリプトで条件を使用して、vROIType
変数に基づいて正しい部分を選択的に実行することです。
if vROIType = 'Vendor' then
Everything in the script you want run when the source is `Vendor`.
elseif vROIType = 'SomeOtherVendor' then
Everything in the script you want run when the source is ....
end if;
リロード時に、スクリプトはvROIType
変数を調べ、それを使用してスクリプトの一部を実行するかどうかを決定します。Qlikviewの有料バージョンをお持ちの場合に試すことができる簡単な例へのリンクを次に示します。そうでない場合は、サードパーティの.qvwを開くことができないと怒鳴ります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加