mcpField
F
filterql-builder

filterql-builder

github.com/lyticsデータ・データベース449 回インストール3 週間前に更新
リポジトリ

filterql-builder について

filterql-builderは、構造化された条件を有効なFilterQL式に変換するスキルです。API接続なしで、フィールド型に応じた構文とAND/OR/NOTのグループ化を使って条件を組み立てます。

主な機能

  1. 01フィールド型に応じた演算子の割り当て
  2. 02AND/OR/NOT条件の構成
  3. 03説明的なエイリアスslugの生成
  4. 04引用符付き値のエスケープ
  5. 05互換性のない演算子の指摘

活用シーン

  1. 01オーディエンス条件のFilterQL化
  2. 02対象テーブル向けの条件グループ作成
  3. 03無効な式や演算子の修正

MCP 対応

入力にはMCP接続や関連動作の説明がありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lytics/agent-skills --skill filterql-builder

インストール後、Claude Code で/filterql-builderを入力して読み込まれたか確認します。

詳細

FilterQL ビルダー

目的

構造化された条件を有効な FilterQL 構文に変換します。AND/OR によるグループ化を含むフィールド/演算子/値のタプルを受け取り、構文的に正しい FilterQL 文字列を生成します。

環境

  • 不要(構築のみで、API 呼び出しはありません)

入力

  • 条件: (フィールド、演算子、値) タプルのリスト
  • グループ化:AND/OR/NOT による構成
  • テーブル:対象テーブル(デフォルト:user)
  • エイリアス:セグメントのスラッグ名

動作

ステップ 1:各条件を FilterQL 構文に対応付ける

各条件について、../references/field-types.md の型と演算子の互換性マトリックスを使用します。

フィールド型自然言語FilterQL
string"X" と等しいfield = "X"
string"X" ではないfield != "X"
string"X" を含むfield CONTAINS "X"
stringパターンに一致するfield LIKE "pattern*"
stringA、B、C のいずれかfield IN ("A", "B", "C")
booltrue であるfield = true
boolfalse であるfield = false
int/numberN より大きいfield > N
int/numberN 以上field >= N
int/numberN より小さいfield < N
dateN 日前より後field > "now-Nd"
dateN 日前より前field < "now-Nd"
date過去 N 時間以内field > "now-Nh"
[]string(セット)"X" を含むfield INTERSECTS ("X")
[]string(セット)"X" を含まないfield NOT INTERSECTS ("X")
任意値があるEXISTS field
任意空であるNOT EXISTS field
ステップ 2:条件を組み合わせる

条件を AND/OR/NOT で囲みます。

FILTER AND (
  condition1,
  condition2,
  OR (condition3, condition4)
) FROM table ALIAS slug_name

ルール:

  • 条件が 1 つの場合:FILTER condition FROM table ALIAS slug
  • 複数の条件は、デフォルトで AND で結合します
  • NOT は単一の条件またはグループを囲むことができます
  • AND/OR のグループには括弧が必要です
  • グループ内の条件はカンマで区切ります
ステップ 3:スラッグ名を生成する

エイリアスを有効なスラッグに変換します。

  • 小文字にします
  • スペースをアンダースコアに置き換えます
  • 特殊文字を削除します
  • 説明的でありながら簡潔な名前にします
ステップ 4:出力

完全な FilterQL 文字列を返します。

FILTER AND (country = "US", visitct > 5) FROM user ALIAS us_active_visitors

日付計算のリファレンス

期間構文例
時間"now-Nh""now-24h" = 1 日前
日"now-Nd""now-30d" = 30 日前
週"now-Nw""now-4w" = 4 週間前
月"now-NM""now-6M" = 6 か月前
年"now-Ny""now-1y" = 1 年前

一般的な換算:

  • 1 年 = "now-1y" または "now-8760h" または "now-365d"
  • 90 日 = "now-90d" または "now-2160h"
  • 1 週間 = "now-1w" または "now-7d" または "now-168h"

エラー処理

  • フィールド型が指定された演算子に対応していない場合は、適切な演算子を提案します
  • 値に引用符が含まれる場合は、エスケープします
  • FilterQL の構文が無効な場合は、問題を特定して修正します

依存関係

  • リファレンス:../references/filterql-grammar.md、../references/field-types.md

コメント