Thisトピックの構文説明間隔値比較機能と周期値比較機能。 このトピックでは、関数の使用方法の例も示します。

次の表に、Log Serviceでサポートされている間隔値の比較関数と周期値の比較関数を示します。

重要 分析ステートメントで文字列を使用する場合は、文字列を単一引用符 ('') で囲む必要があります。 囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。 たとえば、'status' はステータス文字列を示し、statusまたは "status" はステータスログフィールドを示します。
機能構文説明
比較関数比較 (xn)現在の時間帯の計算結果とn秒前の時間帯の計算結果を比較します。
比較 (xn1n2n3 ...)現在の時間帯の計算結果を、n1、n2、n3秒前の複数の時間帯の計算結果と比較します。
ts_compare関数ts_compare( xn)Compares計算結果の現在の時刻期間と計算結果時間期間n秒前。
ts_compare( xn1n2n3 ...)現在の時間帯の計算結果を、n1、n2、n3秒前の複数の時間帯の計算結果と比較します。
重要
  • Whenを使用比較機能、時間ベース上データ比較されなければなりません。

    たとえば、比較機能を使用して、現在の時間のデータと前日の同じ期間のデータを比較できます。 However、ことができない使用比較機能現在の時間のデータを比較する前のデータと時間。

  • Theクエリと分析結果のts_compare機能によってグループ化されなければならない時間列を使用してGROUP by句。

比較関数

The比較機能比較計算結果の現在の時刻期間と計算結果時間期間n秒前。

構文

  • 現在の時間帯の計算結果とn秒前の時間帯の計算結果を比較します。
    比較 (xn)
  • Compare計算結果現在時間の期間の計算結果と複数のタイム期間n1、n2、n3秒前。
    比較 (xn1n2n3 ...)

パラメーター

項目説明
xTheこのパラメータの値は二重またはロングタイプ。
nThe時間窓。 単位は秒です。 例: 3600、86400、604800、および31622400。 値は、1時間、1日、1週間、および1年を示す。

戻り値のデータ型

配列型。 The戻り値は次の形式: [the計算結果の現在の時刻期間、The計算結果時間期間n秒前、the比の計算結果の現在の時刻期間に計算結果時間期間n秒前] 。

  • Example 1: Calculate比ページのビュー (PVs) の現在の時間にPVs同時にの期間に前日。

    をSetの時間範囲クエリに1 Hour (time Frame) と次の実行クエリ声明。 86400は、現在の時刻から86,400秒を引いたものを指定します。これは1日に相当します。 logは、使用するLogstoreの名前を指定します。

    • クエリおよび分析結果を配列に表示するには、次のクエリ文を実行します。
      • クエリ文
        * |
        選択
          比較 (PV、86400)
        から (
            SELECT
              カウント (*) としてPV
            ログから
          )
      • クエリおよび分析の結果PVの比率
        • 3337.0は現在の時間のPVを示します。 例: 2020年12月25日の14:00:00から15:00:00までのPV。
        • 3522.0は、前日の同じ期間のPVを示します。 例: 2020年12月24日の14:00:00から15:00:00までのPV。
        • 0.947473026689381は、前日の同じ期間のPVに対する現在の時間のPVの比率を示します。
    • クエリと分析の結果を複数の列に表示するには、次のクエリ文を実行します。
      • クエリ文
        * |
        選択
          diff [1] 今日として、
          diff [2] AS昨日、
          diff [3] AS比率
        から (
            SELECT
              比較 (PV、86400) AS diff
            から (
                SELECT
                  カウント (*) としてPV
                ログから
              )
          )

        compare関数の結果は配列です。 上記のクエリステートメントでは、diffは結果のエイリアスを指定し、diff [1] は配列の最初の値を指定します。

      • クエリおよび分析の結果Results間隔値の比較
        • 3337.0は現在の時間のPVを示します。 例: 2020年12月25日の14:00:00から15:00:00までのPV。
        • 3522.0は、前日の同じ期間のPVを示します。 例: 2020年12月24日の14:00:00から15:00:00までのPV。
        • 0.947473026689381は、前日の同じ期間のPVに対する現在の時間のPVの比率を示します。
  • 例2: 現在の時間のリクエストステータスでリクエストメソッドの数を照会し、現在の時間の数を前日の同じ期間の数と比較します。

    クエリの時間範囲を1時間 (時間枠) に設定し、次のクエリ文を実行します。 3600は、現在の時刻から3,600秒を引いたものを指定します。これは1日に相当します。 logは、使用するLogstoreの名前を指定します。

    • クエリ文
      * |
      選択
        ステータス、
        request_method、
        比較 (PV、3600)
      から (
          SELECT
            ステータス、
            request_method、
            カウント (*) としてPV
          ログから
          GROUP BY
            ステータス、
            request_method
        )
      グループ化
        ステータス、
        request_method
    • クエリおよび分析の結果間隔値の比較関数と周期性値の比較関数

ts_compare関数

ts_compare関数は、現在の時間帯の計算結果とn秒前の時間帯の計算結果とを比較する。

重要 Theクエリと分析結果のts_compare機能によってグループ化されなければならない時間列を使用してGROUP by句。

構文

  • 現在の時間帯の計算結果とn秒前の時間帯の計算結果を比較します。
    ts_compare( xn)
  • Compare計算結果現在時間の期間の計算結果と複数のタイム期間n1、n2、n3秒前。
    ts_compare( xn1n2n3 ...)

パラメーター

項目説明
xTheこのパラメータの値は二重またはロングタイプ。
nThe時間窓。 単位は秒です。 例: 3600、86400、604800、および31622400。 値は、1時間、1日、1週間、および1年を示す。

戻り値のデータ型

配列型。 戻り値は次の形式です。[現在の時間帯の計算結果、n秒前の時間帯の計算結果、現在の時間帯の計算結果とn秒前の時間帯の計算結果の比率、n秒前の時間帯のUNIXタイムスタンプ] 。

  • 例1: 前日と2日前の同じ期間のPVに対する、今日の1時間ごとのPVの比率を計算します。

    時間範囲を [今日 (時間枠)] に設定し、次のクエリ文を実行します。 86400は、現在の時刻から86,400秒を引いたものを指定します。これは1日に相当します。 172800は、現在時刻から172,800秒を引いた値を指定します。これは2日に相当します。 logは、使用するLogstoreの名前を指定します。 date_trunc('hour' ,__ time__ ) は、戻り値が時間で切り捨てられることを指定します。

    • クエリおよび分析結果を配列に表示するには、次のクエリ文を実行します。
      • クエリ文
        * |
        選択
          時間,
          ts_compare(PV、86400、172800) as diff
        から (
            SELECT
              カウント (*) をPVとして、
              date_trunc('hour', __time__) AS time
            ログから
            GROUP BY
              time
          )
        グループ化
          時間
        注文によって
          time
      • クエリおよび分析の結果1分あたりのPVs
        • 1174.0は、現在の期間のPVを示します。 Example: PVsから00:00に01:00にSeptember 22、2022。
        • 1191。0示しPVs同時にの期間に前日。 例: 2022年9月21日の00:00から01:00までのPV。
        • 1253.0は、2日前の同じ期間のPVを示します。 例: 2022年9月20日の00:00から01:00までのPV。
        • 0.9857262804366079は、前日の同じ期間のPVに対する現在の期間のPVの比率を示します。
        • 0.936951316839585は、2日前の同じ期間のPVに対する現在の期間のPVの比率を示します。
        • 1663689600.0は、2022年9月21日の00:00のUNIXタイムスタンプを示します。
        • 1663603200.0は、2022年9月20日の00:00のUNIXタイムスタンプを示します。
        説明 The時間にクエリと分析結果によって異なり実際。
    • クエリと分析の結果を複数の列に表示するには、次のクエリ文を実行します。
      • クエリ文
        * |
        選択
          時間,
          diff [1] AS day1、
          day2としてdiff [2] 、
          day3としてdiff [3] 、
          diff [4] AS ratio1、
          diff [5] AS ratio2
        から (
            SELECT
              時間,
              ts_compare(PV、86400、172800) AS diff
            から (
                SELECT
                  カウント (*) をPVとして、
                  date_trunc('hour', __time__) AS time
                ログから
                GROUP BY
                  time
              )
            GROUP BY
              time
            ORDER BY
              time
          )
      • クエリおよび分析の結果間隔値の比較
  • 例2: 1時間ごとのPVと当日の前の1時間のPVとの比を計算する。

    時間範囲を [今日 (相対)] に設定し、次のクエリ文を実行します。 3600は、現在の時刻から3,600秒を引いたものを指定します。これは1時間に相当します。 logは、使用するLogstoreの名前を指定します。 date_trunc('hour' ,__ time__ ) は、date_trunc関数を使用して時間値を時間で切り捨てることを指定します。

    • クエリ文
      * |
      選択
        時間,
        ts_compare(PV、3600) ASデータ
      から (
          SELECT
            date_trunc('hour', __time__) AS time,
            カウント (*) としてPV
          ログから
          GROUP BY
            time
          ORDER BY
            time
        )
      グループ化
        time
    • クエリおよび分析の結果ts_compare
      説明 クエリおよび分析結果で返される時間は、実際のシナリオによって異なります。