NRAO Home > CASA > CASA Toolkit Reference Manual
table.query - Function

3.2.1 Make a table from a query


Description

Make a table from a query applied to the current table. It is possible to specify column(s) and/or expressions to sort on and to specify the columns to be contained in the output table. See the example below. A new ”on-the-fly” table tool is returned. The new (reference) table can be given a name and will then be written to disk. Note that the resulting table is just a reference to the original table. One can make a deep copy of the query result using the copy function (see example).

Arguments





Inputs

query

Query string

allowed:

string

Default:

String

name

Name of resulting reference table

allowed:

string

Default:

sortlist

Sort string (one or more expressions separated by commas)

allowed:

string

Default:

columns

List of column names separated by commas

allowed:

string

Default:

style

How to handle numeric ranges and order axes

allowed:

string

Default:

Returns
table

Example

 
 
  tb.open("3C273XC1.MS")  
  subt=tb.query("OBSERVATION_ID==0",  
                sortlist="ARRAY_ID", columns="TIME, DATA, UVW")  
  print subt.ncols()  
# 23  
  tb.close()  
  copyt = subt.copy ("3C273XC1_spw1.MS", True)  
  subt.close()  
  copyt.close()  
 
From the original table corresponding to the disk file 3C273XC1.MS, only rows  
with OBSERVATION\_ID equal to 0 are selected and sorted by ARRAY\_ID. Only the  
columns TIME DATA UVW are written. Thereafter a deep copy of the result is  
made.  This table query command is equivalent to the Table Query Language  
(TaQL) command  
 
  SELECT TIME, DATA, UVW  
  FROM 3C273XC1.MS  
  WHERE OBSERVATION_ID==0  
  ORDERBY ARRAY_ID  
 
See http://www.astron.nl/casacore/trunk/casacore/doc/notes/199.html for an explanation of TaQL.  
 
If "style" is not blank, "using style <style> " is prepended to the  
query.  See  
http://www.astron.nl/casacore/trunk/casacore/doc/notes/199.html#x1-50002.2 for  
an explanation and list of choices for style.  The default (glish) style is  
1-based, inclusive end, and Fortran ordering.  You may prefer python (0-based,  
exclusive end, and C order) style.  
 
tb.open(’any_data’)  
tsel = tb.selectrows([0])  
print tsel.nrows() # returns 1  
tsel = tb.query(’ROWNUMBER()==0’)  
print tsel.nrows() # returns 0  
tsel = tb.query(’ROWNUMBER()==0’, style=’python’)  
print tsel.nrows() # returns 1  
tb.close()  
 
Note that style had no effect on the "OBSERVATION_ID==0" query above.  
 

Example

 
The sortlist argument can be used to sort in ascending or descending  
order (or a mix of them) on one or more columns. Default is ascending.  
It is also possible to remove duplicate values using the word  
NODUPLICATES at the beginning.  
 
E.g.:  
 
 
  sortlist=’TIME desc’  
  sortlist=’noduplicates ANTENNA1,ANTENNA2’  
  sortlist=’ANTENNA1 desc, ANTENNA2 asc’  
  sortlist=’desc ANTENNA1, ANTENNA2, TIME’  
 

__________________________________________________________________


More information about CASA may be found at the CASA web page

Copyright © 2016 Associated Universities Inc., Washington, D.C.

This code is available under the terms of the GNU General Public Lincense


Home | Contact Us | Directories | Site Map | Help | Privacy Policy | Search