QUERY関数で使えるAPI一覧
これまで、QUERY関数の使い方や応用を実践していきました。
QUERY(データ, クエリ, [見出し])
QUERY関数は、Google Visualization API のクエリ言語を使用して、データ全体に対するクエリを実行します。
今回は「Google Visualization API のクエリ言語」について、これまでの総まとめとして、まとめます。
オフィシャルのドキュメントはこちら▼
Language Clauses(言語条項)
クエリ関数では、下記のようなクエリ言語が使えるようになっています。
Clause | Usage |
---|---|
select | Selects which columns to return, and in what order. If omitted, all of the table’s columns are returned, in their default order. |
where | Returns only rows that match a condition. If omitted, all rows are returned. |
group by | Aggregates values across rows. |
pivot | Transforms distinct values in columns into new columns. |
order by | Sorts rows by values in columns. 列の行値を並び替える |
limit | Limits the number of returned rows. |
offset | Skips a given number of first rows. |
label | Sets column labels. |
format | Formats the values in certain columns using given formatting patterns. |
options | Sets additional options. |
from | The from clause has been eliminated from the language. |
色々とできますね!
SELECT *(列選択)
selectを使うと「範囲の選択」ができます。アスタリスクにすると全ての列を抽出、列名を指定すると、指定した列が抽出されます。
=query(estimate_quantity_flower!A2:K,"select *")
=query(estimate_quantity_flower!A2:K,"select A")
=query(estimate_quantity_flower!A2:K,"select A,B,C")
=query(estimate_quantity_flower!A2:K,"select C,B,A")
where
whereを使うと「条件指定」ができます。
=query(estimate_quantity_flower!A2:K,"select * where F = 'スプレー菊'")
複数指定の場合は、andでつなぎます。
=query(estimate_quantity_flower!A2:K,"select * where B='板橋' and F='スプレー菊'")
WHERE ORとすると、複数の条件(○○または○○)を指定できます。
=query(estimate_quantity_flower!A2:K,"select * where B='板橋' or B='スプレー菊'")
[rml_read_more]
group by
列をまとめて集計します。
=query(estimate_quantity_flower!A2:K,"select F,count(F) where F is not null group by F")
count(F)の場所をAVG(F)とすると、平均値を取得します。sum(F)とすると、グループの合計を取得します。max(F)で最大値、min(F)で最小値を取得できます。
pivot
pivotの使い方ができます。
=query(estimate_quantity_flower!A2:K,"select F,count(F) where F is not null group by F pivot G")
G列をピポッドとして出力できます。
limit
出力する行数を制限できます。例えば「3行まで」といった制限が可能です。
=query(estimate_quantity_flower!A2:K,"select * limit 3")
offset
offsetを使うと、指定した行数を飛ばして表示することができます。例えば10行先まで飛ばしてから抽出したい場合はoffset 10とします。
=QUERY(範囲, "offset 数")
label
列の見出し行にラベル表示ができます。
=QUERY(範囲, "label 列 '名前' ")
複数列にラベルを付けるときは、カンマで区切ります。
=QUERY(範囲, "label 列 '名前',列2 '名前' ")
group byと組み合わせて、グループ化した項目のラベルを上書きすることも可能です。
format
formatは表示形式を変更することができます。
=QUERY(データ範囲,”FORMAT 列 '書式形式'”)
=QUERY(データ範囲,”FORMAT 列 'mm月dd日'”)
mm月dd日形式に変換されます。
options
オプション(additional options)では、さらにいろいろなクエリが可能です。order byを使うと、指定した列の並び順を昇順・降順で並び替えることができます。
=QUERY(範囲 "order by 列 asc")
=QUERY(範囲 "order by 列 desc")
from
※from 句は言語から削除されたようです。
QUERY予約語一覧・まとめ
次の予約語を識別子として使用する場合は、逆引用符で囲む必要があります。
- and
- asc
- by
- date
- datetime
- desc
- false
- format
- group
- label
- limit
- not
- offset
- options
- or
- order
- pivot
- select
- timeofday
- timestamp
- true
まとめ
このような感じで「クエリ関数」を使うことで様々な条件でデータを抽出することができます!クエリ関数については、いくつかの記事で使い方を書いていますので、他のページもご参考ください。