comparison query_tabular.xml @ 16:5b4f6cf857cf draft

Uploaded
author jjohnson
date Thu, 22 Jun 2017 09:14:56 -0400
parents 3003fe70f297
children b9f797bf4f38
comparison
equal deleted inserted replaced
15:67082f49f047 16:5b4f6cf857cf
1 <tool id="query_tabular" name="Query Tabular" version="3.0.0"> 1 <tool id="query_tabular" name="Query Tabular" version="3.1.0">
2 <description>using sqlite sql</description> 2 <description>using sqlite sql</description>
3 3
4 <requirements> 4 <requirements>
5 </requirements> 5 </requirements>
6 <stdio> 6 <stdio>
101 #set $filter_dict = dict() 101 #set $filter_dict = dict()
102 #set $filter_dict['filter'] = str($fi.filter.filter_type) 102 #set $filter_dict['filter'] = str($fi.filter.filter_type)
103 #set $filter_dict['pattern'] = str($fi.filter.regex_pattern) 103 #set $filter_dict['pattern'] = str($fi.filter.regex_pattern)
104 #set $filter_dict['action'] = str($fi.filter.regex_action) 104 #set $filter_dict['action'] = str($fi.filter.regex_action)
105 #silent $input_filters.append($filter_dict) 105 #silent $input_filters.append($filter_dict)
106 #elif $fi.filter.filter_type == 'select_columns':
107 #set $filter_dict = dict()
108 #set $filter_dict['filter'] = str($fi.filter.filter_type)
109 #set $filter_dict['columns'] = [int(str($ci)) for $ci in str($fi.filter.columns).split(',')]
110 #silent $input_filters.append($filter_dict)
106 #elif $fi.filter.filter_type == 'replace': 111 #elif $fi.filter.filter_type == 'replace':
107 #set $filter_dict = dict() 112 #set $filter_dict = dict()
108 #set $filter_dict['filter'] = str($fi.filter.filter_type) 113 #set $filter_dict['filter'] = str($fi.filter.filter_type)
109 #set $filter_dict['column'] = int(str($fi.filter.column)) 114 #set $filter_dict['column'] = int(str($fi.filter.column))
110 #set $filter_dict['pattern'] = str($fi.filter.regex_pattern) 115 #set $filter_dict['pattern'] = str($fi.filter.regex_pattern)
143 <conditional name="filter"> 148 <conditional name="filter">
144 <param name="filter_type" type="select" label="Filter By"> 149 <param name="filter_type" type="select" label="Filter By">
145 <option value="skip">skip leading lines</option> 150 <option value="skip">skip leading lines</option>
146 <option value="comment">comment char</option> 151 <option value="comment">comment char</option>
147 <option value="regex">by regex expression matching</option> 152 <option value="regex">by regex expression matching</option>
153 <option value="select_columns">select columns</option>
148 <option value="replace">regex replace value in column</option> 154 <option value="replace">regex replace value in column</option>
149 <option value="prepend_line_num">prepend a line number column</option> 155 <option value="prepend_line_num">prepend a line number column</option>
150 <option value="append_line_num">append a line number column</option> 156 <option value="append_line_num">append a line number column</option>
151 <option value="normalize">normalize list columns, replicates row for each item in list</option> 157 <option value="normalize">normalize list columns, replicates row for each item in list</option>
152 </param> 158 </param>
168 <param name="regex_action" type="select" label="action for regex match"> 174 <param name="regex_action" type="select" label="action for regex match">
169 <option value="exclude_match">exclude line on pattern match</option> 175 <option value="exclude_match">exclude line on pattern match</option>
170 <option value="include_match">include line on pattern match</option> 176 <option value="include_match">include line on pattern match</option>
171 <option value="exclude_find">exclude line if pattern found</option> 177 <option value="exclude_find">exclude line if pattern found</option>
172 <option value="include_find">include line if pattern found</option> 178 <option value="include_find">include line if pattern found</option>
179 </param>
180 </when>
181 <when value="select_columns">
182 <param name="columns" type="text" value="" label="enter column numbers to keep"
183 help="example: 1,4,2 (selects the first,fourth, and second columns)">
184 <validator type="regex" message="Column ordinal positions separated by commas">^([1-9]\d*)(,[1-9]\d*)*$</validator>
173 </param> 185 </param>
174 </when> 186 </when>
175 <when value="replace"> 187 <when value="replace">
176 <param name="column" type="data_column" data_ref="table" label="Column to replace text" 188 <param name="column" type="data_column" data_ref="table" label="Column to replace text"
177 help=""/> 189 help=""/>
308 :: 320 ::
309 321
310 - skip leading lines skip the first *number* of lines 322 - skip leading lines skip the first *number* of lines
311 - comment char omit any lines that start with the specified comment character 323 - comment char omit any lines that start with the specified comment character
312 - by regex expression matching *include/exclude* lines the match the regex expression 324 - by regex expression matching *include/exclude* lines the match the regex expression
325 - select columns choose to include only selected columns in the order specified
313 - regex replace value in column replace a field in a column using a regex substitution (good for date reformatting) 326 - regex replace value in column replace a field in a column using a regex substitution (good for date reformatting)
314 - prepend a line number column each line has the ordinal value of the line read by this filter as the first column 327 - prepend a line number column each line has the ordinal value of the line read by this filter as the first column
315 - append a line number column each line has the ordinal value of the line read by this filter as the last column 328 - append a line number column each line has the ordinal value of the line read by this filter as the last column
316 - normalize list columns replicates the line for each item in the specified list *columns* 329 - normalize list columns replicates the line for each item in the specified list *columns*
317 330
539 :: 552 ::
540 553
541 Filter 1 - by regex expression matching [include]: '^\d+' (include lines that start with a number) 554 Filter 1 - by regex expression matching [include]: '^\d+' (include lines that start with a number)
542 Filter 2 - append a line number column: 555 Filter 2 - append a line number column:
543 Filter 3 - regex replace value in column[4]: '(\d+)/(\d+)/(\d+)' '19\3-\2-\1' (convert dates to sqlite format) 556 Filter 3 - regex replace value in column[4]: '(\d+)/(\d+)/(\d+)' '19\3-\2-\1' (convert dates to sqlite format)
557 Filter 4 - select columns 7,2,3,4,1
544 558
545 Table: People 559 Table: People
546 Columns: Pets,FirstName,LastName,DOB,,,id 560 Columns: id,FirstName,LastName,DOB,Pets
547 561
548 ==== ========= ======== ========== == 562 == ========= ======== ========== ====
549 Pets FirstName LastName DOB id 563 id FirstName LastName DOB Pets
550 ==== ========= ======== ========== == 564 == ========= ======== ========== ====
551 2 Paula Brown 1978-05-24 1 565 1 Paula Brown 1978-05-24 2
552 1 Steven Jones 1974-04-04 2 566 2 Steven Jones 1974-04-04 1
553 0 Jane Doe 1978-05-24 3 567 3 Jane Doe 1978-05-24 0
554 1 James Smith 1980-10-20 4 568 4 James Smith 1980-10-20 1
555 ==== ========= ======== ========== == 569 == ========= ======== ========== ====
556 570
557 571
558 *Pet Table* 572 *Pet Table*
559 573
560 :: 574 ::
561 575
562 Filter 1 - by regex expression matching [include]: '^\d+' (include lines that start with a number) 576 Filter 1 - by regex expression matching [include]: '^\d+' (include lines that start with a number)
563 Filter 2 - append a line number column: 577 Filter 2 - append a line number column:
564 Filter 3 - by regex expression matching [exclude]: '^0\t' (exclude lines with no pets) 578 Filter 3 - by regex expression matching [exclude]: '^0\t' (exclude lines with no pets)
565 Filter 4 - normalize list columns[5,6]: 579 Filter 4 - normalize list columns[5,6]:
580 Filter 5 - select columns 7,5,6
566 581
567 Table: Pet 582 Table: Pet
568 Columns: ,,,,PetName,PetType,id 583 Columns: id,PetName,PetType
569 584
570 ======== ======== == 585 == ======== ========
571 PetName PetType id 586 id PetName PetType
572 ======== ======== == 587 == ======== ========
573 Rex dog 1 588 1 Rex dog
574 Fluff cat 1 589 1 Fluff cat
575 Allie cat 2 590 2 Allie cat
576 Spot 4 591 4 Spot
577 ======== ======== == 592 == ======== ========
578 593
579 594
580 Query: SELECT FirstName,LastName,PetName FROM People join Pet on People.id = Pet.id WHERE PetType = 'cat'; 595 Query: SELECT FirstName,LastName,PetName FROM People join Pet on People.id = Pet.id WHERE PetType = 'cat';
581 596
582 Result: 597 Result: