方法

ArcGIS Online および Portal for ArcGIS Map Viewer で複数のフィールドのフィールド名と値が降順に並べ替えられたポップアップを作成する

Last Published: February 9, 2023

サマリー

ArcGIS Online および Portal for ArcGIS Map Viewer では、複数のステートメントを含む Arcade 式で構成されたポップアップを使用して、フィーチャの複数のフィールドでフィールド名と値を表示および並べ替えることができます。 これにより、ポリゴン内でインシデントが最も高い/低い製品または問題を特定しやすくなります。 この記事では、Arcade 式を使用して、Map Viewer で複数のフィールドのフィールド名と値が降順に並べ替えられたポップアップを作成する例と手順について説明します。

以下の図は、各フィールドとレコードが別れて表示された Map Viewer のポップアップを示しています。

Portal for ArcGIS Map Viewer のレイヤーのポップアップ

手順

  1. Map Viewer でマップを開きます。 コンテンツ (暗い背景の) ツールバーにある レイヤーをクリックし、編集用のポップアップでレイヤーを選択します。
  2. 設定 (明るい背景の) ツールバーでポップアップオプション属性式の順にクリックします。
  3. + 式の追加をクリックして、Arcade 式の編集ウィンドウを開きます。
  4. エディター ウィンドウで、新しい式の名前を指定します。
  5. ダイアログ ボックスで、次の Arcade 式を入力します。
    1. IsEmpty() を最小値として返す Comparator 関数を定義します。
function Comp (a, b) {
  When(
    IsEmpty(a[1]), -1,
    IsEmpty(b[1]), 1,
    Iif(a[1]>b[1], 1, -1)
  );
};
  1. 配列リストの変数を定義します。 この例では、配列は各フィールドのフィールド名とそれに対応するフィールド値で構成されています。
var <variableName1> = [
  ["<fieldName1>", $feature.<fieldName1>],
  ["<fieldName2>", $feature.<fieldName2>],
  ["<fieldName3>", $feature.<fieldName3>],
  ["<fieldName4>", $feature.<fieldName4>],
  ["<fieldName5>", $feature.<fieldName5>],
  ["<fieldName6>", $feature.<fieldName6>],
  ["<fieldName7>", $feature.<fieldName7>],
  ["<fieldName8>", $feature.<fieldName8>],
  ["<fieldName9>", $feature.<fieldName9>],
];
  1. 次のステートメントを指定して、並べ替えタイプを決定します。 次のコード ブロックは、降順で並べ替えの例です。 昇順で並べ替えの場合は、Reverse() 関数を無視します。
<variableName1> = Reverse(Sort(<variableName1>, Comp));
  1. 次のステートメントを指定して、並べ替えられたテキスト値を返します。 この例では、追加のテキスト書式設定がコード ブロックに含まれています。 最終結果では、すべての括弧が削除され、カンマがコロンに変更されます。
var <variableName2> = "";
for (var i in <variableName1>) {
  if (<variableName2> == "") {
    <variableName2> = Replace(Replace(Replace(<variableName1>[i], '["', ""), '",', ": "), ']', "");
  } else {
    <variableName2> += TextFormatting.NewLine + Replace(Replace(Replace(<variableName1>[i], '["', ""), '",', ": "), ']', "");
  }
}

return <variableName2>;

次のコード ブロックは、完全な動作式の例です。

function Comp (a, b) {
  When(
    IsEmpty(a[1]), -1,
    IsEmpty(b[1]), 1,
    Iif(a[1]>b[1], 1, -1)
  );
};

var arr = [
  ["BREASTCANCER", $feature.BREASTCANCER],
  ["CARDIOVASCULAR", $feature.CARDIOVASCULAR],
  ["CERVICALCANCER", $feature.CERVICALCANCER],
  ["COLONCANCER", $feature.COLONCANCER],
  ["DIABETES", $feature.DIABETES],
  ["INFLUENZA", $feature.INFLUENZA],
  ["LUNGCANCER", $feature.LUNGCANCER],
  ["PROSTATECANCER", $feature.PROSTATECANCER],
  ["SKINCANCER", $feature.SKINCANCER],
];

arr = Reverse(Sort(arr, Comp));

var result = "";
for (var i in arr) {
  if (result == "") {
    result = Replace(Replace(Replace(arr[i], '["', ""), '",', ": "), ']', "");
  } else {
    result += TextFormatting.NewLine + Replace(Replace(Replace(arr[i], '["', ""), '",', ": "), ']', "");
  }
}

return result;
  1. 実行をクリックすると、式の結果のプレビューが表示されます。 必要な結果が得られたら、完了をクリックします。
Portal for ArcGIS Map Viewer のエディター ウィンドウで Arcade 式を指定する
  1. ポップアップ式ウィンドウで Arcade 式の上にある前へボタンをクリックします。
新たに作成した式の上に前へアイコンが表示されている Portal for ArcGIS Map Viewer のポップアップ式ウィンドウ
  1. フィールド リストをクリックし、ポップアップに表示されているフィールドのリストを展開してフィールドの選択をクリックします。
  2. セクションの式フィールドをオンにし、完了をクリックします。
  3. 必要に応じて、式フィールドの横にある並べ替え 並べ替えアイコン をクリックして、フィールド選択セクションの下の新しい位置にドラッグします。

以下の図は、新しく追加された Diseases-Sorted フィールドと、Arcade 式を使用した後にポップアップ内で降順に並べ替えられた複数のフィールド名と値を示しています。

Portal for ArcGIS Map Viewer に新しく追加された Diseases-Sorted フィールドを表示するポップアップ

記事 ID: 000029130

新しい問題や一般的な問題に対する通知とソリューションの受け取り

新しい AI チャットボットから、要約された回答とビデオソリューションを入手してください。

Esri Support アプリのダウンロード

関連情報

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動