{"id":112482,"date":"2021-09-07T12:04:06","date_gmt":"2021-09-07T03:04:06","guid":{"rendered":"https:\/\/support.questetra.com\/?p=112482"},"modified":"2021-09-08T13:06:17","modified_gmt":"2021-09-08T04:06:17","slug":"tsv-string-create-summary-table-for-numeric-column-2021","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-summary-table-for-numeric-column-2021\/","title":{"rendered":"TSV String, Create Summary Table for Numeric Column"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#003e04;border-radius:0px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#267137;color:#ffffff;border-top-left-radius:0px;border-top-right-radius:0px\">TSV String, Create Summary Table for Numeric Column<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:0px;border-bottom-right-radius:0px\"> Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, &#8220;Sales for each client&#8221; is aggregated from &#8220;Sales log TSV&#8221;. Grand Total Tabulation.<\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1\" data-anchor=\"configs\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Configs<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<ul class=\"fa-ul\">\n<li><span class=\"fa-li\"><i class=\"far fa-edit fa-lg\"><\/i><\/span> A1: Set TSV<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> B1: Set Column ID of Numeric Field (eg &#8220;3&#8221; )<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> B2: Set Column ID of Aggregation-Key Field (eg &#8220;4&#8221; )<span style=\"color:#990000;\"> *<\/span><span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> C1: To Sort by Sum Value, Set DECS or ASC (eg &#8220;ASC&#8221; )<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li><span class=\"fa-li\"><i class=\"far fa-pen-square fa-lg\"><\/i><\/span> C2: To Sort by Agg-Key, Set DECS or ASC (eg &#8220;ASC&#8221; )<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> D1: Select STRING DATA that stores Summary TSV (update)<span style=\"color:#990000;\"> *<\/span><\/li>\n<li> D2: Select NUMERIC DATA that stores Grand Total (update)<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1 su-spoiler-closed\" data-anchor=\"script\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Script (click to open)<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/ GraalJS Script (engine type: 2)\n\n\/\/\/\/\/\/\/\/ START &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\nmain();\nfunction main(){ \n\n\/\/\/\/ == Config Retrieving \/ \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u53c2\u7167 ==\nconst strTsv         = configs.get( &quot;StrConfA1&quot; );           \/\/\/ REQUIRED \/\/\/\/\/\/\/\/\/\/\/\/\/\n  if( strTsv       === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {A1: Tsv} is empty \\n&quot; );\n  }\n  const arr2dTsv     = parseAsRectangular( strTsv );\nconst strNumField    = configs.get( &quot;StrConfB1&quot; );           \/\/\/ REQUIRED \/\/\/\/\/\/\/\/\/\/\/\/\/\n  if( strNumField  === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B1: NumField} is empty \\n&quot; );\n  }\n  const numNumField  = parseInt( strNumField, 10 );\n  if( isNaN( numNumField ) || numNumField &lt; 0 ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B1: NumField} must be a positive integer \\n&quot; );\n  }\n  if( numNumField   &gt;= arr2dTsv[0].length ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B1: NumField} is larger than TsvWidth \\n&quot; );\n  }\nconst strYaggField   = configs.get( &quot;StrConfB2&quot; );           \/\/\/ REQUIRED \/\/\/\/\/\/\/\/\/\/\/\/\/\n  if( strYaggField === &quot;&quot; ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B2: Y-AggField} is empty \\n&quot; );\n  }\n  const numYaggField = parseInt( strYaggField, 10 );\n  if( isNaN( numYaggField ) || numYaggField &lt; 0 ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B2: YaggField} must be a positive integer \\n&quot; );\n  }\n  if( numYaggField  &gt;= arr2dTsv[0].length ){\n    throw new Error( &quot;\\n AutomatedTask ConfigError:&quot; +\n                     &quot; Config {B2: YaggField} is larger than TsvWidth \\n&quot; );\n  }\nconst strNumSort     = configs.get( &quot;StrConfC1&quot; );           \/\/ NotRequired \/\/\/\/\/\/\/\/\/\/\/\nconst strYaggSort    = configs.get( &quot;StrConfC2&quot; );           \/\/ NotRequired \/\/\/\/\/\/\/\/\/\/\/\n\nconst strPocketOutput     = configs.getObject( &quot;SelectConfD1&quot; ); \/\/ NotRequired \/\/\/\/\/\/\/\nconst numPocketGrandTotal = configs.getObject( &quot;SelectConfD2&quot; ); \/\/ NotRequired \/\/\/\/\/\/\/\n\n\n\/\/\/\/ == Data Retrieving \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u306e\u53c2\u7167 ==\n\/\/ (Nothing. Retrieved via Expression Language in Config Retrieving)\n\n\n\/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\n\n\/\/ omit repeated Keys in Y-Aggregation Field values (make Keys uniq)\nlet arrYaggKeys = [];\nfor( let i = 0; i &lt; arr2dTsv.length; i++ ){\n  if( arrYaggKeys.indexOf( arr2dTsv[i][ numYaggField ] ) === -1){\n      arrYaggKeys.push(    arr2dTsv[i][ numYaggField ] );\n  }\n  \/\/ Array.indexOf(): strict equality `===` \n  \/\/ https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Array\/indexOf\n}\n\n\/\/ sort by Keys\nif( strYaggSort === &quot;ASC&quot; ){ \/\/ ASC: ascending alphabetical from A to Z\n  arrYaggKeys.sort( function( strA, strB ){\n    if( strA &gt; strB ){ return  1; }\n    if( strA &lt; strB ){ return -1; }\n    return 0;\n  });\n}\nif( strYaggSort === &quot;DESC&quot; ){ \/\/ DESC: descending from Z to A\n  arrYaggKeys.sort( function( strA, strB ){\n    if( strA &lt; strB ){ return  1; }\n    if( strA &gt; strB ){ return -1; }\n    return 0;\n  });\n}\n\n\/\/ initialize arr2dOutput[y][x]\nlet arr2dOutput = [];\nfor( let i = 0; i &lt; arrYaggKeys.length; i++ ){\n  arr2dOutput[i] = [];\n  arr2dOutput[i][0] = arrYaggKeys[i];\n  arr2dOutput[i][1] = 0; \/\/ sum\n  arr2dOutput[i][2] = 0; \/\/ share\n  arr2dOutput[i][3] = 0; \/\/ count\n  arr2dOutput[i][4] = 0; \/\/ ave\n} \/\/ arr2dOutput.length === arrYaggKeys.length\n\n\/\/ sum up\nlet numGrandTotal = 0;\nfor( let i = 0; i &lt; arr2dTsv.length; i++ ){\n  let numValue = parseFloat( arr2dTsv[i][numNumField].replace(\/,\/g, &#39;&#39;) );\n  if( isNaN(numValue) ){\n    engine.log( &quot; AutomatedTask StringWarning:&quot; +\n                &quot; CellStr is not numeric at line: &quot; + i );\n    numValue = 0;\n  }\n  let strKey = arr2dTsv[i][numYaggField];\n  arr2dOutput[ arrYaggKeys.indexOf( strKey ) ][1] += numValue;\n  arr2dOutput[ arrYaggKeys.indexOf( strKey ) ][3] += 1;\n  numGrandTotal += numValue;\n}\n\nfor( let i = 0; i &lt; arr2dOutput.length; i++ ){\n  arr2dOutput[i][2] = (arr2dOutput[i][1] \/ numGrandTotal).toFixed(3);\n  arr2dOutput[i][4] = (arr2dOutput[i][1] \/ arr2dOutput[i][3]).toFixed(3);\n}\n\n\/\/ sort by Total\nif( strNumSort === &quot;ASC&quot; ){ \/\/ ASC: ascending alphabetical from 0 to 10\n  arr2dOutput.sort( function( arrA, arrB ){\n    if( arrA[1] &gt; arrB[1] ){ return  1; }\n    if( arrA[1] &lt; arrB[1] ){ return -1; }\n    return 0;\n  });\n}\nif( strNumSort === &quot;DESC&quot; ){ \/\/ DESC: descending from 10 to 0\n  arr2dOutput.sort( function( arrA, arrB ){\n    if( arrA[1] &lt; arrB[1] ){ return  1; }\n    if( arrA[1] &gt; arrB[1] ){ return -1; }\n    return 0;\n  });\n}\n\n\/\/ output Summary Tabulation\nlet strOutput = &quot;&quot;;\nfor( let i = 0; i &lt; arr2dOutput.length; i++ ){\n  strOutput += arr2dOutput[i].join(&quot;\\t&quot;) + &quot;\\n&quot;;\n}\nstrOutput = strOutput.slice( 0, -1 ); \/\/ delete last &quot;\\n&quot;\n\n\n\/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\nengine.setData( strPocketOutput, strOutput );\nif( numPocketGrandTotal !== null ){\n  engine.setData( numPocketGrandTotal, new java.math.BigDecimal( numGrandTotal ) );\n}\n\n\n} \/\/\/\/\/\/\/\/ END &quot;main()&quot; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\n\/\/ Parses TSV string as two-dimensional rectangular data matrix and creates a 2D array.\nfunction parseAsRectangular( strTsv ){\n  const arrTsv = strTsv.split(&quot;\\n&quot;);\n\n  \/\/\/ Get numMinWidth and numMaxWidth (blank lines are excluded)\n  let numMinWidth   = Infinity; \/\/ cf. String-Type Max: 1 million\n  let numMaxWidth   = 0;\n  let numBlanklines = 0;\n  for( let i = 0; i &lt; arrTsv.length; i++ ){\n    if( arrTsv[i] === &quot;&quot; ){ \/\/ Skip blank lines\n      numBlanklines += 1;\n      continue;\n    }\n    let arrCells = arrTsv[i].split(&quot;\\t&quot;);\n    if( numMinWidth &gt; arrCells.length ){ numMinWidth = arrCells.length; }\n    if( numMaxWidth &lt; arrCells.length ){ numMaxWidth = arrCells.length; }\n  }\n  engine.log( &quot; AutomatedTask TsvDataCheck:&quot; + \n              &quot; MinWidth:&quot; + numMinWidth +\n              &quot; MaxWidth:&quot; + numMaxWidth +\n              &quot; Lines:&quot; + arrTsv.length +\n              &quot; (BlankLines:&quot; + numBlanklines + &quot;)&quot; );\n\n  \/\/\/ Get numMinWidth and numMaxWidth (blank lines are excluded)\n  let arr2dTsv      = [];\n  for( let i = 0; i &lt; arrTsv.length; i++ ){\n    if( arrTsv[i] === &quot;&quot; ){ \/\/ Skip blank lines\n      continue;\n    }\n    let arrTmp = [];\n    let arrCells = arrTsv[i].split(&quot;\\t&quot;);\n    for( let j = 0; j &lt; numMaxWidth; j++ ){\n      if( j &lt; arrCells.length ){\n        arrTmp[j] = arrCells[j];\n      }else{\n        arrTmp[j] = &quot;&quot;;\n      }\n    }\n    arr2dTsv.push( arrTmp );\n  }\n\n  return arr2dTsv;\n}\n\n\/*\nNotes:\n- When the process reaches this automated task, TSV is automatically read.\n    - TSV: Monthly sales, monthly access log, etc.\n- If there is a blank line in the input TSV text, it will be skipped.\n    - The line feed code for the last line is not added either.\n-\u3000The output TSV text (total table TSV, etc.) is rectangular data.\n    - The number of rows in TSV is the number of types of &quot;aggregate Key&quot;.\n    - The number of columns of TSV is 5 of &quot;key&quot;, &quot;sum&quot;, &quot;percentage&quot;, &quot;count&quot;, and &quot;average&quot;.\n\nAPPENDIX:\n- TSV (Tab Separated Values) text assumes rectangular data.\n    - Data that is not rectangular is automatically formatted with empty characters.\n    - Blank lines (including the end) are ignored.\n- Only &quot;DESC&quot; or &quot;ASC&quot; is valid for the sort config.\n    - If no sort setting, it will be in the order of appearance.\n    - Character sorting is in code order.\n    - If both character sort and numeric sort are configured, numeric sort is performed after character sort.\n- Specify the field column with the column ID (starting with zero).\n    - Parsing numeric field values depends on JavaScript `parseFloat()`.\n    - If commas in the numeric field, they are considered a thousands separator (The removed string is parsed).\n    - A string that cannot be parsed is considered zero.\n\n\nNotes-ja:\n- \u6848\u4ef6\u304c\u81ea\u52d5\u51e6\u7406\u5de5\u7a0b\u306b\u5230\u9054\u3057\u305f\u969b\u3001\u6587\u5b57\u5217\u578b\u30c7\u30fc\u30bf\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308bTSV\u304c\u81ea\u52d5\u7684\u306b\u8aad\u307f\u8fbc\u307e\u308c\u307e\u3059\u3002\n    - TSV: \u6708\u6b21\u58f2\u4e0a\u3001\u6708\u6b21\u30a2\u30af\u30bb\u30b9\u30ed\u30b0\u3001\u306a\u3069\n- \u5165\u529bTSV\u30c6\u30ad\u30b9\u30c8\u306b\u7a7a\u884c\u304c\u3042\u308b\u5834\u5408\u3001\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002\n    - \u51fa\u529bTSV\u306e\u6700\u7d42\u884c\u306b\u6539\u884c\u30b3\u30fc\u30c9\u306f\u4ed8\u4e0e\u3055\u308c\u307e\u305b\u3093\u3002\n- \u51fa\u529b\u3055\u308c\u308bTSV\u30c6\u30ad\u30b9\u30c8\uff08\u5408\u8a08\u5024\u30c6\u30fc\u30d6\u30ebTSV\u7b49\uff09\u306f\u3001\u77e9\u5f62\u30c7\u30fc\u30bf\u3067\u3059\u3002\n    - TSV\u306e\u884c\u6570\u306f &quot;\u96c6\u7d04Key&quot; \u306e\u7a2e\u985e\u6570\u306b\u306a\u308a\u307e\u3059\u3002\n    - TSV\u306e\u5217\u6570\u306f\u3001&quot;\u96c6\u7d04Key\u5217&quot; &quot;\u5408\u7b97\u5024\u5217&quot; &quot;\u5272\u5408\u5024\u5217&quot; &quot;\u500b\u6570\u5217&quot; &quot;\u5e73\u5747\u5024\u5217&quot; \u306e\uff15\u3067\u3059\u3002\n\nAPPENDIX-ja:\n- TSV\uff08Tab Separated Values\uff09\u30c6\u30ad\u30b9\u30c8\u306f\u3001\u77e9\u5f62\u30c7\u30fc\u30bf\u3092\u524d\u63d0\u3068\u3057\u307e\u3059\u3002\n    - \u77e9\u5f62\u3067\u306a\u3044\u30c7\u30fc\u30bf\u306f\u3001\u7a7a\u6587\u5b57\u306b\u3088\u3063\u3066\u81ea\u52d5\u6574\u5f62\u3055\u308c\u307e\u3059\u3002\n    - \u7a7a\u884c\uff08\u672b\u5c3e\u6539\u884c\u3092\u542b\u3080\uff09\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002\n- \u30bd\u30fc\u30c8\u8a2d\u5b9a\u306f &quot;DESC&quot; \u3082\u3057\u304f\u306f &quot;ASC&quot; \u306e\u307f\u304c\u6709\u52b9\u3067\u3059\u3002\n    - \u30bd\u30fc\u30c8\u8a2d\u5b9a\u304c\u306a\u3044\u5834\u5408\u3001\u51fa\u73fe\u9806\u306b\u306a\u308a\u307e\u3059\u3002\n    - \u6587\u5b57\u30bd\u30fc\u30c8\u306f\u6587\u5b57\u30b3\u30fc\u30c9\u9806\u306b\u306a\u308a\u307e\u3059\u3002\n    - \u6587\u5b57\u30bd\u30fc\u30c8\u3068\u6570\u5024\u30bd\u30fc\u30c8\u304c\u3069\u3061\u3089\u3082\u8a2d\u5b9a\u3055\u308c\u305f\u5834\u5408\u3001\u6587\u5b57\u30bd\u30fc\u30c8\u306e\u5f8c\u306b\u6570\u5024\u30bd\u30fc\u30c8\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n- \u30d5\u30a3\u30fc\u30eb\u30c9\u5217\u306e\u6307\u5b9a\u306f\u3001\u5217ID\uff08\u30bc\u30ed\u59cb\u307e\u308a\uff09\u3067\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n    - \u6570\u5024\u30d5\u30a3\u30fc\u30eb\u30c9\u5024\u306e\u89e3\u6790\uff08\u30d1\u30fc\u30b9\uff09\u306f JavaScript `parseFloat()` \u306b\u4f9d\u5b58\u3057\u307e\u3059\u3002\n    - \u6570\u5024\u30d5\u30a3\u30fc\u30eb\u30c9\u5024\u306b\u30ab\u30f3\u30de\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u6841\u533a\u5207\u308a\u6587\u5b57\u3068\u307f\u306a\u3055\u308c\u307e\u3059\uff08\u9664\u53bb\u3055\u308c\u305f\u6587\u5b57\u5217\u304c\u89e3\u6790\u3055\u308c\u307e\u3059\uff09\u3002\n    - \u89e3\u6790\u3067\u304d\u306a\u3044\u6587\u5b57\u5217\u306f\u30bc\u30ed\u3068\u898b\u306a\u3055\u308c\u307e\u3059\u3002\n*\/\n\n<\/code><\/pre><\/div>\n\n\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright\"><a href=\"#\"><img decoding=\"async\" src=\"data:image;base64,\niVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAw5JREFUWEfN\nl01IFGEYx38juvmxkmshEoqblSR2cQ+CIIHiYT34lQgWeSgPuyaoQRgoeA\/D7WKOYAUadQjq5LlL\nBRkokYhYaKSHwFrNWKttceKdbXR39mNmt4VtT8vwPs\/7m+fj\/zwjkeafZPr+KXJRuIBEPQrVSNgB\n21\/7bRQ+IrGIwnMknuJiz4xvY4AHFOPnJuAGss04BX4CMhZucYXP8WziA8i4kbgN5Jm8WH\/Mh8IN\n3Mix7GMDTHEX6E3yYr3ZJC6uRfMVHUDmERIXU3R50I3CY9xc0vuMBNC9edepLsZrx7FmWRPiWdlZ\noeZZjWEkwgGCOZ8Mteo+081E3QT5WfkJASxvL1P1pCrSRqE3tCYOAYLV\/kFfcBqAhMTY2zHWv6\/H\nBWkua6azvJOYAODDwmmtOw4BpvAAg3rvGoB43veij9n3sxEADScaaLG3ENgPUGApoOdsTzwAYX8H\nF9fFnyCAEBn4Gq3PzQC02ltxljjZ8G1Qnl9uBkDoxDEhVkEAmctIRL4aYCYFGVIGxbnFbP3Ywlnq\nNEqB1hXduHmoReAecDVaclNehIeX3MdFjxaBBSSq4wGINtwL7LGv7KvHRFHmZOaoeffv+w9MM6VM\n9XmcItQisIgbhxYBb8hgCePQ18Du713KrGUseZeYqZ9B9HvjXOOBzfT5aTM1IM5v46JQA1Bi9VYo\nwPD8ME2lTZRaS9VuGDg3oALMb81TklfCpm+TouwiswDgQkoIYPDVII7jDiptlcjLMp5ajwrgeeeh\n8Egh3l9e2u3tSQGYToGmA6L3U5cCGcMiTJkUa7lWCCtCwzbUK2EKIhDWhoZCJABG3ozQZm9TW2\/h\ny4IqUqIGhBBVHK1g9dsqa7tr5mpAIUyITEnx0OshOk52qBUvCm\/UMZpsF+ikODgPDIdR\/8t+fAEf\nO\/4dbBabuick2QW6YSQADMZxCpUwxjgODqU0LiRae+hWMpHvuuI6sjKyEtqIhCjNfZrT20Qsp\/\/h\nUhojEgm9fuThBNdyzUFaP0w0iLR+moWGMm0fp\/+YfCPzP5RaqTCvMLQEAAAAAElFTkSuQmCC\n\" alt=\"\"\/><\/a><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-cloud-download-alt\"><\/i> Download<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/drive.google.com\/file\/d\/1AlU2jPzE1wLUVZ5QNdhqHXORgIa-YI6Q\/view?usp=drivesdk\" target=\"_blank\" rel=\"noreferrer noopener\">Tsv-String-Create-Summary-Table-for-Numeric-Column-2021.xml<\/a><\/li><\/ul>\n\n\n\n<p class=\"has-text-align-right has-small-font-size wp-block-paragraph\">2021-09-06 (C) Questetra, Inc. (MIT License)<br><a href=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-summary-table-for-numeric-column-2021\/\">https:\/\/support.questetra.com\/addons\/tsv-string-create-summary-table-for-numeric-column-2021\/<\/a><br><i class=\"fal fa-info-circle\"><\/i> The Add-on import feature is available with <span style=\"color:#4a86e8\" class=\"has-inline-color\"><strong>Professional<\/strong><\/span> edition.<br>Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.<\/p>\n\n\n<div class=\"su-divider su-divider-style-dashed\" style=\"margin:30px 0;border-width:8px;border-color:#009900\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>When the process reaches this automated task, TSVs stored in String-type data will be loaded automatically.<ul><li>TSV: Monthly sales, monthly access log, etc.<\/li><\/ul><\/li><li>If there is a blank line in the input TSV text, it will be skipped.<ul><li>The line feed code for the last line is not added either.<br>-\u3000The output TSV text (total table TSV, etc.) is rectangular data.<\/li><li>The number of rows in the TSV will be the number of &#8220;Aggregate Key&#8221; types.<\/li><li>The number of columns in the TSV is 5: key, sum, percentage, count, and average.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-images\"><\/i> Capture<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?ssl=1\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" data-attachment-id=\"112470\" data-permalink=\"https:\/\/support.questetra.com\/en\/maintenance\/maintenance-20251117\/attachment\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?fit=1200%2C675&amp;ssl=1\" data-orig-size=\"1200,675\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"tsv-string-create-summary-table-for-numeric-column-2021-capture-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?fit=1024%2C576&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?resize=1200%2C675&#038;ssl=1\" alt=\"Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, &quot;Sales for each client&quot; is aggregated from &quot;Sales log TSV&quot;. Grand Total Tabulation.\" class=\"wp-image-112470\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?resize=560%2C315&amp;ssl=1 560w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-capture-en.png?resize=768%2C432&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default q-box\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"630\" data-attachment-id=\"112474\" data-permalink=\"https:\/\/support.questetra.com\/en\/maintenance\/maintenance-20251117\/attachment\/tsv-string-create-summary-table-for-numeric-column-2021-config-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?fit=1199%2C1062&amp;ssl=1\" data-orig-size=\"1199,1062\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"tsv-string-create-summary-table-for-numeric-column-2021-config-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?fit=711%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en-711x630.png?resize=711%2C630&#038;ssl=1\" alt=\"Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, &quot;Sales for each client&quot; is aggregated from &quot;Sales log TSV&quot;. Grand Total Tabulation.\" class=\"wp-image-112474\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?resize=711%2C630&amp;ssl=1 711w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?resize=356%2C315&amp;ssl=1 356w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?resize=768%2C680&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-config-en.png?w=1199&amp;ssl=1 1199w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-book\"><\/i> Appendix<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>TSV (Tab Separated Values) text assumes rectangular data.<ul><li>Data that is not rectangular is automatically formatted with empty characters.<\/li><li>Blank lines (including the end) are ignored.<\/li><\/ul><\/li><li>Only &#8220;DESC&#8221; or &#8220;ASC&#8221; is valid for the sort config.<ul><li>If there is no sort setting, it will be ordered by appearance.<\/li><li>Character sorting is in code order.<\/li><li>If both character sort and numeric sort are configured, numeric sort is performed after character sort.<\/li><\/ul><\/li><li>Specify the field column with the column ID (starting with zero).<ul><li>Parsing numeric field values depends on JavaScript <code>parseFloat()<\/code>.<\/li><li>If commas are present in the numeric field, they are considered a thousands separator (The removed string will be parsed).<\/li><li>A string that cannot be parsed is considered zero.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-questetra-support wp-block-embed-questetra-support\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"dOTg4LS5kk\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/tsv-string-calc-changes-in-two-numeric-columns-2021\/\">TSV String, Calc Changes in Two Numeric Columns<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;TSV String, Calc Changes in Two Numeric Columns&#8221; &#8212; Questetra Support\" src=\"https:\/\/support.questetra.com\/addons\/tsv-string-calc-changes-in-two-numeric-columns-2021\/embed\/#?secret=K2Elx9Me1y#?secret=dOTg4LS5kk\" data-secret=\"dOTg4LS5kk\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, &#8220;Sales for each client&#8221; is aggregated from &#8220;Sales log TSV&#8221;. Grand Total Tabulation.<\/p>\n","protected":false},"author":2,"featured_media":112478,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, \"Sales for each client\" is aggregated from \"Sales log TSV\". Grand Total Tabulation.","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[168],"tags":[494,327,389],"class_list":["post-112482","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-addons","tag-routine-report","tag-routine-tasks","tag-tsv-csv"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"IMAMURA, Genichi","author_link":"https:\/\/support.questetra.com\/en\/author\/imamuragenichi\/"},"uagb_comment_info":5,"uagb_excerpt":"Aggregates the values in a numeric column by aggregation-keys. Sum, Percentage, Count and Average are tabulated as a summary table TSV. For example, \"Sales for each client\" is aggregated from \"Sales log TSV\". Grand Total Tabulation.","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-tge","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":112691,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-cross-table-for-numeric-column-2021\/","url_meta":{"origin":112482,"position":0},"title":"TSV String, Create Cross Table for Numeric Column","author":"IMAMURA, Genichi","date":"2021-09-08","format":false,"excerpt":"Aggregates the values in a numeric column by 2 aggregation-key columns: Pivot table. Sum, Percentage, Count and Average are tabulated as a cross table TSV. Eg, \"Sales for each combination of Client-Y and Store-X\" is aggregated from \"Sales log TSV\".","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-cross-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-cross-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-cross-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-cross-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-cross-table-for-numeric-column-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":82429,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-cross-tab-for-numerical-sum\/","url_meta":{"origin":112482,"position":1},"title":"TSV String, Create Cross Tab for Numerical Sum","author":"IMAMURA, Genichi","date":"2019-12-05","format":false,"excerpt":"Creates a crosstab (pivot table) for numeric fields in TSV data. For example, the \"Amount\" in the order history (TSV) is aggregated on two axes, \"Responsible\" and \"Product\". The fields for X-axis and Y-axis aggregation are specified by TSV field ID.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"TSV String, Create Cross Tab for Numerical Sum","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":112902,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-summary-table-of-count-2021\/","url_meta":{"origin":112482,"position":2},"title":"TSV String, Create Summary Table of Count","author":"IMAMURA, Genichi","date":"2021-09-13","format":false,"excerpt":"Aggregates the count of data by aggregation-keys. Count and Percentage are tabulated as a summary table TSV. Eg, Survey Results TSV is automatically generated from Survey Records TSV. Frequency distribution.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"TSV String, Create Summary Table of Count","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-of-count-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-of-count-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-of-count-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-of-count-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/09\/tsv-string-create-summary-table-of-count-2021-nocode-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":79781,"url":"https:\/\/support.questetra.com\/en\/data-items\/table-type\/","url_meta":{"origin":112482,"position":3},"title":"Table-Type","author":"Peter Glover","date":"2021-01-22","format":false,"excerpt":"Displays a table that can use the String, Numeric, Select or Date formats.","rel":"","context":"In &quot;Data Items&quot;","block_context":{"text":"Data Items","link":"https:\/\/support.questetra.com\/en\/category\/data-items\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/09\/Table.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/09\/Table.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/09\/Table.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/09\/Table.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/09\/Table.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":70808,"url":"https:\/\/support.questetra.com\/en\/addons\/journaltsv-generator\/","url_meta":{"origin":112482,"position":4},"title":"Journal Slip TSV from Invoice Data","author":"Hirotaka NISHI","date":"2018-11-14","format":false,"excerpt":"Generate transfer slip TSV (tab-separated-values) with sales amount, sales date, due date. It supports cases where add a sales collectively or divided into several months or mixture of those. In order to generate a file for the accounting system, you need to place a converter such as \"TSV to Excel-CSV\u2026","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":96429,"url":"https:\/\/support.questetra.com\/en\/incident\/bug-20201014\/","url_meta":{"origin":112482,"position":5},"title":"Value of Numeric Row Sum of Table-type may not be Reflected in Numeric-type (Fixed)","author":"Hirotaka NISHI","date":"2020-10-14","format":false,"excerpt":"Fixed Version: Ver. 12.2.1","rel":"","context":"In &quot;Incident Info&quot;","block_context":{"text":"Incident Info","link":"https:\/\/support.questetra.com\/en\/category\/incident\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/bug-report-en-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/bug-report-en-1200x675-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/bug-report-en-1200x675-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/bug-report-en-1200x675-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/bug-report-en-1200x675-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/112482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=112482"}],"version-history":[{"count":4,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/112482\/revisions"}],"predecessor-version":[{"id":112612,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/112482\/revisions\/112612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/112478"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=112482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=112482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=112482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}