式の編集
式を編集する場合は、条件を手動で入力してルールを作成します。このモードでは、日付、文字列、数値フィールド、並べ替えなど、特定のクエリの実行に使用する値を操作できる高度な関数を使用できます。
式エディターの操作
式エディターは、クエリモデラーの「式を編集」ボタンから実行できます。このボタンは、カスタム条件を設定する際に「属性」フィールドと「値」フィールドで使用できます。
「属性」フィールドからのアクセス | 「値」フィールドからのアクセス |
---|---|
![]() |
![]() |
式エディターには、次の内容があります。
- 式が定義されている 入力フィールド (1)。
- 式で使用でき、クエリのターゲティングディメンションに対応する使用可能な フィールド (2) のリスト。
- カテゴリ別に並べ替えられる ヘルパー関数(3)。
式を編集するには、入力フィールドに式を直接入力します。フィールドまたはヘルパー関数を追加するには、式内の追加する場所にカーソルを置き、「+」ボタンをクリックします。
式の準備が整ったら、「確認」ボタンをクリックします。式は、選択したフィールドに表示されます。編集するには、式エディターを開き、目的の変更を行います。
次の例は、「値」フィールドに設定された式を示しています。編集するには、「式を編集 ボタンを使用して式エディターを開きます。
ヘルパー関数
クエリ編集ツールを使用すると、高度な関数を使用して、目的の結果や操作対象のデータのタイプに応じて複雑なフィルタリングを実行できます。次の関数を使用できます。
集計
集計関数は、一連の値に対して計算を実行します。
名前 | 説明 | 構文 |
Avg | 数値タイプの列の平均を返します | Avg(<値>) |
カウント | 列の null でない値をカウントします | Count(<値>) |
CountAll | 返される値をカウントします(すべてのフィールド) | CountAll() |
Countdistinct | 列の null でないユニーク値をカウントします | Countdistinct(<値>) |
Max | 数値、文字列または日付タイプの列の最大値を返します | Max(<値>) |
Min | 数値、文字列、または日付タイプの列の最小値を返します | Min(<値>) |
StdDev | 数値、文字列、または日付列の標準偏差を返します | StdDev(<値>) |
StringG | 文字列タイプの列の値を,、2 番目の引数の文字で区切って連結した結果を返します | StringAgg(<Value>, <String>) |
Sum | 数値、文字列または日付タイプの列の値の合計を返します | Sum(<値>) |
日付
日付関数は、日付または時刻の値を操作します。
名前 | 説明 | 構文 |
AddDays | 日付に日数を追加します | AddDays(<日付>, <数値>) |
AddHours | 日付に時間数を追加します | AddHours(<日付>, <数値>) |
AddMinutes | 日付に分数を追加します | AddMinutes(<日付>, <数値>) |
AddMonths | 日付に月数を追加します | AddMonths(<日付>, <数値>) |
AddSeconds | 日付に秒数を追加します | AddSeconds(<日付>, <数値>) |
AddYears | 日付に年数を追加します | AddYears(<日付>, <数値>) |
ConvertNTZ | 定義済みセッション TZ を適用して、タイムスタンプ NTZ (timestamp without timezone)を TZ (timestamp with timezone)に変換する | ConvertNTZ (<date+time>) |
DateCmp | 2 つの日付を比較 | DateCmp (<date>, <date>) |
DateOnly | 日付のみを返します(時刻は 0:00) | DateOnly(<日付>) |
日 | 日付の日を表す数を返します | Day(<日付>) |
DayOfYear | 日付の年の日数を返します | DayOfYear(<日付>) |
DaysAgo | 現在の日付 - n 日に対応する日付を返します | DaysAgo(<数値>) |
DaysAgoInt | 現在の日付 - n 日に対応する日付(整数 yyyymmdd)を返します | DaysAgoInt(<数値>) |
DaysDiff | 2 つの日付間の日数を返します | DaysDiff(<終了日>, <開始日>) |
DaysOld | 年齢(日数)を返します | DaysOld(<日付>) |
GetDate | サーバーの現在のシステム日付を返します | GetDate() |
時間 | 日付の時間を返します | Hour(<日付>) |
HoursDiff | 2 つの日付の間の時間数を返します | HoursDiff(<終了日>, <開始日>) |
分 | 日付の分を返します | Minute(<日付>) |
MinutesDiff | 2 つの日付の間の分数を返します | MinutesDiff(<終了日>, <開始日>) |
月 | 日付の月を表す数を返します | Month(<日付>) |
MonthsAgo | 現在の日付 - n ヶ月に対応する日付を返します | MonthsAgo(<数値>) |
MonthsDiff | 2 つの日付の間の月数を返します | MonthsDiff(<終了日>, <開始日>) |
MonthsOld | 年齢(月数)を返します | MonthsOld(<日付>) |
古い | 範囲内の最も古い日付を返します | Oldest (<date, date>) |
Second | 日付の秒を返します | Second(<日付>) |
SecondsDiff | 2 つの日付の間の秒数を返します | SecondsDiff(<終了日>, <開始日>) |
SubDays | 日付から日数を引きます | SubDays(<日付>, <数値>) |
SubHours | 日付から時間数を引きます | SubHours(<日付>, <数値>) |
SubMinutes | 日付から分数を引きます | SubMinutes(<日付>, <数値>) |
SubMonths | 日付から月数を引きます | SubMonths(<日付>, <数値>) |
SubSeconds | 日付から秒数を引きます | SubSeconds(<日付>, <数値>) |
SubYears | 日付から年数を引きます | SubYears(<日付>, <数値>) |
ToDate | 日付 + 時間を日付に変換します | ToDate(<日付 + 時刻>) |
ToDateTime | 文字列を日付 + 時刻に変換します | ToDateTime(<文字列>) |
ToStamp | 文字列をタイムスタンプに変換します | ToTimestamp (<string>) |
ToTimezone | 日付+時刻をタイムゾーンに変換します | ToTimeZone (<date>, <time zone>) |
TruncDate | 日付+時刻を最も近い秒に丸めます | TruncDate(@lastModified, <秒数>) |
TruncDateTZ | 日付と時刻を指定された精度(秒)に丸めます | TruncDateTZ(<日付>, <秒数>, <タイムゾーン>) |
TruncQuarter | 日付を四半期に丸めます | TruncQuarter(<日付>) |
TruncTime | 時刻部分を最も近い秒に丸めます | TruncTime(<日付>, <秒数>) |
TruncWeek | 日付を週に丸めます | TruncWeek(<日付>) |
TruncYear | 日付 + 時刻をその年の 1 月 1 日に丸めます | TruncYear(<日付>) |
平日 | 曜日を表す数値を返します (0=月曜日、6=日曜日) | WeekDay(<日付>) |
年 | 日付の年を表す数を返します | Year(<日付>) |
YearAndMonth | 日付の年と月を表す数を返します | YearAndMonth(<日付>) |
年前 | 指定された日付から現在の日付までの年数を返します | YearsAgo (<date>) |
YearsDiff | 2 つの日付間の年数を返します | YearsDiff(<終了日>, <開始日>) |
YearsOld | 満年齢を返します | YearsOld(<日付>) |
ジオマーケティング
ジオマーケティング関数は、地理に関する値を操作する場合に使用します。
名前 | 説明 | 構文 |
Distance | 経度と緯度で定義された 2 つのポイントの距離を返します。 | Distance(<経度 A>, <緯度 A>, <経度 B>, <緯度 B>) |
数値
数値関数は、テキストを数値に変換する場合に使用します。
名前 | 説明 | 構文 |
Abs | 数値の絶対値を返します | Abs(<数値>) |
Ceil | ある特定の数値以上の最小の整数を返します | Ceil(<数値>) |
Floor | ある特定の数値以上の最大の整数を返します | Floor(<数値>) |
Greatest | 2 つの数のうち大きい方を返します | Greatest(<数値 1>, <数値 2>) |
Least | 2 つの数のうち小さい方を返します | Least(<数値 1>, <数値 2>) |
Mod | 整数の割り算 n1 ÷ n2 の余りを返します | Mod(<数値 1>, <数値 2>) |
Percent | 割合で表される 2 つの数の比率を返します | Percent(<数値 1>, <数値 2>) |
Random | ランダムな値を返します | Random() |
Round | 数値を n 桁に丸めます | Round(<数値>, <小数点以下の桁数>) |
Sign | 数値の符号を返します | Sign(<数値>) |
ToDouble | 整数を浮動小数に変換します | ToDouble(<数値>) |
ToInt64 | 浮動小数を 64 ビットの整数に変換します | ToInt64(<数値>) |
ToInteger | 浮動小数を整数に変換します | ToInteger(<数値>) |
Trunc | n1 を n2 の桁数に切り捨てます | Trunc(<n1>, <n2>) |
その他
以下の表には、上記以外の使用可能な関数が記載されています。
名前 | 説明 | 構文 |
AESEncrypt | 引数で指定された文字列を暗号化 | AESEncrypt(<value>) |
Case | 条件が true の場合は値 1 を返します。そうでない場合は値 2 を返します | (When(<条件>, <値 1>), Else(<値 2>)) |
ClearBit | 値のフラグを削除します | ClearBit(<識別子>, <フラグ>) |
Coalesce | 値 1 がゼロまたは null の場合は値 2 を返し、それ以外の場合は値 1 を返します | Coalesce(<値 1>, <値 2>) |
Decode | 値 1 = 値 2 の場合は値 3 を返します。そうでない場合は値 4 を返します | Decode(<値 1>, <値 2>, <値 3>, <値 4>) |
Else | 値 1 を返します(case 関数のパラメーターとしてのみ使用できます) | Else(<値 1>, <値 2>) |
GetEmailDomain | メールアドレスからドメインを抽出します | GetEmailDomain(<値>) |
GetMirrorURL | ミラーページサーバーの URL を取得します | GetMirrorURL(<値>) |
Iif | 式が true の場合は値 1 を返します。そうでない場合は値 2 を返します | Iif(<条件>, <値 1>, <値 2>) |
IsBitSet | 値にフラグが含まれているかどうかを示します | IsBitSet(<識別子>, <フラグ>) |
IsEmptyString | 文字列 1 が空の場合は値 2 を返し、それ以外の場合は値 3 を返します | IsEmptyString(<値 1>, <値 2>, <値 3>) |
NewUUID | 一意の ID を返します | NewUUID() |
NoNull | 引数が NULL の場合は、空の文字列を返します | NoNull(<値>) |
RowId | ライン番号を返します | RowId |
SetBit | 値に強制的にフラグを指定します | SetBit(<識別子>, <フラグ>) |
ToBoolean | 数値をブール値に変換します | ToBoolean(<数値>) |
When | 式が true の場合は値 1 を返します。そうでない場合は値 2 を返します(case 関数のパラメーターとしてのみ使用できます) | When(<条件>, <値 1>) |
文字列
文字列関数は、一連の文字列を操作する場合に使用します。