リスト エレメントおよびインジケーター エレメントの高度な書式設定に Arcade 条件式を使用して、データ ポイントがどのようにレンダリングされるかをカスタマイズできます。 データ ポイントは、エレメントの構成方法に基づいて、フィーチャまたは統計情報のサマリー (個数、平均、最小、最大、合計、または標準偏差) を表すことができます。 フィーチャを使用する場合は、1 つのデータ ポイントが 1 つのフィーチャを表します。 統計情報を使用する場合は、各データ ポイントがその統計情報の結果を表します。 リスト エレメントは、フィーチャ データ ポイントをライン アイテムとしてレンダリングし、各ラインが 1 つのデータ ポイントを表します。 インジケーター エレメントは、データ ポイントを 1 つずつレンダリングします。
属性条件式 (レイヤーのポップアップ、スタイル、およびラベルで使用) とは異なり、エレメントごとに 1 つの条件式が作成されます。 条件式はデータ ポイントごとに実行され、そのエレメントのシステム定義プロパティおよびユーザー定義プロパティを返します。 システム定義プロパティは、テキスト色や背景色など、これ以外の場合はエレメントで構成する設定です。 ユーザー定義プロパティは、ユーザーによって条件式で定義され、エレメントの構成時に参照できます。
注意:
Web マップで作成された属性条件式は、ダッシュボード エレメントでの使用のために引き継がれません。
次の表に、レイヤーのどのデータが条件式に渡されるかについてまとめます。
変数名 | 種類 | 説明 |
---|---|---|
$datapoint | フィーチャまたはディクショナリ | インジケーターおよびリストに適用 |
$reference | ディクショナリ | インジケーターに適用 |
注意:
Arcade 条件式を作成する際には、次の点に留意してください。- ディクショナリ内の各プロパティの後にカンマを含めます (最後のプロパティを除く)。
- 属性名には、スペースも特殊文字も使用できません。
リストでの高度な書式設定
リスト エレメントでは、[高度な書式設定] オプションを有効にすることで Arcade 条件式を使用できます。 高度な書式設定の使用を選択すると、他のシステム定義プロパティとともに、色の入力が使用できなくなります。
条件式は、ライン アイテムごとに実行され、リスト上の各ラインのレンダリング方法の定義に使用されます。 さらに、ライン アイテム テンプレートで参照できる新しい属性の作成にも条件式を使用できます。
データ ポイント属性は、Arcade エディターで $datapoint グローバル変数を使用して参照できます。 次の表に、ディクショナリの形式で条件式から返すことができるプロパティのリストを示します。
プロパティ | 値のタイプ | 説明 |
---|---|---|
textColor | String | ライン アイテムのベース テキスト色 |
backgroundColor | String | ライン アイテムの背景色 |
separatorColor | String | ライン アイテムの下の枠線の色 |
selectionTextColor | String | ライン アイテムが選択されているときにライン アイテム テキストに使用される色 |
selectionColor | String | アイテムが選択されているときに使用されるベース テキスト色 |
attributes | ディクショナリ | 属性値ペアのディクショナリ |
yourAttributeName | 文字列、数値、日付、またはブール値 | {expression/yourAttributeName} 構文を使用して、ライン アイテム テンプレートで参照できる属性 |
注意:
ジオメトリ関数はサポートされていません。
たとえば、値が特定の閾値を超える場合はリストの背景色を赤にしたいのであれば、次のような変数を作成できます。
var color = IIF($datapoint.[field]>[threshold], '#F3DED7','')
この変数で、[field] は値のフィールド、[threshold] は背景色を変更したい値です。 この変数は、次の例のように、プロパティ値として使用できます。
backgroundColor: color,
背景色プロパティでこの変数を使用して、次のような条件式を作成できます。ここでは、速度の値が 40 を超えると、リスト アイテムの背景色が赤になります。
リストでの高度な書式設定の使用
リスト エレメントで書式設定の条件式を使用するには、次の手順に従います。
- エレメントの構成で、[リスト] タブをクリックします。
- [高度な書式設定] セクションで、[有効] をクリックします。
注意:
高度な書式設定が有効になると、色の入力が使用できなくなります。これは、代わりに条件式で設定されます。 高度な書式設定を有効にする前に色を設定した場合、その色は自動的に条件式に追加されます。 - エディターで書式設定の条件式を作成します。
- 指定した間隔で条件式を実行したい場合、たとえば、条件式が [Now()] 関数を使用する場合は、[スクリプトの更新] 切り替えボタンをオンにして、更新間隔を設定します。
- [ライン アイテム テンプレート] で、構文 {expression/yourAttributeName} を使用して任意の新しい属性を入力します。
ヒント:
いずれかの Arcade 関数についてヘルプが必要な場合は、関数の横にある [情報] ボタンをクリックすれば、詳細情報が表示されます。インジケーターでの高度な書式設定
インジケーター エレメントでは、[高度な書式設定] オプションを有効にすることで Arcade 条件式を使用できます。 高度な書式設定を有効にすると、色のオプションや値の書式設定など、システム定義プロパティが使用できなくなり、条件付き書式がオフになります。 条件式を使用して、これらのレンダリング プロパティおよび条件付きのロジックを定義します。 さらに、条件式は、[一般] タブの [タイトル] フィールドと [説明] フィールドで参照されるようにユーザー定義属性を配布できます。
インジケーターに参照値を含める場合、高度な書式設定が有効であると、[データ] タブで統計ベースの参照タイプのみを使用できます。 以前に固定値の参照タイプを定義した場合、その参照タイプは、変換係数、テキスト、および色の書式設定とともに、条件式に自動的に追加されます。 高度な書式設定を有効にする前に行った値の書式設定は削除されるため、値パターンを使用して条件式で定義する必要があります。
注意:
Arcade では、前の値はサポートされていません。 高度な書式設定を有効にする前に、前の値の参照タイプを設定した場合は、現在値に変換されます。
データ ポイント属性は、Arcade エディターで $datapoint グローバル変数を使用して参照できます。 値のタイプがフィーチャであるか統計情報であるかに応じて、$datapoint がそれぞれフィーチャまたはディクショナリのタイプとなります。 [データ] タブで参照統計情報が構成されている場合、エディターで $reference グローバル変数も使用できます。
次の表に、ディクショナリの形式で条件式から返すことができるプロパティのリストを示します。
プロパティ | 値のタイプ | 説明 |
---|---|---|
textColor | String | インジケーター エレメントのベース テキスト色 |
backgroundColor | String | インジケーター エレメントの背景色 |
topText | String | 上位テキストとして表示 |
topTextColor | String | 上位テキストの色 |
topTextOutlineColor | String | 上位テキストのアウトライン色 |
topTextMaxSize | String | 上位テキストの最大サイズ (超極小 | 極小 | 小 | 中 | 大 | 特大 | 超特大) |
middleText | String | 中位テキストとして表示 |
middleTextColor | String | 中位テキストの色 |
middleTextOutlineColor | String | 中位テキストのアウトライン色 |
middleTextMaxSize | String | 上位テキストの最大サイズ (超極小 | 極小 | 小 | 中 | 大 | 特大 | 超特大) |
bottomText | String | 下位テキストとして表示 |
bottomTextColor | String | 下位テキストの色 |
bottomTextOutlineColor | String | 下位テキストのアウトライン色 |
bottomTextMaxSize | String | 上位テキストの最大サイズ (超極小 | 極小 | 小 | 中 | 大 | 特大 | 超特大) |
iconName | String | インジケーターに定義されたアイコンの名前 |
iconAlign | String | 中位テキストに隣接するアイコンの配置 (左 | 右) |
iconColor | String | アイコンの塗りつぶし色 |
iconOutlineColor | String | アイコンのアウトライン色 |
noValue | Boolean | インジケーターの代わりに、値がないというテキストを表示するフラグ (true | false) |
attributes | ディクショナリ | 属性値ペアのディクショナリ |
yourAttributeName | 文字列、数値、日付、またはブール値 | {expression/yourAttributeName} 構文を使用して、[タイトル] フィールドおよび [説明] フィールドで参照できる属性 |
たとえば、ある計測単位で値を表示するインジケーターがあるが、同じ値をそれより下の別の単位でも表示したい場合は、既存の値を変換する変数を作成できます。 平均気温を摂氏で表示するインジケーターでは、値を華氏でも表示するために、条件式で使用する Fahrenheit 変数を作成できます。
var fahrenheit = Floor(($datapoint["avg_Temperature"]/5*9)+32)
その後、この変数を次のようにプロパティ値として含めることができます。
bottomText: fahrenheit,
下位テキスト プロパティでこの変数を使用して、次のような条件式を作成できます。ここでは、平均気温 (摂氏) がインジケーターの中位テキストで表示され、華氏の値が下位テキストで表示されます。
インジケーターでの高度な書式設定の使用
インジケーター エレメントで書式設定の条件式を使用するには、次の手順に従います。
- エレメントの構成メニューで、[インジケーター] タブをクリックします。
- [高度な書式設定] セクションで、[有効] をクリックします。
注意:
高度な書式設定が有効になると、上位テキスト、中位テキスト、および下位テキストのフィールドが使用できなくなります。 これらの構成は条件式で行います。 高度な書式設定を有効にする前に値を入力した場合、その値は自動的に条件式に追加されます。 - エディターで書式設定の条件式を作成します。
- 指定した間隔で条件式を実行したい場合、たとえば、条件式が [Now()] 関数を使用する場合は、[スクリプトの更新] 切り替えボタンを有効にして、更新間隔を設定します。
- 条件式で新しい属性を作成した場合は、構文 {expression/yourAttributeName} を使用して、[タイトル] フィールドおよび [説明] フィールドでその属性を参照できます。
ヒント:
いずれかの Arcade 関数についてヘルプが必要な場合は、関数の横にある [情報] ボタンをクリックすれば、詳細情報が表示されます。カラー値
条件式にカラー値を含める場合、その値は文字列 (引用符で囲まれる) として返される必要があります。 未定義のままのカラー値または無効なカラー値は、自動的にデフォルトを使用します。 受け入れられるカラー値タイプには、Hex 値、RGB、RGBA、HSL、および HSLA が含まれます。 次に、サポートされている構文とともにいくつかの例を示します。
Hex 色
- #090
- #009900
- #090a
- #009900aa
RGB および RGBA
- rgb(34, 12, 64)
- rgba(34, 12, 64, 0.6)
HSL および HSLA
- hsl(50, 33%, 25%)
- hsla(50, 33%, 25%, 0.75)