次の方法で共有


テキスト パラメーター条件

クエリが多数のパラメーターに依存している場合、各パラメーターが解決されるまでクエリは停止します。 パラメーターに、文字列を連結したり、条件付き評価を実行したりする単純なクエリが含まれる場合があります。 このようなクエリはこのような基本的な操作を実行するサービスに対してネットワーク呼び出しを行うため、パラメーターが値を解決するためにかかる時間が長くなります。 これにより、複雑なブックの読み込み時間が長くなります。

条件パラメーターを使用すると、動的な値を提供するために評価される以前に指定したパラメーターに基づき、一連の条件を定義できます。 条件パラメーターを使用する主な利点は、条件パラメーターが以前に指定されたパラメーターの値を解決でき、ネットワーク呼び出しを行わずに単純な条件付き操作を実行できることです。 次の例は、条件パラメーターのユース ケースです。

次の条件付きクエリを考慮します。

条件付きクエリを表示する画面のスクリーンショット。

let metric = dynamic({Counter});
print tostring((metric.object == 'Network Adapter' and (metric.counter == 'Bytes Received/sec' or metric.counter == 'Bytes Sent/sec')) or (metric.object == 'Network' and (metric.counter == 'Total Bytes Received' or metric.counter == 'Total Bytes Transmitted')))

metric.counter オブジェクトのことを考える場合、基本的にパラメーター isNetworkCounter の値は true でなければなりません (パラメーター CounterBytes Received/secBytes Sent/secTotal Bytes Received、または Total Bytes Transmitted が含まれている場合)。

これは条件テキスト パラメーターに変換できます。

条件の例を示す画面のスクリーンショット。

上記のスクリーンショットでは、条件は上から下に評価され、パラメーター isNetworkCounter の値は最初に true と評価された条件の値になります。 既定の条件 ("else" 条件) を除くすべての条件を並べ替えて、目的の結果を得ることができます。

条件の設定

  1. 編集モードで、少なくとも 1 つの既存のパラメーターを含むブックから開始します。

    1. [パラメーターの追加]>[パラメーターの追加] を選びます。
    2. 表示される新しいパラメーター ペインで、次のように入力します。
      • パラメーター名: rand
      • パラメーターの種類: Text
      • 必須: checked
      • データの取得元: Query
      • クエリ エディターで「print rand(0-1)」と入力します。 このパラメーターは、0 から 1 の値を出力します。
    3. [保存] を選択してパラメーターを作成します。

    注意

    ブックの最初のパラメーターでは [条件] タブは表示されません。

    最初のパラメーターを表示する画面のスクリーンショット。

  2. rand パラメーターを含むテーブルで、[パラメーターの追加] を選択します。

  3. 表示される新しいパラメーター ペインで、次のように入力します。

    • パラメーター名: randCriteria
    • パラメーターの種類: Text
    • 必須: checked
    • データの取得元: Criteria
  4. グリッドが表示されます。 空白のテキストボックスの横にある [編集] を選択して、[条件の設定] フォームを開きます。 各フィールドの説明については、[条件の設定] フォームを参照してください。

    条件の設定フォームを表示する画面のスクリーンショット。

  5. 次のデータを入力して最初の条件を設定し、[OK] を選択します。

    • オペランド 1: rand
    • 演算子: >
    • 値の取得元: Static Value
    • オペランド 2: 0.25
    • 値の取得元: Static Value
    • 結果: is over 0.25

    入力済みの条件の設定フォームを表示する画面のスクリーンショット。

  6. 条件 Click edit to specify a result for the default condition の横にある [編集] を選択すると、既定の条件が編集されます。

    注意

    既定の条件では、最後の Value fromResult is のフィールドを除き、すべてを無効にする必要があります。

  7. 次のデータを入力して既定の条件を表示し、[OK] を選択します。

    • 値の取得元: Satic Value
    • 結果: is 0.25 or under

    入力済みの既定の条件の設定フォームを表示する画面のスクリーンショット。

  8. パラメーターを保存します。

  9. ブックの更新ボタンを選択して、randCriteria パラメーターの動作を確認します。 値は rand の値に基づいています。

条件の設定フォーム

フォーム フィールド 説明
オペランド 1 ドロップダウン リストは、既に作成されているパラメーター名で構成されています。 パラメーターの値は、比較の左側で使用されます。
演算子 オペランド 1 と 2 の比較に使用する演算子。 数値または文字列の評価を指定できます。 演算子 is empty では、First operand のみが必要であるため、Second operand は無効になります。
値の取得元 Parameter に設定すると、既に作成されたパラメーターで構成されたドロップダウン リストが表示されます。 このパラメーターの値は、比較の右側で使用されます。
Static Value に設定すると、テキスト ボックスが表示され、そこに比較の右側の値を入力できます。
オペランド 2 上記の Value from の設定内容に応じて、作成されたパラメーターで構成されたドロップダウン メニューまたはテキスト ボックスになります。
値の取得元 Parameter に設定すると、既に作成されたパラメーターで構成されたドロップダウン リストが表示されます。 このパラメーターの値は、現在のパラメーターの戻り値に使用されます。
Static Value に設定した場合:
- 結果の値を入力できるテキスト ボックスが表示されます。
- パラメーター名を中かっこで囲んで、他のパラメーターを逆参照することもできます。
- 複数のパラメーターを連結し、カスタム文字列を作成できます (例: "{paramA}, {paramB}, 文字列")。

Expression に設定した場合:
テキスト ボックスが表示され、そこに結果として評価される数式を入力できます。
- Static Value の場合と同様に、このテキスト ボックスでは複数のパラメーターを逆参照できます。
- テキスト ボックスで参照されたパラメーター値が数値でない場合は、値 0 として扱われます。
結果 上記の Value from の設定内容に応じて、作成されたパラメーターで構成されたドロップダウン メニューまたはテキスト ボックスになります。 テキスト ボックスは、この [条件の設定] フォームの最終的な結果として評価されます。