# Direct Query スクリプト変数

スクリプト変数を使用すると、Direct Query アプリケーションの内部構造を記述および操作したり、リロード時の追加出力情報を有効にしたりできます。

ドロップダウンを使用して、その変数の簡単な説明と構文を確認できます。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryResultCacheExpirySeconds

この変数により、キャッシュされたクエリ結果が古いとみなされる年齢をアプリケーションが指定できます。

年齢は、結果が最初にキャッシュされた時点から定義されます。キャッシュされた結果の年齢が n 秒以上の場合は古いとみなされ、一致するクエリのキャッシュされた結果として使用されません。代わりに、問題のクエリがキャッシュされた結果が存在しないときと同様に実行されます。

クエリが再実行されると、現行キャッシュとメモリ状態によって、その新しい結果がキャッシュされる可能性があります。キャッシュされている場合、n 秒で古くなるまで加齢を開始します。

この変数の既定値は 30 です。つまり、キャッシュされたクエリ結果が 30 秒後に古いとみなされるということです。

サポートされている変数値

| 値 | 説明 |
| --- | --- |
| -1 | この設定は、ユーザーがログイン中はキャッシュが保持されるということです。 |
| 0 | キャッシュは完全に無効化されます。 |
| 1-9,223,372,036,854,775,807 | キャッシュされた結果が古いとみなされる年齢を秒単位で設定します。 |
| &gt; 9,223,372,036,854,775,807 | 変数を 30 に設定するのと同様です。 |

DirectQueryResultCacheExpirySeconds=n;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryRowFetchMaxCount

Direct Query を使用したほとんどのチャートで取得される最大行数の既定値は、クライアント クエリによって決定され、256 から 1000 まで変化します。例外は散布図で、既定の最大値は 2500 に固定されています。これは、Direct Query をサポートするチャートの中には、チャートの内容に対する非限定 SQL クエリの結果が n 行を超える場合でも、n 行を超える結果を表示しないものがあることを意味します。

DirectQueryRowFetchMaxCount スクリプト変数は、表チャートに表示する最大行数を増やしたり制限したり、散布図チャートに表示する最大結果を既定の最大値 2500 以下に制限したりするために存在します。

情報メモDirectQueryRowFetchMaxCount の値は、集約操作には影響しません。

さらに、DirectQueryRowFetchMaxCount には次の考慮事項があります。

* DirectQueryRowFetchMaxCount の既定値は -1 (使用されていないことを意味します) です。

* スクリプト変数 DirectQueryRowFetchMaxCount を 0 より大きい値に設定すると、テーブル チャートの入力クエリでデータベースから最大 DirectQueryRowFetchMaxCount 行 (以下の表に示す最大値) を取得できます。

* DirectQueryRowFetchMaxCount が 0 から 2500 の間に設定されている場合、DirectQueryRowFetchMaxCount の値は散布図チャートに入力するために取得される最大データ行を制限するためにも使用されます。

* DirectQueryRowFetchMaxCount スクリプト変数の効果を取り消すには、変数を未定義にするか、明示的に -1 に設定します。

サポートされている変数値

| 値 | 説明 |
| --- | --- |
| 0 | 値 0 は、テーブル チャートの行の取得にのみ影響する特別な値です。この設定により、テーブル チャートを作成するために、該当するすべての行 (選択内容に応じて) が動的にページ分割されます。ページ区切りの合計行の最大数を決定するには、初期カウント クエリを実行して、リモート データベースがテーブルの作成クエリに対して返す合計行数を決定します。<br><br>この変数を 0 に設定すると、サポートされている他のすべての Direct Query チャート (表と散布図を除く) は、クライアントが指定した既定の最大行数を取得します。散布図では、既定の最大値である 2500 行が取得されます。<br><br>情報メモこれは、各ロードまたは選択に対してクエリを 1 回ではなく 2 回実行するため、データベースのパフォーマンスとコストにかかる費用が増える可能性があります。 |
| 1-100,000 | リモート データベースからテーブルまたは散布図を取得する最大行数を設定します。散布図では、表示のために 2500 行以上が取得されることはないことに注意してください。 |
| &gt; 100,000 | 変数を 0 に設定するのと同じ効果です。 |

DirectQueryRowFetchMaxCount=n;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryPreviewSql

この変数のデフォルト値は 0 です。

この変数を 0 より大きい値に設定すると、Direct Query アプリケーションのデータのロード (リロード) アクションの出力に追加情報を含めることができます。

追加情報には、リモート データベースに送信された SQL クエリが表示され、テーブルのカスタム SQL 定義の結果をプレビューできます。この情報は、カスタム SQL ステートメントの結果の期待値を検証、評価、または改善するのに役立ちます。関連情報については、DirectQueryPreviewResp 変数を参照してください。

DirectQueryPreviewSql=1;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DirectQuery/internal-variables-direct-query.htm)

#### DirectQueryPreviewResp

この変数のデフォルト値は 0 です。

この変数を 0 より大きい値に設定すると、Direct Query アプリケーションのデータのロード (リロード) アクションの出力に追加情報を含めることができます。

追加情報は、テーブルのカスタム SQL 定義に関連してリモート データベースに送信された SQL クエリの結果を表示します。関連情報については、DirectQueryPreviewSql 変数を参照してください。

DirectQueryPreviewResp=1;