お問い合わせ
2 分で読むことができます。

【Qlik Sense】エラー変数「ErrorMode」と「ScriptError」

2024年8月02日

はじめに

今回ご紹介するのは、Qlik Senseのエラー変数である「ErrorMode」と「ScriptError」です。

Qlik Sense において、リロード中にエラーが発生した場合は実行が停止しますが、そのエラーを無視してリロードを続行したい場合もあるかと思います。そんなときに便利なのが「ErrorMode」と「ScriptError」です。

 

ErrorModeとは

Qlik Senseのエラー変数のひとつで、スクリプトの実行中にエラーが発生したときに、Qlik Senseによって実行されるアクションを定義します。この変数に設定できる引数は、0,1,2の3つです。

デフォルトの設定では「1」となっており、エラーが発生するとスクリプトの実行が中止され、ユーザーのアクションが要求されます。「0」を引数とすると、Qlik Senseはエラーを無視し、スクリプトの続きを実行します。

 

ScriptErrorとは

Qlik Senseのエラー変数のひとつで、最後に実行されたスクリプトステートメントのエラーコードを返します。エラーコードには、0~12と16の14種類があります。

例えば、「ファイルが見つからない」場合のエラーコードは「8」、「テーブルが見つからない」場合のエラーコードは「10」など、エラーの種類によってエラーコードが決まっています。

 

ErrorModeとScriptErrorを組み合わせた使用例

ErrorModeとScriptErrorを使用する例として、以下のシチュエーションを想定します。

例)SampleというQVDから、Sampleという名前のテーブルを作成したいものの、何らかの理由でQVDが存在せずリロードが完了しない可能性がある場合。

「SampleというQVDから、Sampleという名前のテーブルを作成したい」場合は、ロードスクリプトで以下のように記載すると思います。

もし、指定したパス上に「Sample.qvd」というファイルが存在しない場合、以下のようにエラーが発生して、リロードが完了しません。

 

しかし、「QVDが存在しない場合にはエラーを無視し、レコードのない項目のみのテーブルをINLINEで作成したい」などという場面があるかもしれません。そんなときに、「ErrorMode」と「ScriptError」の出番です。

まず、以下の画像をご覧ください。

ポイントは3点あります。

① エラーが発生してもエラーを無視してスクリプトの実行を続けるために、スクリプトの先頭に「SET ErrorMode = 0;」と記載します。

② ファイルが存在しない場合のエラーコードが「8」なので、「ScriptError=8」のときに行ってほしい処理を記載します。

③ エラーの発生を無視して良いスクリプトの末尾に、「SET ErrorMode = 1;」と記載します(これより後のスクリプトでエラーが発生した場合はエラーが無視されず、リロードが完了しない)。

 

上記のスクリプトを実行すると、以下の通り、やはりファイルが存在しないというエラーが発生しますが、強制的にリロードが完了します。

 

データモデルビューアを見ると、INLINEで定義したテーブルが作成されていることが確認できます。

 

おわりに

Qlik Senseのエラー変数「ErrorMode」と「ScriptError」について、理解を深めていただけたでしょうか?他にも紹介しきれていないErrorModeやScriptErrorがありますので、用途に合わせてぜひ試してみてください!

 

参考

1. ErrorMode|Windows 用 Qlik Sense ヘルプ(https://help.qlik.com/ja-JP/sense/May2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ErrorVariables/ErrorMode.htm

2. ScriptError|Windows 用 Qlik Sense ヘルプ(https://help.qlik.com/ja-JP/sense/May2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ErrorVariables/ScriptError.htm

 

Topics: QlikSense
Noa

Written by Noa

宮城県仙台市出身。2023年新卒入社。 野球と楽天イーグルスをこよなく愛する。 プロ野球に関するデータが大好物。

Qlik_No1_2022
QSナレッジ事例バナー
DXバナー
Qlikseminar
qs_trial
Qllikseminar
Vizlibナレッジ
Vizlibセミナー
qv_knowledge
book_kawaii
Snowflake_バナー

新着記事

タグ別の記事

全て表示