diff --git a/alephino/config/main/T_0500-1140.json b/alephino/config/main/T_0500-1140.json new file mode 100644 index 0000000..5845975 --- /dev/null +++ b/alephino/config/main/T_0500-1140.json @@ -0,0 +1,541 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:if(\nor(\ncells['M|076a'].value == 'vide',\ncells['M|076c'].value.contains('dvdv'),\ncells['M|076c'].value.contains('vika'),\ncells['M|077'].value.contains('videodisc')\n),\n'B',null)", + "onError": "set-to-blank", + "newColumnName": "0500", + "columnInsertIndex": 1, + "description": "Create column 0500 at index 1 based on column M|IDN using expression grel:if(\nor(\ncells['M|076a'].value == 'vide',\ncells['M|076c'].value.contains('dvdv'),\ncells['M|076c'].value.contains('vika'),\ncells['M|077'].value.contains('videodisc')\n),\n'B',null)" + }, + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:if(\nor(\ncells['M|076a'].value == 'vide',\ncells['M|076c'].value.contains('dvdv'),\ncells['M|076c'].value.contains('vika'),\ncells['M|077'].value.contains('videodisc')\n),\n'vide',null)", + "onError": "set-to-blank", + "newColumnName": "1140", + "columnInsertIndex": 1, + "description": "Create column 1140 at index 1 based on column M|IDN using expression grel:if(\nor(\ncells['M|076a'].value == 'vide',\ncells['M|076c'].value.contains('dvdv'),\ncells['M|076c'].value.contains('vika'),\ncells['M|077'].value.contains('videodisc')\n),\n'vide',null)" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:if(\nor(\ncells['M|050'].value[8] == 'd',\ncells['M|076a'].value.contains('crom')\n),\n'S',value)", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:if(\nor(\ncells['M|050'].value[8] == 'd',\ncells['M|076a'].value.contains('crom')\n),\n'S',value)" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "M|076c", + "columnName": "M|076c", + "query": "cdda", + "mode": "text", + "caseSensitive": false, + "invert": false + }, + { + "type": "text", + "name": "M|077", + "columnName": "M|077", + "query": "cd-rom|compact", + "mode": "regex", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'S'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'S'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[5,7]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "aa", + "l": "aa" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1140", + "expression": "grel:'soto'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1140 using expression grel:'soto'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[5,7]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "aa", + "l": "aa" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'B'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'B'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[10]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "a", + "l": "a" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1140", + "expression": "grel:'kart'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1140 using expression grel:'kart'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[10]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "a", + "l": "a" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'A'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'A'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "M|077", + "columnName": "M|077", + "query": "karte", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "1140", + "expression": "grel:'kart'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1140 using expression grel:'kart'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "text", + "name": "M|077", + "columnName": "M|077", + "query": "karte", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'A'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'A'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[5,7]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "dc", + "l": "dc" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1140", + "expression": "grel:'bild'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1140 using expression grel:'bild'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "0500", + "expression": "isBlank(value)", + "columnName": "0500", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "M|050", + "expression": "grel:value[5,7]", + "columnName": "M|050", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "dc", + "l": "dc" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'Ban'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'Ban'" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "M|IDN", + "expression": "isBlank(value)", + "columnName": "M|IDN", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "0500", + "expression": "grel:'A'", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 0500 using expression grel:'A'" + } +] diff --git a/alephino/config/main/T_1100.json b/alephino/config/main/T_1100.json new file mode 100644 index 0000000..4dfa5b3 --- /dev/null +++ b/alephino/config/main/T_1100.json @@ -0,0 +1,93 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:coalesce(cells['M|425'].value, forNonBlank(cells['M|419'].value.split('\u001fc')[1],v,v,null))", + "onError": "set-to-blank", + "newColumnName": "1100n", + "columnInsertIndex": 1, + "description": "Create column 1100n" + }, + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:coalesce(cells['M|425a'].value, cells['M|425b'].value)", + "onError": "set-to-blank", + "newColumnName": "1100a", + "columnInsertIndex": 1, + "description": "Create column 1100a" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "1100n", + "expression": "isBlank(value)", + "columnName": "1100n", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + }, + { + "type": "list", + "name": "1100a", + "expression": "isBlank(value)", + "columnName": "1100a", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": true, + "l": "true" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1100a", + "expression": "grel:cells['1100n'].value.find(/\\d{4}/)[0]", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1100a using expression grel:cells['1100n'].value.find(/\\d{4}/)[0]" + }, + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:cells['M|425c'].value.find(/\\d{4}/)[0]", + "onError": "set-to-blank", + "newColumnName": "1100b", + "columnInsertIndex": 1, + "description": "Create column 1100b" + } +] diff --git a/alephino/config/main/T_1131.json b/alephino/config/main/T_1131.json new file mode 100644 index 0000000..762b840 --- /dev/null +++ b/alephino/config/main/T_1131.json @@ -0,0 +1,88 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:[forNonBlank(cells['M|064'].value, v, v, null) , forNonBlank(cells['M|064a'].value, v ,v, null)].join('␟')", + "onError": "set-to-blank", + "newColumnName": "1131", + "columnInsertIndex": 1, + "description": "Create column 1131 at index 1 based on column M|IDN using expression grel:[forNonBlank(cells['M|064'].value, v, v, null) , forNonBlank(cells['M|064a'].value, v ,v, null)].join('␟')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "1131", + "expression": "isBlank(value)", + "columnName": "1131", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1131", + "expression": "grel:forEach(value.split('␟'), x, filter(x.split('\u001f'), v, or(v.startsWith('a'),v.startsWith('y'),v.startsWith('z'))).join('\u001f')).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1131 using expression grel:forEach(value.split('␟'), x, filter(x.split('\u001f'), v, or(v.startsWith('a'),v.startsWith('y'),v.startsWith('z'))).join('\u001f')).join('␟')" + }, + { + "op": "core/mass-edit", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "1131", + "expression": "isBlank(value)", + "columnName": "1131", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "1131", + "expression": "value", + "edits": [ + { + "from": [ + "aSoftware" + ], + "fromBlank": false, + "fromError": false, + "to": "" + } + ], + "description": "Mass edit cells in column 1131" + } +] diff --git a/alephino/config/main/T_1500.json b/alephino/config/main/T_1500.json new file mode 100644 index 0000000..710c5af --- /dev/null +++ b/alephino/config/main/T_1500.json @@ -0,0 +1,28 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:forEach(forEach(cells['M|037b'].value.split('␟'),v,v.replace('; ','‡').replace(',','‡').replace('\\\\','‡')).join('‡').split('‡'), x, x.trim()).join('‡')", + "onError": "set-to-blank", + "newColumnName": "1500", + "columnInsertIndex": 1, + "description": "Create column 1500 at index 1 based on column M|IDN using expression grel:forEach(forEach(cells['M|037b'].value.split('␟'),v,v.replace('; ','‡').replace(',','‡').replace('\\\\','‡')).join('‡').split('‡'), x, x.trim()).join('‡')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "columnName": "1500", + "expression": "grel:forEach(value.split('‡'), v, v.replace(/^dt$/,'ger').replace(/^deu$/,'ger').replace(/^engl.$/,'eng').replace(/^engl$/,'eng')).uniques().join('‡')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 1500 using expression grel:forEach(value.split('‡'), v, v.replace(/^dt$/,'ger').replace(/^deu$/,'ger').replace(/^engl.$/,'eng').replace(/^engl$/,'eng')).uniques().join('‡')" + } +] diff --git a/alephino/config/main/T_1700.json b/alephino/config/main/T_1700.json new file mode 100644 index 0000000..de0c2c3 --- /dev/null +++ b/alephino/config/main/T_1700.json @@ -0,0 +1,35 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:filter(cells['M|036a'].value.split('␟'),v,v.startsWith('X')).join('‡')", + "onError": "set-to-blank", + "newColumnName": "1700", + "columnInsertIndex": 1, + "description": "Create column 1700" + }, + { + "op": "core/mass-edit", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "columnName": "1700", + "expression": "value", + "edits": [ + { + "from": [ + "XA-DE++XA-AT++XA-CH" + ], + "fromBlank": false, + "fromError": false, + "to": "XA-DE‡XA-AT‡XA-CH" + } + ], + "description": "Mass edit cells in column 1700" + } +] diff --git a/alephino/config/main/T_2003.json b/alephino/config/main/T_2003.json new file mode 100644 index 0000000..409265f --- /dev/null +++ b/alephino/config/main/T_2003.json @@ -0,0 +1,28 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:[forNonBlank(cells['M|087'].value, v, forEach(v.split('␟'), x, x + '\u001ffo').join('␟'), null), forNonBlank(cells['M|087b'].value, v, v + '\u001ffa', null), forNonBlank(cells['M|087o'].value, v, v + '\u001ffo', null)].join('␟')", + "onError": "set-to-blank", + "newColumnName": "2003", + "columnInsertIndex": 1, + "description": "Create column 2003 at index 1 based on column M|IDN using expression grel:[forNonBlank(cells['M|087b'].value, v, v + '\u001ffa', null), forNonBlank(cells['M|087'].value, v, v + '\u001ffo', null), forNonBlank(cells['M|087o'].value, v, v + '\u001ffo', null)].join('␟')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "columnName": "2003", + "expression": "grel:value.replace('-','').replace('.','').replace(' ','').replace('=','')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 2003 using expression grel:value.replace('-','').replace('.','').replace(' ','').replace('=','')" + } +] diff --git a/alephino/config/main/T_3000.json b/alephino/config/main/T_3000.json new file mode 100644 index 0000000..3b97760 --- /dev/null +++ b/alephino/config/main/T_3000.json @@ -0,0 +1,51 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:filter(cells['M|100'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1)", + "onError": "set-to-blank", + "newColumnName": "3000", + "columnInsertIndex": 1, + "description": "Create column 3000 at index 1 based on column M|IDN using expression grel:filter(cells['M|100'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1)" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "columnName": "3000", + "expression": "grel:if(\nvalue.contains(','),\n'\u001fa' + value.split(',')[0].trim() + '\u001fd' + value.split(',')[1].trim(),\n'\u001fP' + value\n)", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3000 using expression grel:if(\nvalue.contains(','),\n'\u001fa' + value.split(',')[0].trim() + '\u001fd' + value.split(',')[1].trim(),\n'\u001fP' + value\n)" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "text", + "name": "3000", + "columnName": "3000", + "query": "¬", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3000", + "expression": "grel:value.split('¬')[0].trim() + '\u001fc' + value.split('¬')[1].trim()", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3000 using expression grel:value.split('¬')[0].trim() + '\u001fc' + value.split('¬')[1].trim()" + } +] diff --git a/alephino/config/main/T_3010.json b/alephino/config/main/T_3010.json new file mode 100644 index 0000000..55187ab --- /dev/null +++ b/alephino/config/main/T_3010.json @@ -0,0 +1,71 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [], + "mode": "row-based" + }, + "baseColumnName": "M|IDN", + "expression": "grel:[\nforNonBlank(filter(cells['M|104'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104f'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108f'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|120a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|120b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|124a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|124b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|128a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|128b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|132a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|132b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|136a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|136b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|140a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|140b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|144a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|144b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|148a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|148b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|152a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|152b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|156a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|156b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|160a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|160b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|164a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|164b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|168a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|168b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|172a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|172b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|176a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|176b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|180a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|180b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|184a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|184b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|188a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|188b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|192a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|192b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|196a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|196b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null)\n].join('␟')", + "onError": "set-to-blank", + "newColumnName": "3010", + "columnInsertIndex": 1, + "description": "Create column 3010 at index 1 based on column M|IDN using expression grel:[\nforNonBlank(filter(cells['M|104'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|104f'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|108f'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|112b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|116b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|120a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|120b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|124a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|124b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|128a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|128b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|132a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|132b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|136a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|136b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|140a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|140b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|144a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|144b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|148a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|148b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|152a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|152b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|156a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|156b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|160a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|160b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|164a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|164b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|168a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|168b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|172a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|172b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|176a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|176b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|180a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|180b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|184a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|184b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|188a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|188b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|192a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|192b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|196a'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null),\nforNonBlank(filter(cells['M|196b'].value.split('\u001f'), v, v.startsWith('a'))[0].slice(1), x, x, null)\n].join('␟')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "3010", + "expression": "isBlank(value)", + "columnName": "3010", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": false, + "l": "false" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "columnName": "3010", + "expression": "grel:forEach(value.split('␟'),\nv,\nif(\nv.contains(','),\n'\u001fa' + v.split(',')[0].trim() + '\u001fd' + v.split(',')[1].trim(),\n'\u001fP' + v\n)\n).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3010 using expression grel:forEach(value.split('␟'),\nv,\nif(\nv.contains(','),\n'\u001fa' + v.split(',')[0].trim() + '\u001fd' + v.split(',')[1].trim(),\n'\u001fP' + v\n)\n).join('␟')" + }, + { + "op": "core/text-transform", + "engineConfig": { + "facets": [ + { + "type": "text", + "name": "3010", + "columnName": "3010", + "query": "¬", + "mode": "text", + "caseSensitive": false, + "invert": false + } + ], + "mode": "row-based" + }, + "columnName": "3010", + "expression": "grel:forEach(value.split('␟'), v,\nif(v.contains('¬'),\nv.split('¬')[0].trim() + '\u001fc' + v.split('¬')[1].trim(),\nv\n)\n).join('␟')", + "onError": "keep-original", + "repeat": false, + "repeatCount": 10, + "description": "Text transform on cells in column 3010 using expression grel:forEach(value.split('␟'), v,\nif(v.contains('¬'),\nv.split('¬')[0].trim() + '\u001fc' + v.split('¬')[1].trim(),\nv\n)\n).join('␟')" + } +] diff --git a/alephino/config/main/Z_dedup.json b/alephino/config/main/Z_barcode-dubletten.json similarity index 100% rename from alephino/config/main/Z_dedup.json rename to alephino/config/main/Z_barcode-dubletten.json diff --git a/alephino/config/main/Z_abschluss.json b/alephino/config/main/Z_loeschen-exemplarlose.json similarity index 100% rename from alephino/config/main/Z_abschluss.json rename to alephino/config/main/Z_loeschen-exemplarlose.json diff --git a/alephino/config/main/template.txt b/alephino/config/main/template.txt index 907817b..fe4d321 100644 --- a/alephino/config/main/template.txt +++ b/alephino/config/main/template.txt @@ -2,30 +2,15 @@ if(row.index - row.record.fromRowIndex == 0, '' + '\n' + forNonBlank(cells['0500'].value, v, '002@ ' + '0' + v + '\n', '') -+ forNonBlank(cells['2000'].value, v, forEach(v.split('␟'),x,'004A ' + '0' + x + '\n').join(''), '') -+ forNonBlank(cells['2009'].value, v, forEach(v.split('␟'),x,'004D ' + '0' + x + '\n').join(''), '') -+ forNonBlank(cells['2201'].value, v, '004L ' + '0' + v + '\n', '') ++ forNonBlank(cells['2003'].value, v, forEach(v.split('␟'), x, '004P ' + '0' + x + '\n').join(''), '') + forNonBlank(cells['2199'].value, v, '006Y ' + '0' + v + '\n', '') -+ forNonBlank(cells['1500'].value, v, '010@ ' + forEach(v.split('␟'),x,'a' + x).join('') + '\n', '') -+ forNonBlank(cells['1100a'].value, v, '011@ ' + 'a' + v + forNonBlank(cells['1100n'].value, v, 'n' + v, '') + '\n', '') -+ forNonBlank(cells['1131'].value, v, forEach(v.split('␟'),x,'013D ' + 'a' + x + '\n').join(''), '') ++ forNonBlank(cells['1500'].value, v, '010@ ' + forEach(v.split('‡'),x,'a' + x).join('') + '\n', '') ++ forNonBlank(cells['1100a'].value, v, '011@ ' + 'a' + v + forNonBlank(cells['1100b'].value, v, 'b' + v, '') + forNonBlank(cells['1100n'].value, v, 'n' + v, '') + '\n', '') ++ forNonBlank(cells['1131'].value, v, forEach(v.split('␟'),x,'013D ' + '' + x + '\n').join(''), '') + forNonBlank(cells['1140'].value, v, '013H ' + 'a' + v + '\n', '') -+ forNonBlank(cells['4000a'].value, v, '021A ' + 'a' + v + forNonBlank(cells['4000d'].value, v, 'd' + v, '') + forNonBlank(cells['4000h'].value, v, 'h' + v, '') + '\n', '') -+ forNonBlank(cells['4002'].value, v, forEach(v.split('␟'),x,'021G ' + x + '\n').join(''), '') -+ forNonBlank(cells['3210'].value, v, '022A/00 ' + 'a' + v + '\n', '') ++ 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['3110'].value, v, forEach(v.split('␟'),x,'029F ' + x + '\n').join(''), '') -+ forNonBlank(cells['4020'].value, v, '032@ ' + 'a' + v + '\n', '') -+ if(or(isNonBlank(cells['4030n'].value),isNonBlank(cells['4030p'].value)),'033A ' + forNonBlank(cells['4030p'].value, v, 'p' + v, '') + forNonBlank(cells['4030n'].value, v, 'n' + v,'') + '\n', '') -+ forNonBlank(cells['4060'].value, v, '034D ' + 'a' + v + '\n', '') -+ forNonBlank(cells['4062'].value, v, '034I ' + 'a' + v + '\n', '') -+ forNonBlank(cells['4061'].value, v, '034M ' + 'a' + v + '\n', '') -+ forNonBlank(cells['4150'].value, v, '036C/00 ' + v + '\n', '') -+ forNonBlank(cells['4160'].value, v, '036D ' + v + '\n', '') -+ forNonBlank(cells['4170_1'].value, v, '036E/00 ' + v + '\n', '') -+ forNonBlank(cells['4170_2'].value, v, '036E/01 ' + v + '\n', '') -+ forNonBlank(cells['4204'].value, v, '037C ' + 'a' + v + '\n', '') ++ forNonBlank(cells['3010'].value, v, forEach(v.split('␟'), x, '028C ' + x + '\n').join(''), '') ,'') }}{{ if(isNonBlank(cells['E0XXb'].value),