# ScriptOnlyVariables

此 ScriptOnlyVariables 系統變數用於定義僅限指令碼的變數。此變數指定指令碼變數是僅在指令碼中可用，還是也會在指令碼外部可用 (且可見) — 例如，在應用程式中的工作表檢視中。

定義 ScriptOnlyVariables 值之後—無論是明確定義，還是透過其預設值 0 隱含定義—在此定義之後，於 Let 或 Set 陳述式中定義的所有變數都將使用此設定，除非 ScriptOnlyVariables 值稍後在指令碼中變更。這表示您可以將某些變數定義為僅限指令碼使用，並允許其他變數在指令碼外部顯示。

語法：

ScriptOnlyVariables

`ScriptOnlyVariables`ScriptOnlyVariables 值

| 值 | 結果 |
| --- | --- |
| `0` | 除了在指令碼本身中可用之外，變數也會在指令碼外部顯示。<br><br>如果指令碼中未明確定義 ScriptOnlyVariables 變數值，這就是預設值。 |
| `1` | 變數不會在指令碼外部顯示。 |

範例 1: 在指令碼之外顯示變數

在此範例中，變數 `vNotScriptOnly` 已明確設定為在指令碼之外顯示。

```
SET ScriptOnlyVariables = 0;
SET vNotScriptOnly = "example_text";
```

範例 2: 在指令碼之外隱藏變數

在此範例中，變數 `vScriptOnly` 將僅在指令碼執行期間供使用。它將不會在其他地方顯示，例如工作表檢視。

```
SET ScriptOnlyVariables = 1;
SET vScriptOnly = "example_text";
```

範例 3: 隱藏部分變數並顯示其他變數

在此範例中，ScriptOnlyVariables 值在整個指令碼中定義多次，以允許不同的變數設定。變數 `vHideOutsideScript` 將僅在指令碼執行期間可用。變數 `vAllowInSheets` 將顯示在工作表檢視中。

```
SET ScriptOnlyVariables = 1;
SET vHideOutsideScript = "example_text";
SET ScriptOnlyVariables = 0;
SET vAllowInSheets = "example_text";
```

## 何時使用 ScriptOnlyVariables

僅限指令碼的變數可協助您：

* 僅將某些變數用於在資料模型的內容中執行計算和欄位定義。

* 移除不需要用於建立工作表和圖的變數，以簡化應用程式開發。

## 瞭解更多資訊

* [系統變數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/system-variables.htm)
* [Let](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Let.htm)
* [Set](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Set.htm)
* [在資料載入編輯器中使用變數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/work-with-variables-in-data-load-editor.htm)