diff --git a/alephino/config/main/T_3100.json b/alephino/config/main/T_3100.json new file mode 100644 index 0000000..480a938 --- /dev/null +++ b/alephino/config/main/T_3100.json @@ -0,0 +1,141 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:filter(cells['M|200'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1)", + "onError": "set-to-blank", + "newColumnName": "3100", + "columnInsertIndex": 3, + "description": "Create column 3100" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3100", + "expression": "isBlank(value)", + "columnName": "3100", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3100", + "columnName": "3100", + "query": " / ", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3100", + "expression": "grel:value.replace(' / ', '\u001fb')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3100 using expression grel:value.replace(' / ', '\u001fb')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3100", + "expression": "isBlank(value)", + "columnName": "3100", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3100", + "columnName": "3100", + "query": "¬", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3100", + "expression": "grel:value.replace(/¬.*¬/,'').trim()", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3100 using expression grel:value.replace(/¬.*¬/,'').trim()" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3100", + "expression": "isBlank(value)", + "columnName": "3100", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3100", + "columnName": "3100", + "query": "<", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3100", + "expression": "grel:value.replace(/<.*>/, '').trim() + '\u001fx' + value.find(/<.*>/)[0].replace('<', '').replace('>', '')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3100 using expression grel:value.replace(/<.*>/, '').trim() + '\u001fx' + value.find(/<.*>/)[0].replace('<', '').replace('>', '')" + } +] diff --git a/alephino/config/main/T_3110.json b/alephino/config/main/T_3110.json new file mode 100644 index 0000000..0df3d55 --- /dev/null +++ b/alephino/config/main/T_3110.json @@ -0,0 +1,141 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:[\nforNonBlank(filter(cells['M|200a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|200b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|208b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|212b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|216b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null)].join('␟')", + "onError": "set-to-blank", + "newColumnName": "3110", + "columnInsertIndex": 3, + "description": "Create column 3110 at index 3 based on column M|IDN using expression grel:[\nforNonBlank(filter(cells['M|200a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|200b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|204b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|208b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|212b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|216b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null)].join('␟')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3110", + "expression": "isBlank(value)", + "columnName": "3110", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3110", + "columnName": "3110", + "query": " / ", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3110", + "expression": "grel:forEach(value.split('␟'), v, v.replace(' / ', '\u001fb').trim()).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3110" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3110", + "expression": "isBlank(value)", + "columnName": "3110", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3110", + "columnName": "3110", + "query": "¬", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3110", + "expression": "grel:forEach(value.split('␟'), v, v.replace(/ ¬.*¬/,'').trim()).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3110" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3110", + "expression": "isBlank(value)", + "columnName": "3110", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "3110", + "columnName": "3110", + "query": "<", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3110", + "expression": "grel:forEach(value.split('␟'), v, v.replace(/ <.*>/, '').trim() + forNonBlank(v.find(/<.*>/)[0], x, '\u001fx' + x.replace('<', '').replace('>', ''), '')).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3110" + } +] diff --git a/alephino/config/main/template.txt b/alephino/config/main/template.txt index fe4d321..a4bc3e7 100644 --- a/alephino/config/main/template.txt +++ b/alephino/config/main/template.txt @@ -11,6 +11,8 @@ if(row.index - row.record.fromRowIndex == 0, + forNonBlank(cells['1700'].value, v, '019@ ' + forEach(v.split('‡'),x,'a' + x).join('') + '\n', '') + forNonBlank(cells['3000'].value, v, '028A ' + v + '\n', '') + forNonBlank(cells['3010'].value, v, forEach(v.split('␟'), x, '028C ' + x + '\n').join(''), '') ++ forNonBlank(cells['3100'].value, v, '029A ' + v + '\n', '') ++ forNonBlank(cells['3110'].value, v, forEach(v.split('␟'), x, '029F ' + x + '\n').join(''), '') ,'') }}{{ if(isNonBlank(cells['E0XXb'].value),