すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:手順2:SQL 分析ステートメントの作成

最終更新日:Jun 21, 2026

このトピックでは、SQL 分析ステートメントを作成する方法について説明します。

前提条件

SQL 分析タスクを作成済みである必要があります。その後、SQL データ分析ワークベンチで、ビジネス要件を満たすように SQL 分析ステートメントを作成します。

背景情報

SQL 分析ステートメントは、次の種類のデータストレージテーブルからデータをクエリし、処理できます。

注意事項

  • 出力フィールド名は、文字またはドル記号 ($) で始まり、文字、数字、ドル記号 ($) 、アンダースコア (_) のみを含めることができます。名前は 60 文字を超えることはできません。

    元のフィールド名がこれらの要件を満たさない場合は、エイリアスを定義する必要があります。

  • システムフィールドとシステム関数は、出力フィールドとして使用できません。

    タイプ

    サポートされていないフィールド

    システムフィールド名

    idgmt_creategmt_modifiedcreatormodifieris_deletedappend_column_nameappend_column_valueappend_column_concatscope_id 、および __closure_context__

    システム関数

    COUNTDATE_FORMATAVGMAXMIN 、および SUM

  • システム予約フィールドをクエリする必要がある場合は、出力フィールドにエイリアスを使用する必要があります。

    たとえば、デバイステーブル ${system.device} から gmt_create フィールドの値をクエリするには、出力フィールドに gmt_create_alias などのエイリアスを指定します。

    select gmt_create as gmt_create_alias from ${system.device}
  • 出力フィールドのデータ型がソースフィールドのデータ型と互換性がない場合は、型変換を行う必要があります。

    たとえば、デバイステーブル ${system.device}gmt_create フィールドは DATE 型です。宛先フィールドが異なる型を必要とする場合は、BIGINT などの互換性のある型にキャストする必要があります。

    select CAST(EXTRACT(EPOCH FROM gmt_create) * 1000 AS BIGINT) as gmt_create_alias from  ${system.device}
  • スケジュールされたタスクの現在時刻を取得するには、 ${bizDate} の代わりに current_timestamp() を使用してください。

    • ${bizDate}:SQL タスクのスケジュール時刻。この変数は、実際の実行時刻に動的に置き換えられます。1699286400000 のようなミリ秒単位の 13 桁のタイムスタンプです。この値は、SQL タスクの スケジューリングポリシーの有効日で指定された時間範囲内に含まれます。

    • current_timestamp():現在のシステム時刻を TIMESTAMP 値として返します。

    ${bizDate} を使用する理由:

    • 現在のスケジュールされたタスク: ${bizDate}current_timestamp() の両方を使用できます。

    • バックフィルタスク: 過去のトリガー時間に基づいてデータを処理するには、${bizDate} を使用する必要があります。current_timestamp() を使用すると、現在の時刻でデータが処理されるため、真のバックフィルはできなくなります。

  • SQL 分析タスクでサポートされている関数の一覧については、「関数の概要」をご参照ください。

手順

  1. [分析とインサイト] ページで目的の SQL 分析タスクを見つけ、[アクション] 列で [開発ワークベンチ] をクリックして [SQL データサービスワークベンチ] ページを開きます。

    [SQL データサービスワークベンチ] の詳細については、「ステップ 1: SQL 分析タスクを作成する」をご参照ください。

  2. [SQL データサービスワークベンチ] の左側のナビゲーションペインから、クエリするデータオブジェクトを選択します。

    重要

    SQL 分析タスクでは、データストレージテーブルをクエリオブジェクトとして使用できます。詳細については、「オフラインデータストレージ」をご参照ください。

    次の操作を行えます。

    • テーブル名をダブルクリックすると、クエリステートメントをすばやく生成できます。

    • クエリするテーブルの名前にカーソルを合わせ、次のいずれかの操作を行います。

      • [コピー] をクリックして、テーブル名を SQL エディターに貼り付けます。

      • [詳細] をクリックすると、テーブルのデータ構造を表示するか、最新 20 件のデータをプレビューできます。

  3. SQL エディタで、SQL 分析ステートメントを作成します。

    重要

    SQL 分析タスクを使用してカスタム時系列テーブルにデータを格納する場合、各データエントリにはタイムスタンプフィールド ts を含める必要があります。そうでない場合、データ書き込み操作は失敗します。書き込み操作が失敗した場合、[タスク操作] ページで SQL 分析タスクの[実行ログ]を表示できます。詳細については、「SQL 分析タスクを操作する」をご参照ください。

    ワークベンチの上部にある [インテリジェントアシスタント] をクリックすると、[SQL テンプレート] を使用して SQL 分析ステートメントをすばやく生成できます。

    1. [SQL テンプレート] タブで、データ分析のニーズに応じて関数を選択します。

      関数の使用方法については、「サポートされている SQL 関数」をご参照ください。

    2. システムが SQL 分析ステートメントを生成したら、[今すぐ使用] または [コピー] をクリックすると、ステートメントが SQL エディタに追加されます。

    3. SQL エディタで、クエリオブジェクトなどのパラメーターを変更して、SQL 分析ステートメントを完成させます。

    [式テンプレート] パネルには、[時間式][文字列式][条件式][データ前処理式] の 4 つのカテゴリがあります。カテゴリを展開すると、 SELECT FROM_UNIXTIME(123456789) のような特定のテンプレートと SQL の例を表示できます。

  4. 任意: エディターの上部で、[SQL 検証image.png] アイコンをクリックして、SQL 分析文の構文を確認します。

  5. ステートメントに問題がなければ、エディターの上部にある [実行image.png] アイコンをクリックします。

    • 成功すると、[実行ログ] タブで実行詳細を、[結果] タブで出力を確認できます。結果はさまざまなグラフ形式で表示できます。

      また、[データのエクスポート] をクリックして、現在の結果を CSV ファイルとしてダウンロードすることもできます。

    • 実行が失敗した場合は、[実行ログ] タブでエラーメッセージを確認し、問題を解決してから、ステートメントを再実行してください。

次のステップ

手順3:スケジューリングポリシーの設定と公開