NRQL では、時間をまたいで結果をグループ化するクエリを作成することができます。例えば、指定した日時の範囲をカバーするバケットに結果を分けることで、タイムスタンプに基づいて結果をグループ化することができます。
NRQL クエリで時間関数を使用すると、結果は UTC で返されます。結果をタイム ゾーンに合わせて調整するには、クエリにWITH TIMEZONE
句を含めます。
あなたのNRQLクエリの時間範囲のファセット
NRQL クエリを作成するには、タイムスタンプ属性で機能するバケット関数でFACET
句を使用します。標準のFACET
クエリを実行しますが、属性によるファセットではなく、時間によるファセットを行います。例えば:
SELECT count(*) FROM PageView SINCE 1 day ago FACET monthOf(account_created)
同じクエリで複数の機能を実行するには、NRQL のマルチファセット機能を使用します。
SELECT count(*) FROM PageView SINCE 1 day ago FACET dateOf(account_created), monthOf(account_created)
タイムベースの機能 | 説明 |
---|
yearOf(attr)
| タイムスタンプの年を返します。 |
quarterOf(attr)
| 目的 : 年の四半期を返します。返される値には、四半期と年の両方が含まれます。 例: Q1 2014 |
monthOf(attr)
| タイムスタンプの月と年を返します。 例: July 2014 |
weekOf(attr)
| タイムスタンプが発生した週を、その週の月曜日の月と日を指定して返します。 例:Week of January 15 。 |
weekdayOf(attr)
| 取得したタイムスタンプの曜日を返します。返された値は週の終わりにループバックするので、曜日ごとの傾向を時系列で見ることができます。 |
dateOf(attr)
| 取得したタイムスタンプの日付を返します。返される値には、月、日、年が含まれます。 例: July 15, 2014 |
dayOfMonthOf(attr)
| RETURN関数は、タイムスタンプの1ヶ月以内の日付を、1~31の数値で返します。返される値は月を含みません。 |
hourOf(attr)
| タイムスタンプの時間を返します。 戻り値には、午前 1 時から午前 9 時までの時間の前に付加された 0 は含まれません。これは、 SINCE などの関数や句とは異なります。これらの時間は、先頭に 0 を付けて受け入れます。 例: 6:00 、 12:00 、 18:00 |
月に基づいてすべての結果をグループ化するには、 monthOf
関数を使用します。この例では、NRQL クエリに関数 ( count(*)
)、データ型 ( PageView
)、時間枠 ( SINCE 1 day ago
)、および時間ファセット ( monthOf(attribute)
) が含まれています。
SELECT count(*) FROM PageView SINCE 1 day ago FACET monthOf(account_created)
このクエリを実行すると、月ごとの結果の表が返されます。
UNTIL
にTIMESERIES
関数を追加し、時系列グラフで時間関数を使用することに注意する必要があります。UNTIL
のデフォルト値はNOW
であるため、何も指定しない場合、時間関数の値が分離または結合される可能性があります。UNTIL today
を指定すると、同じ日の午前 0 時に終了するグラフを作成できます。
SELECT count(*) FROM PageView TIMESERIES 1 day WITH TIMEZONE '<localTimeZone>' SINCE 4 week ago UNTIL today
過去 4 週間ではなくlast month
からのデータを視覚化する場合は、 SINCE last month UNTIL this month
を使用できます。
SELECT count(*) FROM PageView TIMESERIES 1 day WITH TIMEZONE '<localTimeZone>' SINCE last month UNTIL this month