キーワードの基本的な使い方
データ検索では、キーワードと列名を空白区切りで組み合わせて検索クエリを入力します。
キーワード 列名1 列名2 ...
例えば、売上上位10店舗を表示したい場合は以下のように入力します:
top 10 ショップ名 by 購買金額合計
キーワードによって、列名や値の配置パターンが異なります。各キーワードの構文と利用例は、以降のセクションで詳しく説明します。
データモデルの前提
本記事の利用例は、購買分析モデルを前提としています。
テーブル構成一覧
| テーブル名 | 説明 | 主要列 |
|---|---|---|
| 伝票データ | 購買トランザクションの親レコード | 購買履歴ID、会員ID、ショップID、注文日時、税抜購買総額、注文回数、注文時年代、購入時間帯、業務区分など |
| 明細データ | 購買トランザクションの明細レコード | 購買履歴明細ID、購買履歴ID、商品コード、商品名、購入数量、単価_税抜、税抜商品購入総額、上代_小売価格、カテゴリコード、PB区分など |
| 店舗データ | 店舗マスタ | ショップID、ショップ名、ショップコード、ショップEC区分など |
| 会員データ | 会員マスタ | 会員ID、都道府県名など |
| 商品マスタ | 商品マスタ | product_code、category_name、brand_name、model_number、attribute1(カラー)、attribute2(サイズ)、season、start_date、end_date |
利用例で使用する主要列
| 区分 | 列名 |
|---|---|
| メジャー(数値) | 購買金額合計、購買回数、購買会員数、客単価、明細件数、購入数量、税抜商品購入総額など |
| 属性(ディメンション) | ショップ名、商品名、カテゴリ名、ブランド名、チャネル区分、新規リピート区分、PB区分名、注文日時、注文時年代、都道府県名、属性1(カラー)、属性2(サイズ)、シーズン、型番、商品コード、ショップコード、会員IDなど |
目次
- 基本キーワード
- 比較キーワード
- 集計キーワード
- 日付キーワード(期間指定)
- 日付キーワード(前年比)
- 日付キーワード(成長率)
- 日付キーワード(相対期間)
- 日付キーワード(絶対指定)
- テキストキーワード
基本キーワード
データのランキング表示やソート(並べ替え)を行うキーワードです。指定した数値列を基準に、上位・下位の抽出や昇順・降順の並べ替えができます。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| top n | 指定したメジャー列の値が大きい順に上位n件の属性を表示する。ランキング形式でデータを抽出したい場合に使用する。 | top <n> <属性列> by <メジャー列> | top 10 ショップ名 by 購買金額合計 → 購買金額合計が最も高い上位10店舗を表示 |
| bottom n | 指定したメジャー列の値が小さい順に下位n件の属性を表示する。ワースト抽出に使用する。 | bottom <n> <属性列> by <メジャー列> | bottom 5 商品名 by 購入数量 → 購入数量が最も少ない下位5商品を表示 |
| sort by | 指定したメジャー列を基準にデータを並べ替える。ascending(昇順)またはdescending(降順)で並び順を指定する。 | <属性列> <メジャー列> sort by <メジャー列> ascending / <属性列> <メジャー列> sort by <メジャー列> descending |
カテゴリ名 購買金額合計 sort by 購買金額合計 descending → カテゴリ別の購買金額合計を降順(大きい順)で表示
|
比較キーワード
データの比較や構成比の算出、条件によるフィルタリングを行うキーワードです。比較・構成比キーワードでは2つの値の比較や全体に対する割合を算出でき、条件フィルタキーワードでは特定の条件に合致するデータを抽出できます。
比較・構成比
同一メジャーの値を異なる属性値間で比較したり、全体に対する構成比を算出するキーワードです。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| vs | 同一メジャー列の値を、同じ属性列の異なる2つの値で比較表示する。2つの条件を並べて指定し、それぞれの集計結果を横並びで確認できる。 | <メジャー列> <属性列> = <値1> vs <属性列> = <値2> | 購買金額合計 チャネル区分 = EC vs チャネル区分 = 実店舗 → ECと実店舗の購買金額合計を比較表示 |
| percentage of | 全体の集計値に対して、特定の属性値でフィルタした部分が占める割合(構成比)をパーセンテージで表示する。分母は全体の集計値、分子はフィルタ条件に合致するデータの集計値となる。 | percentage of <メジャー列> <属性列> = <値> | percentage of 購買金額合計 チャネル区分 = EC → 全体の購買金額合計に対するEC売上の構成比(%)を表示 |
| of | 指定した属性値でデータをフィルタし、その条件に絞ったメジャー列の集計値を表示する。特定のグループに限定した数値を確認したい場合に使用する。 | <メジャー列> of <属性列> = <値> | 購買金額合計 of チャネル区分 = EC → チャネル区分がECのデータに絞った購買金額合計を表示 |
条件フィルタ
特定の条件に合致するデータを抽出するキーワードです。左に列名、右に値または数値を指定して、条件に一致する行をフィルタリングします。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| = | 指定した列の値が右の値と等しいデータを抽出する。テキスト列・数値列の両方に適用可能。 | <列名> = <値> | チャネル区分 = EC → チャネル区分がECのデータを抽出 |
| != | 指定した列の値が右の値と等しくないデータを抽出する。テキスト列・数値列の両方に適用可能。 | <列名> != <値> | PB区分名 != プロパー → PB区分名がプロパー以外のデータを抽出 |
| > | 指定した数値列の値が右の数値より大きいデータを抽出する。数値列にのみ適用可能。 | <メジャー列> > <数値> | 購買金額合計 > 100000 → 購買金額合計が100,000を超えるデータを抽出 |
| >= | 指定した数値列の値が右の数値以上のデータを抽出する。数値列にのみ適用可能。 | <メジャー列> >= <数値> | 購入数量 >= 5 → 購入数量が5以上のデータを抽出 |
| < | 指定した数値列の値が右の数値より小さいデータを抽出する。数値列にのみ適用可能。 | <メジャー列> < <数値> | 客単価 < 3000 → 客単価が3,000未満のデータを抽出 |
| <= | 指定した数値列の値が右の数値以下のデータを抽出する。数値列にのみ適用可能。 | <メジャー列> <= <数値> | 購入数量 <= 2 → 購入数量が2以下のデータを抽出 |
| between...and... | 指定した数値列の値が2つの数値の範囲内にあるデータを抽出する。数値列に対する範囲フィルタとして使用する(日付範囲の用法は日付キーワード(絶対指定)カテゴリを参照)。 | <メジャー列> between <数値1> and <数値2> | 購買金額合計 between 10000 and 50000 → 購買金額合計が10,000〜50,000の範囲のデータを抽出 |
集計キーワード
データの合計・平均・件数・最大値・最小値を算出するキーワードです。メジャー列に対して集計関数を適用し、属性列と組み合わせることでグループごとの集計結果を取得できます。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| sum | 指定した数値列の合計値を算出する。属性列と組み合わせることで、グループごとの合計を表示できる。 | sum <メジャー列> <属性列> | sum 購買金額合計 ショップ名 → ショップ名ごとの購買金額合計の合計値を表示 |
| average | 指定した数値列の平均値を算出する。属性列と組み合わせることで、グループごとの平均を表示できる。 | average <メジャー列> <属性列> | average 客単価 カテゴリ名 → カテゴリ名ごとの客単価の平均値を表示 |
| count | 指定した列の行数(件数)を算出する。対象列のデータ型を問わず、数値列・テキスト列・日付列のいずれにも適用可能。 | count <列名> <属性列> | count 購買履歴ID ショップ名 → ショップ名ごとの購買履歴の件数を表示 |
| unique count | 指定した列の重複を除いた一意の値の件数を算出する。countが全行数を数えるのに対し、unique countは同じ値を1件としてカウントするため、ユニーク数の集計に使用する。 | unique count <列名> <属性列> | unique count 会員ID ショップ名 → ショップ名ごとのユニーク会員数を表示 |
| max | 指定した列の最大値を取得する。数値列または日付列に適用可能。属性列と組み合わせることでグループごとの最大値を表示できる。 | max <メジャー列> / max <日付列> | max 購買金額合計 カテゴリ名 → カテゴリ名ごとの購買金額合計の最大値を表示 |
| min | 指定した列の最小値を取得する。数値列または日付列に適用可能。属性列と組み合わせることでグループごとの最小値を表示できる。 | min <メジャー列> / min <日付列> | min 注文日時 ショップ名 → ショップ名ごとの最も古い注文日時を表示 |
日付キーワード(期間指定)
日付列のデータを指定した時間粒度で集計するキーワードです。キーワードを日付列名の前に配置し、メジャー列と組み合わせることで、日次・週次・月次・四半期・年次の時系列集計を行えます。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| daily | 日付列のデータを日単位で集計する。日ごとの推移を確認したい場合に使用する。 | daily <日付列> <メジャー列> | daily 注文日時 購買金額合計 → 注文日時を日単位で集計し、日ごとの購買金額合計を表示 |
| weekly | 日付列のデータを週単位で集計する。週ごとの推移を確認したい場合に使用する。 | weekly <日付列> <メジャー列> | weekly 注文日時 購入数量 → 注文日時を週単位で集計し、週ごとの購入数量を表示 |
| monthly | 日付列のデータを月単位で集計する。月ごとの推移を確認したい場合に使用する。 | monthly <日付列> <メジャー列> | monthly 注文日時 購買金額合計 → 注文日時を月単位で集計し、月ごとの購買金額合計を表示 |
| quarterly | 日付列のデータを四半期単位で集計する。四半期ごとの推移を確認したい場合に使用する。 | quarterly <日付列> <メジャー列> | quarterly 注文日時 購買回数 → 注文日時を四半期単位で集計し、四半期ごとの購買回数を表示 |
| yearly | 日付列のデータを年単位で集計する。年ごとの推移を確認したい場合に使用する。 | yearly <日付列> <メジャー列> | yearly 注文日時 購買金額合計 → 注文日時を年単位で集計し、年ごとの購買金額合計を表示 |
日付キーワード(前年比)
日付列のデータを指定した時間粒度で前年同期と比較するキーワードです。メジャー列をキーワードの前に、日付列をキーワードの後に配置し、当期と前年同期の値を並べて比較結果を表示します。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| daily year-over-year | 日次単位で前年同日と比較する。当日の値と前年同日の値を並べて表示し、日単位での前年比較を行う場合に使用する。 | <メジャー列> daily year-over-year <日付列> | 購買金額合計 daily year-over-year 注文日時 → 日次単位で前年同日の購買金額合計と比較した結果を表示 |
| weekly year-over-year | 週次単位で前年同週と比較する。当週の値と前年同週の値を並べて表示し、週単位での前年比較を行う場合に使用する。 | <メジャー列> weekly year-over-year <日付列> | 購入数量 weekly year-over-year 注文日時 → 週次単位で前年同週の購入数量と比較した結果を表示 |
| monthly year-over-year | 月次単位で前年同月と比較する。当月の値と前年同月の値を並べて表示し、月単位での前年比較を行う場合に使用する。 | <メジャー列> monthly year-over-year <日付列> | 購買金額合計 monthly year-over-year 注文日時 → 月次単位で前年同月の購買金額合計と比較した結果を表示 |
| quarterly year-over-year | 四半期単位で前年同四半期と比較する。当四半期の値と前年同四半期の値を並べて表示し、四半期単位での前年比較を行う場合に使用する。 | <メジャー列> quarterly year-over-year <日付列> | 購買回数 quarterly year-over-year 注文日時 → 四半期単位で前年同四半期の購買回数と比較した結果を表示 |
日付キーワード(成長率)
指定したメジャー列の成長率(パーセンテージ変化)を時系列で算出するキーワードです。growth of [メジャー列] by [日付列] [期間] の形式で、前期間と比較した変化率を自動計算し、結果をパーセンテージ(%)で表示します。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| growth of ... by ... daily | 指定したメジャー列の前日比の成長率(パーセンテージ変化)を日次で算出する。日ごとの変化率を時系列で確認したい場合に使用する。 | growth of <メジャー列> by <日付列> daily | growth of 購買金額合計 by 注文日時 daily → 購買金額合計の前日比成長率(%)を日次で表示 |
| growth of ... by ... weekly | 指定したメジャー列の前週比の成長率(パーセンテージ変化)を週次で算出する。週ごとの変化率を時系列で確認したい場合に使用する。 | growth of <メジャー列> by <日付列> weekly | growth of 購入数量 by 注文日時 weekly → 購入数量の前週比成長率(%)を週次で表示 |
| growth of ... by ... monthly | 指定したメジャー列の前月比の成長率(パーセンテージ変化)を月次で算出する。月ごとの変化率を時系列で確認したい場合に使用する。 | growth of <メジャー列> by <日付列> monthly | growth of 購買金額合計 by 注文日時 monthly → 購買金額合計の前月比成長率(%)を月次で表示 |
| growth of ... by ... quarterly | 指定したメジャー列の前四半期比の成長率(パーセンテージ変化)を四半期ごとに算出する。四半期ごとの変化率を時系列で確認したい場合に使用する。 | growth of <メジャー列> by <日付列> quarterly | growth of 購買回数 by 注文日時 quarterly → 購買回数の前四半期比成長率(%)を四半期ごとに表示 |
| growth of ... by ... yearly | 指定したメジャー列の前年比の成長率(パーセンテージ変化)を年次で算出する。年ごとの変化率を時系列で確認したい場合に使用する。 | growth of <メジャー列> by <日付列> yearly | growth of 購買金額合計 by 注文日時 yearly → 購買金額合計の前年比成長率(%)を年次で表示 |
| growth of ... by ... monthly year-over-year | 指定したメジャー列の前年同月比の成長率(パーセンテージ変化)を月次で算出する。各月を前年の同じ月と比較した変化率を確認したい場合に使用する。 | growth of <メジャー列> by <日付列> monthly year-over-year | growth of 購買金額合計 by 注文日時 monthly year-over-year → 購買金額合計の前年同月比成長率(%)を月次で表示 |
日付キーワード(相対期間)
現在の日付を基準として、相対的な期間を指定するキーワードです。「今週」「先月」「過去30日間」のように、固定の日付ではなく実行時点からの相対的な期間でデータを絞り込むことができます。メジャー列と日付列を組み合わせて使用します。
this X 系
「this X」キーワードは、現在進行中の期間を指定します。たとえば this month は今月1日から本日までの、まだ終了していない期間のデータを対象とします。期間が完了していないため、集計値は期間終了時点の最終値とは異なる点に注意してください。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| this week | 現在進行中の週のデータを抽出する。今週の月曜日から本日までのデータが対象となる。 | <メジャー列> <日付列> this week | 購買金額合計 注文日時 this week → 今週(現在進行中の週)の購買金額合計を表示 |
| this month | 現在進行中の月のデータを抽出する。今月1日から本日までのデータが対象となる。 | <メジャー列> <日付列> this month | 購入数量 注文日時 this month → 今月(現在進行中の月)の購入数量を表示 |
| this quarter | 現在進行中の四半期のデータを抽出する。今四半期の開始日から本日までのデータが対象となる。 | <メジャー列> <日付列> this quarter | 購買回数 注文日時 this quarter → 今四半期(現在進行中の四半期)の購買回数を表示 |
| this year | 現在進行中の年のデータを抽出する。今年1月1日から本日までのデータが対象となる。 | <メジャー列> <日付列> this year | 購買金額合計 注文日時 this year → 今年(現在進行中の年)の購買金額合計を表示 |
last X 系
「last X」キーワードは、直前に完了した1期間を指定します。たとえば last month は前月の1日から末日までの、すでに完了した1ヶ月間のデータを対象とします。「this X」が現在進行中の不完全な期間を指すのに対し、「last X」は直前に完了した単一の期間(1週間・1ヶ月・1四半期・1年)を対象とする点が異なります。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| last week | 直前に完了した1週間のデータを抽出する。先週の月曜日から日曜日までの完了した1期間が対象となる。 | <メジャー列> <日付列> last week | 購買金額合計 注文日時 last week → 先週(直前に完了した1週間)の購買金額合計を表示 |
| last month | 直前に完了した1ヶ月間のデータを抽出する。先月の1日から末日までの完了した1期間が対象となる。 | <メジャー列> <日付列> last month | 購入数量 注文日時 last month → 先月(直前に完了した1ヶ月間)の購入数量を表示 |
| last quarter | 直前に完了した1四半期のデータを抽出する。前四半期の開始日から終了日までの完了した1期間が対象となる。 | <メジャー列> <日付列> last quarter | 購買回数 注文日時 last quarter → 前四半期(直前に完了した1四半期)の購買回数を表示 |
| last year | 直前に完了した1年間のデータを抽出する。昨年の1月1日から12月31日までの完了した1期間が対象となる。 | <メジャー列> <日付列> last year | 購買金額合計 注文日時 last year → 昨年(直前に完了した1年間)の購買金額合計を表示 |
last n X 系
「last n X」キーワードは、現在を基準に過去n期間分のデータを対象とします。たとえば last 30 days は本日から遡って過去30日間のデータを抽出します。「last X」が直前に完了した単一の期間を指すのに対し、「last n X」は現在時点から過去に向かってn期間分の連続したデータを対象とする点が異なります。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| last n days | 現在を基準に過去n日間分のデータを抽出する。本日から遡ってn日間の連続したデータが対象となる。 | <メジャー列> <日付列> last <n> days | 購買金額合計 注文日時 last 30 days → 現在を基準に過去30日間の購買金額合計を表示 |
| last n weeks | 現在を基準に過去n週間分のデータを抽出する。本日から遡ってn週間の連続したデータが対象となる。 | <メジャー列> <日付列> last <n> weeks | 購入数量 注文日時 last 4 weeks → 現在を基準に過去4週間の購入数量を表示 |
| last n months | 現在を基準に過去nヶ月間分のデータを抽出する。本日から遡ってnヶ月間の連続したデータが対象となる。 | <メジャー列> <日付列> last <n> months | 購買金額合計 注文日時 last 3 months → 現在を基準に過去3ヶ月間の購買金額合計を表示 |
| last n quarters | 現在を基準に過去n四半期分のデータを抽出する。本日から遡ってn四半期分の連続したデータが対象となる。 | <メジャー列> <日付列> last <n> quarters | 購買回数 注文日時 last 2 quarters → 現在を基準に過去2四半期分の購買回数を表示 |
| last n years | 現在を基準に過去n年間分のデータを抽出する。本日から遡ってn年間の連続したデータが対象となる。 | <メジャー列> <日付列> last <n> years | 購買金額合計 注文日時 last 2 years → 現在を基準に過去2年間の購買金額合計を表示 |
n X ago 系
「n X ago」キーワードは、現在を基準にn期間前の単一の特定期間を指定します。たとえば 3 months ago は3ヶ月前の1ヶ月間(その月の1日から末日まで)のデータを対象とします。「last n X」が現在から過去に向かってn期間分の連続したデータを対象とするのに対し、「n X ago」はn期間前のちょうど1期間だけを対象とする点が異なります。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| n months ago | n期間前の単一の1ヶ月間のデータを抽出する。現在からnヶ月前の、その月の1日から末日までの完了した1ヶ月間が対象となる。 | <メジャー列> <日付列> <n> months ago | 購買金額合計 注文日時 3 months ago → 3ヶ月前の1ヶ月間の購買金額合計を表示 |
| n years ago | n期間前の単一の1年間のデータを抽出する。現在からn年前の、その年の1月1日から12月31日までの完了した1年間が対象となる。 | <メジャー列> <日付列> <n> years ago | 購買回数 注文日時 1 years ago → 1年前の1年間の購買回数を表示 |
日付キーワード(絶対指定)
特定の日付を基準として、その前後や範囲を指定するキーワードです。日付はYYYY/MM/DD形式で指定します。キーワードによって指定日を含む/含まないが異なるため、境界条件に注意してください。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| after | 指定日より後のデータを抽出する。指定日自体は含まない(指定日を含まない)。 | <日付列> after <YYYY/MM/DD> | 注文日時 after 2024/01/01 → 2024/01/01より後(2024/01/01を含まない)のデータを抽出 |
| before | 指定日より前のデータを抽出する。指定日自体は含まない(指定日を含まない)。 | <日付列> before <YYYY/MM/DD> | 注文日時 before 2024/04/01 → 2024/04/01より前(2024/04/01を含まない)のデータを抽出 |
| on or after | 指定日以降のデータを抽出する。指定日自体を含む(指定日を含む)。 | <日付列> on or after <YYYY/MM/DD> | 注文日時 on or after 2024/01/01 → 2024/01/01以降(2024/01/01を含む)のデータを抽出 |
| on or before | 指定日以前のデータを抽出する。指定日自体を含む(指定日を含む)。 | <日付列> on or before <YYYY/MM/DD> | 注文日時 on or before 2024/03/31 → 2024/03/31以前(2024/03/31を含む)のデータを抽出 |
| between...and... | 指定した2つの日付の間のデータを抽出する。両端の日付を含む(開始日・終了日ともに含む)。 | <日付列> between <YYYY/MM/DD> and <YYYY/MM/DD> | 注文日時 between 2024/01/01 and 2024/03/31 → 2024/01/01から2024/03/31の間(両端を含む)のデータを抽出 |
テキストキーワード
テキスト型の列(属性列)に対して部分一致・前方一致・後方一致・パターンマッチによる検索を行うキーワードです。これらのキーワードはテキスト型の列にのみ適用可能です。数値列や日付列には使用できません。
| キーワード | 説明 | 構文 | 利用例 |
|---|---|---|---|
| contains | 指定したテキストを含むデータを抽出する(部分一致検索)。列の値のどこかに指定テキストが含まれていれば一致する。 | <属性列> contains <テキスト> | 商品名 contains 'ニット' → 商品名に「ニット」を含むデータを抽出 |
| not contains | 指定したテキストを含まないデータを抽出する(部分一致の否定検索)。containsの否定形で、指定テキストが含まれない行のみを返す。 | <属性列> not contains <テキスト> | カテゴリ名 not contains 'アウター' → カテゴリ名に「アウター」を含まないデータを抽出 |
| begins with | 指定したテキストで始まるデータを抽出する(前方一致検索)。列の値の先頭が指定テキストと一致する場合にマッチする。 | <属性列> begins with <テキスト> | カテゴリ名 begins with 'トップス' → カテゴリ名が「トップス」で始まるデータを抽出 |
| not begins with | 指定したテキストで始まらないデータを抽出する(前方一致の否定検索)。begins withの否定形で、先頭が指定テキストと一致しない行のみを返す。 | <属性列> not begins with <テキスト> | カテゴリ名 not begins with 'アクセ' → カテゴリ名が「アクセ」で始まらないデータを抽出 |
| ends with | 指定したテキストで終わるデータを抽出する(後方一致検索)。列の値の末尾が指定テキストと一致する場合にマッチする。 | <属性列> ends with <テキスト> | 商品名 ends with 'セット' → 商品名が「セット」で終わるデータを抽出 |
| not ends with | 指定したテキストで終わらないデータを抽出する(後方一致の否定検索)。ends withの否定形で、末尾が指定テキストと一致しない行のみを返す。 | <属性列> not ends with <テキスト> | 商品名 not ends with '限定' → 商品名が「限定」で終わらないデータを抽出 |
| similar to | ワイルドカードを使用したパターンに一致するデータを抽出する(パターンマッチ検索)。ワイルドカード: % = 任意の文字列(0文字以上)、_ = 任意の1文字。 | <属性列> similar to <パターン> | 商品名 similar to '%コート%' → 商品名が「コート」を含むパターンに一致するデータを抽出 |
| not similar to | ワイルドカードを使用したパターンに一致しないデータを抽出する(パターンマッチの否定検索)。similar toの否定形で、パターンに一致しない行のみを返す。 | <属性列> not similar to <パターン> | カテゴリ名 not similar to '%雑貨%' → カテゴリ名が「雑貨」を含むパターンに一致しないデータを抽出 |