はじめに:関数は“順番”で覚えると速い
関数は網羅的な一覧で眺めるより、使う頻度が高い順と実務シナリオ別に覚えるのが最短です。本記事は、現場で最も使うものから並べ、ひと目でコピペできる最小例と注意点を添えました。最後によくあるエラーの直し方と参照用チートシートも付けています。
A. コア集計・統計(まずはここから)
集計関数はビューの粒度で働きます。比率は**「合計の比」**が基本。
合計・平均・最小最大
個数
中央値・分散・標準偏差・相関
単一値であることの保証
比率(誤差の出ない定義)
B. 算術・丸め・変換(型とNULLの扱いが肝)
四則・剰余・冪
丸め・端数処理
型変換・NULL対策
コツ:文字列連結は
+
を使います。数値を混ぜる場合はSTR()
を忘れずに。
C. 文字列・正規表現(名前・コード・ログ処理の定番)
基本
分割
正規表現
D. 日付・時間(粒度と分母を揃える)
現在時刻・今日
足し引き・差分
粒度の固定・名前・番号
生成・解釈
注意:前年比など前期点参照が絡む計算は、表示範囲に比較相手を含める(例:過去13か月)。
E. 論理・制御(条件分岐と三値論理)
IF / CASE / IIF
論理演算と集合
F. 表計算(ウィンドウ系・ランニング系・ランキング)
**アドレッシング(計算の方向)**を「日付方向」などに正しく設定するのが要。
比較・移動平均
累積・構成比・合計
順位・パーセンタイル
位置・サイズ
G. LOD表現({ FIXED / INCLUDE / EXCLUDE })
フィルターで分母がブレない計算に最適。ビューの粒度と切り離して集計します。
顧客別売上(ビューの粒度に関係なく)
顧客別売上を合算(分母固定の比率)
ビューより詳細に集計(INCLUDE)・粗く集計(EXCLUDE)
H. 地理・空間(距離・バッファ・線/面の生成)
点・線・面
距離・範囲・交差
緯度・経度の並び(通常は緯度, 経度)を取り違えないように。
I. ユーザー・セキュリティ(RLSでよく使う)
例:ユーザーごとに閲覧範囲を制御
J. 実務スニペット(貼って使える30行)
1) 年初来累積と当年フラグ
2) 直近N日だけを表示(パラメータ連動)
3) TopN+その他(可変)
4) 前年同月比(%)
5) 文字から日付を安全に解釈(失敗時はNULL)
6) “高粗利かつ高売上”の旗(AND/ORの優先順位に注意)
7) 異常閾値(中央値±3σ)
8) 連番を用いた“等間引きの点”
9) 文字整形(ハイフン除去・ゼロ埋め)
10) 表示言語の切替(辞書テーブル連携)
K. よくあるエラーと落とし穴(すぐ直す)
-
「集計と非集計を混在できません」
→ 比較の両辺を揃える:SUM([売上]) > SUM([目標])
/単一値はATTR([目標])
へ。 -
比率がズレる
→ 分母がフィルターで変わっていないか。LODで固定するか、コンテキスト化。 -
前年比がNULL
→ 表示範囲に前年がない。13か月を含めるか、基準値を別計算で保持。 -
正規表現が重い
→ 可能なら前処理(ETL)で。ビュー内はSPLIT
やLEFT/RIGHT
優先。 -
論理が意図と違う
→AND
はOR
より強い。括弧で明示する。 -
日付が文字列のまま
→DATE()
/DATEPARSE()
で実日付へ。DATETRUNC
やDATEADD
が使えるようになる。 -
NULLの三値論理
→ 条件式がNULLだとIFはTRUEにならない。ZN/IFNULL
やIIF(..., unknown)
で設計する。
L. 参照用チートシート(カテゴリ別ミニ一覧)
-
集計:
SUM, AVG, MIN, MAX, MEDIAN, COUNT, COUNTD, ATTR
-
数学:
ABS, SIGN, ROUND, CEILING, FLOOR, POWER, SQRT, PI, EXP, LN, LOG
-
文字列:
LEFT, RIGHT, MID, LEN, TRIM, LTRIM, RTRIM, UPPER, LOWER, REPLACE, FIND, SPLIT, STARTSWITH, ENDSWITH, CONTAINS, REGEXP_MATCH/EXTRACT/REPLACE
-
日付:
TODAY, NOW, DATE, DATETIME, DATEADD, DATEDIFF, DATETRUNC, DATENAME, DATEPART, MAKEDATE, MAKETIME, MAKEDATETIME, DATEPARSE
-
論理/NULL:
IF, CASE, IIF, AND, OR, NOT, IFNULL, ZN, ISNULL, ISDATE, IN
-
表計算:
LOOKUP, WINDOW_SUM/AVG/MIN/MAX, WINDOW_STDEV/VAR, RUNNING_SUM/AVG/MIN/MAX, RANK/DENSE/UNIQUE, PERCENTILE, FIRST, LAST, INDEX, SIZE, TOTAL
-
LOD:
{ FIXED ... }, { INCLUDE ... }, { EXCLUDE ... }
-
空間:
MAKEPOINT, MAKELINE, MAKEPOLYGON, DISTANCE, BUFFER, INTERSECTS
-
ユーザー:
USERNAME, FULLNAME, USERDOMAIN, ISMEMBEROF
覚え方のコツ:まずA~Fを固める → LODで分母固定 → 空間/ユーザーは必要時に。
まとめ
-
一覧を暗記するより、頻度順×短い例で身につけるほうが速く確実です。
-
比率は合計の比、前年比は表示範囲に比較相手を含める、NULLは設計で潰す。
-
LODで分母固定、表計算で推移や相対比較、文字列/日付処理で入力の揺れを正規化。
この型を押さえれば、ほとんどの実務KPIは短い式で安定的に表現できます。
コメント