### Basic Examples

Basic Examples

Show the order of operations of a that is constructed of an ascending operator f and an ascending operator g as its arguments:

[Query[f,g]]

In[]:=

Out[]//TreeForm=

Show the order of operations of a that is constructed of (1) a right composition of two descending operators and an ascending operator, (2) the operator, and (3) the ascending operator :

i

[{Select[f]/*GroupBy[g]/*h,All,i}]

In[]:=

Out[]//TreeForm=

### Scope

Scope

Visualize a composed of an ascending and a descending operator to aggregate values of a column after filtering the rows:

[Query[Select[#b"z"&]/*Total,"a"]]

In[]:=

Out[]//TreeForm=

Visualize the order of operations of a that applies functions to each column independently :

[Query[All,{"a"f,"b"g,"c"h}]]

In[]:=

Out[]//TreeForm=

Visualize a that constructs a new table by specifying operators that will compute each column :

[{All,Key["c"]/*<|"ctotal"Total,"clength"Length|>},ImageSize450]

In[]:=

Out[]//TreeForm=

### Options

Options

All the options of are available to this function:

{f,g},ImageSize500,VertexLabelingFalse,EdgeRenderingFunction->

In[]:=

Out[]//TreeForm=

### Applications

Applications

QueryTreeForm is useful in thinking through the order of operations in complex queries :

### Properties and Relations

Properties and Relations

QueryTreeForm can be combined with other visualization functions to present additional information:

### Possible Issues

Possible Issues

Resource Functions that do not format well within TreeForm do not format well in QueryTreeForm either:

### Neat Examples

Neat Examples

A function which if applied to the Titanic dataset will yield a breakdown of survival by gender and class in an attractive format: