サマリー
場合によっては、前の質問の値に基づいて回答を入力するために、フィールドに複数の式が必要になることがあります。 次に、ArcGIS Survey123 Connect を使用してこれを実現する 3 つの例を示します。
手順
選択したメーターのタイプに基づく式で計算されたメーターの電力を入力する
この例では、選択したメーターのタイプに基づく 2 つの異なる式でメーターの電力を計算します。 IF 関数を使用し、選択したメーターのタイプに基づいて正しい式を計算します。
- ArcGIS Survey123 Connect で、調査の XLSForm を開きます。
- select_one の質問を作成および構成します。
- survey ワークシートの type 列で、select_one を選択し、選択肢のリスト名を指定します。 この例では、選択肢のリスト名は 'meter' です。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'themeter'、ラベルは 'Meter Type' です。
- ワークシートの下部に移動し、choices タブをクリックして choices ワークシートを開きます。
- list_name 列で、手順 2a で作成した選択肢リストの名前を指定します。
- name 列で、選択肢の名前を指定します。 この例では、'With CT' と 'Without CT' が使用されています。
- label 列で、調査に表示する値を指定します。 この例では、'With CT' と 'Without CT' が使用されています。
- 複数の式コンポーネントを使用し、数値の質問を作成および構成します。
- survey ワークシートの type 列で、integer または decimal の質問タイプを選択します。 この例では、'integer' が選択されています。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'seconds1'、ラベルは 'Seconds1' です。
- 必要に応じて手順 3a と 3b を繰り返し、複数の式を作成します。 この例では、別の integer の質問が作成され、構成されます。 2 番目の integer の質問の名前は 'factor'、ラベルは 'Factor' です。
- 選択肢を使用して式コンポーネントを構成します。
- 2 つの integer の質問の relevant 列で、メートルの電力の計算に必要な式コンポーネントの式を指定します。 適合性によって、次の式の 1 つまたは両方を使用して、式コンポーネントを指定します。
- この式は、選択肢が同じ式コンポーネントを共有する場合に使用されます。
selected(${select_one fieldname},'<choice 1>') or selected(${select_one fieldname },'<choice 2>')
- この式は、式コンポーネントが 1 つの選択肢にのみ適用される場合に使用されます。
selected(${select_one fieldname},'<choice 1>')
- 計算を使用し、数値の質問を作成および構成します。
- survey ワークシートの type 列で、integer または decimal の質問タイプを選択します。 この例では、'integer' が選択されています。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'kilowatts'、ラベルは 'kW' です。
- この質問の calculation 列で、メーターの選択に基づいて回答を入力するための計算として使用する複数の式を指定します。 次の式を使用して、式を指定します。
if(selected(${select_one fieldname },'<choice 1>'),($<formula 1>),($<formula 2>))
Note:
The <formula 1> is the formula used to calculate ‘<choice 1>.'
以下の図は、ArcGIS Survey123 Connect で選択したメーターのタイプに基づく式から計算された、メーターの電力に関する入力済みの回答を示しています。
選択した形状のタイプに基づく 2 つの式で計算されたテーブルの面積を入力する
この例では、選択した形状のタイプに基づく 2 つの異なる式でテーブルの面積を計算します。 この例では、Coalesce 関数を使用して、選択した形状のタイプに基づいて正しい式を計算します。
- ArcGIS Survey123 Connect で、調査の XLSForm を開きます。
- select_one の質問を作成および構成します。
- survey ワークシートの type 列で、select_one を選択し、選択肢のリスト名を指定します。 この例では、選択肢のリスト名は 'shape' です。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'theshape'、ラベルは 'Shape of Table' です。
- ワークシートの下部に移動し、choices タブをクリックして choices ワークシートを開きます。
- list_name 列で、手順 2a で作成した選択肢リストの名前を指定します。
- name 列で、選択肢の名前を指定します。 この例では、'triangle' と 'rectangle' が使用されています。
- label 列で、調査に表示する値を指定します。 この例では、'Triangle' と 'Rectangle' が使用されています。
- 2 つの式コンポーネントを使用し、数値の質問を作成および構成します。
- survey ワークシートの type 列で、integer または decimal の質問タイプを選択します。 この例では、'decimal' が選択されています。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'base'、ラベルは 'Base' です。
- 必要に応じて手順 3a と 3b を繰り返し、複数の式を作成します。 この例では、さらに 2 つの decimal の質問が作成され、構成されます。2 番目の decimal の質問の名前は 'height'、ラベルは 'Height' です。3 番目の decimal の質問の名前は 'width'、ラベルは 'Width' です。
- 選択肢を使用して式コンポーネントを構成します。
- 3 つの decimal の質問の relevant 列で、形状の面積の計算に必要な式コンポーネントの式を指定します。 適合性によって、次の式の 1 つまたは両方を使用して、式コンポーネントを指定します。
- この式は、選択肢が同じ式コンポーネントを共有する場合に使用されます。
selected(${select_one fieldname},'<choice 1>') or selected(${select_one fieldname },'<choice 2>')
- この式は、式コンポーネントが 1 つの選択肢にのみ適用される場合に使用されます。
selected(${select_one fieldname},'<choice 1>')
- 計算を使用し、2 つの hidden の質問を作成および構成します。
- survey ワークシートの type 列で、hidden の質問タイプを選択します。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'area_triangle'、ラベルは 'at' です。
- 必要に応じて手順 2a と 2b を繰り返し、複数の式を作成します。 この例では、別の hidden の質問が作成され、構成されます。 2 番目の hidden の質問の名前は 'area_rectangle'、ラベルは 'ar' です。
- これらの質問の calculation 列で、hidden の各質問の式を指定します。
- 計算を使用し、数値の質問を作成および構成します。
- survey ワークシートの type 列で、integer または decimal の質問タイプを選択します。 この例では、'decimal' が選択されています。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'thearea'、ラベルは 'Area' です。
- この質問の calculation 列で、形状の選択に基づいて回答を入力するための計算として使用する複数の式を指定します。 次の式を使用して、式を指定します。
number(coalesce(${<hidden_fieldname1>},${<hidden_fieldname2>}))
選択した形状のタイプに基づく複数の式で計算されたテーブルの面積を入力する
この例では、選択した形状のタイプに基づく 2 つの異なる式でテーブルの面積を計算します。 IF 関数を使用し、選択した形状のタイプに基づいて正しい式を計算します。
- 上記の例の手順 1 ~ 4 を実行します。
- 計算を使用し、数値の質問を作成および構成します。
- survey ワークシートの type 列で、integer または decimal の質問タイプを選択します。 この例では、'decimal' が選択されています。
- name 列と label 列に値を指定します。 この例では、質問の名前は 'thearea'、ラベルは 'Area' です。
- この質問の calculation 列で、形状の選択に基づいて回答を入力するための計算として使用する複数の式を指定します。 次の式を使用して、式を指定します。
if(selected(${select_one fieldname },'choice1'),($<formula 1>),($<formula 2>))
以下の図は、ArcGIS Survey123 Connect で選択した形状のタイプに基づく 2 つ以上の式から計算された、面積に関する入力済みの回答を示しています。