機械翻訳について

チャート・データの変換アクション(非推奨)

このアクションのアクション・モジュールはvb/action/builtin/transformChartDataActionです。 transformChartDataActionは非推奨です。 かわりに、チャート上でデータを直接設定する必要があります。

特定の構造を持つJSON配列を、JETチャート・コンポーネントが期待する(配列)プロパティを含むJSONオブジェクトに変換します。

ページ作成者はこのアクションを使用して、RESTアクションからのレスポンスを取得し、このアクションが期待するフォーマットに変換し、このアクションによって返された結果を使用してチャート・コンポーネントにバインドされた変数に割り当てます。

アクションでは、次のパラメータがサポートされています。

パラメータ名 タイプ 説明
ソース 配列<Object> オブジェクトの配列、またはデータ・ポイントであり、各データ・ポイントには次の2つの構造のいずれかがあります。 1つ目は、棒グラフや円グラフなどの1つ以上の系列のデータのグループを示すチャートで使用されます。 2つ目は、バブルなど、データの3つのディメンションを示すチャートで使用されます。
// Structure 1
{
  group: '<group-name>',
  series: '<series-name>',
  value: '<value-number>'
}
// Structure 2
{
  group: '<group-name>',
  series: '<series-name>',
  valueX: '<valueX-number>',
  valueY: '<valueY-number>',
  valueZ: '<valueZ-number>'
}
// JSON for Structure 1
[{
  group: 'bob',
  series: 'Feb',
  value: 5
}, {
  group: 'joe',
  series: 'Feb',
  value: 2
}]
// JSON for Structure 2
[{
  group: 'bob',
  series: 'Feb',
  valueX: 5,
  valueY: 1,
  valueZ: 3
}, {
  group: 'joe',
  series: 'Feb',
  valueX: 6,
  valueY: 2,
  valueZ: 4
}]

このアクションは、次のプロパティを持つJSONオブジェクトを返します。

戻り型 説明
オブジェクト オブジェクトには2つのプロパティがあります。 プロパティは、渡される構造に応じて異なります。
  • groups: 1つ以上のグループ名の {Array}
  • series: 各オブジェクトが2つのプロパティを持つオブジェクトの {Array} : 名前とアイテム
    • name: シリーズの {String} 名
    • アイテム:
      • 入力が前述の構造1に似ている場合の数値の{Array}
      • {Array} のオブジェクト(入力が前述の2番目の構造に似ている場合)と、各オブジェクトに次のプロパティが含まれます:
        • x: {Number}
        • y: {Number}
        • z: {Number}
// Return Value for Structure 1
{
  groups: ['bob', 'joe'],
  series: [{
    name: 'Feb',
    items: [5, 2]
  }]
}
// Return Value for Structure 2
{
  groups: ['bob', 'joe'],
  series: [{
    name: 'Feb',
    items: [{
      x: 5,
      y: 1,
      z: 3
    }, {
      x: 6,
      y: 2,
      z: 4
    }]
  }]




}

次の例は、fetchTechnicianStatsChainと呼ばれるチェーンを示し、4つのアクションが連鎖してRESTレスポンスを取得し、JSONレスポンスをチャートUIコンポーネントで使用できるフォームにしています。 4つのアクションは次のとおりです:

  1. 技術者統計をフェッチするには、RESTエンドポイントのコール・アクションを使用します。

  2. 変数の割当てアクションを使用して、チャート・データの変換アクションで必要なフォームにレスポンスをマップします。 RESTレスポンスが深くネストされているため、変数の割当てアクションを使用したソースからターゲットへの単純な変換が不可能な場合、ページ作成者は(関数のコール・アクションを使用して)ページ関数を使用して、チャート・データの変換アクションで想定されるフォームにデータを変換できます。

  3. チャート・データの変換アクションを使用してレスポンスを(2)から取得し、チャート・コンポーネントが使用できるフォームに変換します。

  4. 変数の割当てアクションを使用して、(3)からの戻り値をページ変数に格納します。

"actions": {
    "fetchTechnicianStatsChain": {
        "variables": {
            "flattenedArray": {
                "type": [
                    {
                        "group": "string",
                        "series": "string",
                        "value": "string"
                    }
                ],
                "description": "array of data points",
                "input": "none"
            }
        },
        "root": "fetchTechnicianStats",
        "actions": {
            "fetchTechnicianStats": {                                       // (1)
                "module": "vb/action/builtin/restAction",
                "parameters": {
                    "endpoint": "ifixitfast-service/getTechnicianStats",
                    "uriParams": {
                        "technician": "{{ $page.variables.technician }}"
                    }
                },
                "outcomes": {
                    "success": "flattenDataForBar"
                }
            },
            "flattenDataForBar": {                                          // (2)
                "module": "vb/action/builtin/assignVariablesAction",
                "parameters": {
                    "$chain.variables.flattenedArray": {
                        "source": "{{ $chain.results.fetchTechnicianStats.body.metrics }}",
                        "reset": "toDefault",
                        "mapping": {
                            "$target.group": "$source.technician",
                            "$target.series": "$source.month",
                            "$target.value": "$source.incidentCount"
                        }
                    }
                },
                "outcomes": {
                    "success": "transformToBarChartData"
                }
            },
            "transformToBarChartData": {                                    // (3)
                "module": "vb/action/builtin/transformChartDataAction",
                "parameters": {
                    "source": "{{ $chain.variables.flattenedArray }}"
                },
                "outcomes": {
                    "success": "assignToPageVariable"
                }
            },
            "assignToPageVariable": {                                      // (4)
                "module": "vb/action/builtin/assignVariablesAction",
                "parameters": {
                    "$page.variables.incidentChartDS": {
                        "source": "{{ $chain.results.transformToBarChartData }}",
                        "reset": "toDefault"
                    }
                }
            }
        }
    }
}