Сворачивание полей
Преобразование fold сворачивает значения одного или нескольких полей в пару свойств: key содержит имя исходного поля, а value — его значение. Такой переход от широкой таблицы к длинной удобен, например, для приведения матриц и перекрёстных таблиц к стандартному формату. Каждая выходная запись также сохраняет все исходные поля.
Примечание: fold применяется только к списку известных полей, заданному свойством fold. Если значения полей сами являются массивами, используйте разворачивание flatten.
// Любая спецификация представления
{
...,
"transform": [
{"fold": ...}, // Сворачивание полей
...
],
...
}
Свойства преобразования
| Свойство | Тип | Описание |
|---|---|---|
fold |
FieldName[] | Обязательный массив имён полей, значения которых нужно свернуть. |
as |
FieldName[] | Необязательные имена двух выходных полей: сначала для ключа, затем для значения. По умолчанию — ["key", "value"]. |
Использование
{"fold": ["gold", "silver"]}
Этот пример сворачивает свойства "gold" и "silver". Для входных данных:
[
{"country": "USA", "gold": 10, "silver": 20},
{"country": "Canada", "gold": 7, "silver": 26}
]
выходные записи будут такими:
[
{"key": "gold", "value": 10, "country": "USA", "gold": 10, "silver": 20},
{"key": "silver", "value": 20, "country": "USA", "gold": 10, "silver": 20},
{"key": "gold", "value": 7, "country": "Canada", "gold": 7, "silver": 26},
{"key": "silver", "value": 26, "country": "Canada", "gold": 7, "silver": 26}
]