抽出条件
抽出条件をパラメータ化する方法を説明します。
抽出条件をパラメータ化する場合は、主要キーをキーとするオブジェクトとして表現します。
主要キー
title
抽出条件の名称。
grouping
条件の結合方法。
true
= ANDfalse
= OR
conditions
項目ごとの条件。
「項目ごとの条件」は項目名をキーとして、その値に「条件のとりかた」と「付加情報」(からなる配列)を結びつけたオブジェクトとします。
キーとなる項目名は以下の通りです。
種別 | 項目名 |
---|---|
会員ID | id |
登録日時 | regist_date |
更新日時 | update_date |
一括処理日時 | batch_date |
アップロード日時 | upload_date |
最終ホスト | last_host |
最終REFERER | last_referer |
最終USER_AGENT | last_useragent |
クリックカウントフラグ | click_count_flag |
その他,ユーザ定義項目 | e_## (##は項目ID) |
なお、別のデータベース項目のリレーション属性により参照先となっている場合は、参照元データベースの項目(該当のリレーション属性を持つ項目を除く)についても指定可能です。
条件のとりかた
「条件のとりかた」はint型の値とし、以下の通りです。
条件のとりかた | 値 | 内容 |
---|---|---|
(条件を指定しない) | 1 | 条件を指定しない |
完全に一致 | 2 | 条件値が対象値(会員情報の該当項目における値) と完全に一致する |
前方に一致 | 3 | 条件値が対象値の前方(先頭基準)に含まれる |
後方に一致 | 4 | 条件値が対象値の後方(末尾基準)に含まれる |
含む(複数選択項目の場合は「全てを含む」) | 5 | 条件値が対象値に含まれる |
完全に一致しない(複数選択項目の場合は「全てを含まない」) | 6 | 条件値が対象値と完全に異なる |
前方に一致しない | 7 | 条件値が対象値の前方(先頭基準)に含まれない |
後方に一致しない | 8 | 条件値が対象値の後方(末尾基準)に含まれない |
含まない | 9 | 条件値が対象値に含まれない |
データなし | 10 | 対象値に何も記述されていない |
選択 | 11 | 対象値が真 |
未選択 | 12 | 対象値が偽 |
何れかを含む | 13 | 条件値がいずれかの対象値を含む |
何れかを含まない | 14 | 条件値が対象値に含まれない |
選択した個数 | 15 | 条件値と対象値の個数が等しい |
キャリア | 16 | 条件値が対象配信キャリアと等しい |
エラー回数 | 17 | 条件値が対象エラー回数と等しい |
履歴 | 19 | 条件値が対象アップロード日時と等しい |
データあり | 20 | 対象値に何かしら記述されている(「データなし」の反対) |
実行日基準(月単位) | 26 | 対象日時が抽出実行日の前後一定期間の範囲(月単位) |
実行日基準(日単位) | 29 | 対象日時が抽出実行日の前後一定期間の範囲(日単位) |
「テキスト(暗号化)」項目を条件に指定することはできません。
各項目種別毎に使用できる「条件のとりかた」は以下の通りです。
項目種別 | 指定可能な「条件のとりかた」値 |
---|---|
会員ID | 1, 5, 9 |
テキスト | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
最終ホスト | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
最終REFERER | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
URL | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
パスワード(平文) | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
郵便番号 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
電話番号 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
メールアドレス | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 20 |
テキストエリア | 1, 3, 4, 5, 7, 8, 9, 10, 20 |
整数 | 1, 5, 9, 10, 20 |
単一選択 | 1, 5, 9, 10, 20 |
都道府県 | 1, 5, 9, 10, 20 |
性別 | 1, 5, 9, 10, 20 |
未既婚 | 1, 5, 9, 10, 20 |
はい/いいえ | 1, 5, 9, 10, 20 |
日付 | 1, 5, 9, 10, 20, 26, 29 |
登録日時 | 1, 5, 9, 10, 20, 26, 29 |
更新日時 | 1, 5, 9, 10, 20, 26, 29 |
一括処理日時 | 1, 5, 9, 10, 20, 26, 29 |
複数選択 | 1, 2, 5, 6, 9, 10, 13, 14, 15, 20 |
選択 | 1, 11, 12 |
クリックカウントフラグ | 1, 5, 9, 13, 14 |
アップロード日時 | 1, 10, 19, 20 |
参照元データベースのリレーション | 1, 13, 14 |
最終USER_AGENT | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20 |
パスワード(ハッシュ) | 1 |
自動採番 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20 |
「パスワード(ハッシュ)項目」は「(条件を指定しない)」しか指定できません。
「付加情報」も配列であり、何を指定するかは項目種別と「条件のとりかた」によって異なる。
IDの場合
キー | 型 | 値 | 例 |
---|---|---|---|
ids | array | 会員IDの配列 | array(1, 3, 5) |
テキスト、URL、パスワード(平文)、郵便番号、電話番号、テキストエリア、最終ホスト、最終REFERER、自動採番の場合
キー | 型 | 値 | 例 |
---|---|---|---|
value | string | 検索対象の文字列 (「条件を指定しない」から「含まない」まで) | Abc |
メールアドレスの場合
キー | 型 | 値 | 例 |
---|---|---|---|
value | string | 検索対象の文字列 (「条件を指定しない」から「含まない」まで) | abc |
min_value | int | エラー回数の下限 (「エラー回数」の場合) | 3 |
max_value | int | エラー回数の上限 (「エラー回数」の場合) | 5 |
carriers | array | キャリアの配列 (「キャリア」の場合。 キャリアは以下のいずれか: other, docomo, au, softbank, vodafone, jphone, willcom, iphone) | other, docomo, au, willcom |
iphone
については @i.softbank.jp
のアドレスが対象です。
@softbank.ne.jp
は含まれません。
整数の場合
キー | 型 | 値 | 例 |
---|---|---|---|
min_value | int | 下限 | 3 |
max_value | int | 上限 | 5 |
単一選択、都道府県、性別、未既婚、はい/いいえの場合
キー | 型 | 値 | 例 |
---|---|---|---|
values | array | 選択肢IDの配列 | 4, 5, 10 |
複数選択の場合
キー | 型 | 値 | 例 |
---|---|---|---|
options | array | 選択肢IDの配列 (「条件を指定しない」から「どれも含まない」まで) | 2, 7, 15 |
min_value | int | 選択した個数の下限 (「選択した個数」の場合) | 3 |
max_value | int | 選択した個数の上限 (「選択した個数」の場合) | 5 |
日付、登録日時、更新日時、一括処理日時の場合
キー | 型 | 値 | 範囲 | 例 |
---|---|---|---|---|
start_date | string | 開始日付 (「条件を指定しない」から「含まない」まで) | - | 2007-01-11 |
end_date | string | 終了日付 (「条件を指定しない」から「含まない」まで) | - | 2007-12-31 |
calc_start_value | int | 抽出実行日の前後12ヵ月の範囲の開始月 (「実行日基準(月単位)」の場合) | -12~12 | -2 |
calc_end_value | int | 抽出実行日の前後12ヵ月の範囲の終了月 (「実行日基準(月単位)」の場合) | -12~12 | 10 |
calc_ignore_year | bool | 項目に設定されている「年」の情報を無視し、calc_start_value および calc_end_value で指定した範囲の「月日」を抽出対象とする(「実行日基準(月単位)」の場合) | - | true |
calc_day_start_value | int | 抽出実行日の前後30日の範囲の開始日 (「実行日基準(日単位)」の場合) | -30~30 | -2 |
calc_day_end_value | int | 抽出実行日の前後30日の範囲の終了日 (「実行日基準(日単位)」の場合) | -30~30 | 10 |
クリックカウントフラグの場合
以下の付加情報を1セットとして配列に指定する。
キー | 型 | 値 | 例 |
---|---|---|---|
delivery_id | int | 配信ID またはエージェント配信管理ID | 724 |
delivery_type | int | 1 … 通常配信の場合(固定値) 2 … エージェント配信の場合(固定値) | 1 |
values | array | クリックカウントIDの配列 | 441, 445, 448 |
クリックカウントフラグ付加情報は以下配列として表現される。(PHPの記述方法で記載)
"clickcount_flag" => array(13, array(
array("delivery_id" => 40, "delivery_type" => 2, "values" => array(2582, 2583, 2584)),
array("delivery_id" => 920, "delivery_type" => 1, "values" => array(185, 188)),
)
アップロード日時の場合
キー | 型 | 値 | 例 |
---|---|---|---|
values | array | アップロード日時履歴 (UNIX タイムスタンプ) | 1212376393, 1212137705 |
選択の場合
なし。(実際には空の配列を返却する)
項目タイプ | 項目ID | 条件 |
---|---|---|
登録日時 | 1 | 2009年以降 |
メールアドレス | 4 | 後方が"@example.com"に一致 |
単一選択 | 6 | 1を選択 |
複数選択 | 7 | 3か5を選択 |
上記の会員情報は以下の連想配列として表現される。(PHPの記述方法で記載)
array(
"title" => "単一選択に1を選択、複数選択に3か5を選択、ドメインが@tricorn.co.jp、2009年以降に登録",
"grouping" => true,
"conditions" => array(
"regist_date" => array(5, array("start_date" => "2009-01-01")),
"e_4" => array(4, array("value" => "@tricorn.co.jp")),
"e_6" => array(13, array(1)),
"e_7" => array(13, array(3, 5))
)
);
参照元データベースのリレーション属性を持つ項目の場合
なし。(実際には空の配列を設定する)
参照元データベースのリレーション属性項目を使った、参照先データベースの抽出条件は以下のような配列として表現される。
サンプルの項目は以下の通りと仮定する。
参照元データベース (リレーション属性を持つ項目があるデータベース)
"e_100"
: リレーション属性項目"e_101"
: テキスト項目
参照先データベース
"e_200"
: 重複キー。"e_100"
のリレーションのため自動的に選択される。
"e_201"
: 単一選択項目
(PHPの記述方法で記載)
$conditions = array(
'e_100' => array(13, array()), // リレーション属性を持つ項目
'e_101' => array(2, array("value" => "商品1")), // 参照元データベース
'e_201' => array(5, array('values' => array(1))) // 参照先データベース
);
$condition_info = array(
"title" => "リレーションを使った抽出条件",
"grouping" => true,
"conditions" => $conditions
);
最終USER_AGENTの場合
キー | 型 | 値 | 例 |
---|---|---|---|
value | string | 検索対象の文字列 (「条件を指定しない」から「含まない」まで) | abc |
carriers | array | キャリアの配列 (「キャリア」の場合。 キャリアは以下のいずれか: other, docomo,au,softbank,willcom,iphone,android) ※iOS、Android以外のスマートフォン、およびiPad等のタブレット端末は「other」で抽出される | other, docomo, au, willcom, iphone |
サンプル
- JSON
- PHP
{
"title": "単一選択に1を選択、複数選択に3か5を選択、ドメインが@tricorn.co.jp、2009年以降に登録",
"grouping": true,
"conditions": {
"regist_date": [
5,
{
"start_date": "2009-01-01"
}
],
"e_4": [
4,
{
"value": "@tricorn.co.jp"
}
],
"e_6": [
13,
[1]
],
"e_7": [
13,
[3, 5]
]
}
}
[
'title' => '単一選択に1を選択、複数選択に3か5を選択、ドメインが@tricorn.co.jp、2009年以降に登録',
'grouping' => true,
'conditions' => [
'regist_date' => [
5,
[
'start_date' => '2009-01-01'
]
],
'e_4' => [
4,
[
'value' => '@tricorn.co.jp'
]
],
'e_6' => [
13,
[1]
],
'e_7' => [
13,
[3, 5]
]
]
];