---
title: "#86 DQLの自動生成"
description: "Dynatrace Intelligenceの機能のひとつである「DQLの自動生成」をご紹介します。
本機能を利用することで、自然言語のプロンプトからDQLを生成し、ログやメトリクスを手軽に分析できます。"
---

[DynatraceTips ](https://www.iim.co.jp/dynatips)

# [#86 DQLの自動生成](https://www.iim.co.jp/dynatips/086)

 作成者: [IIMサポートチーム](https://www.iim.co.jp/dynatips/author/iimサポートチーム)｜Jul 5, 2026 10:00:01 PM

 

 

 

皆さまこんにちは、IIM サポートチームです。

このブログでは、Dynatrace の最新機能や便利な使い方を、気軽に読めてすぐに役立つ形でご紹介しています。

 

##### ＊文中、*斜体*になっている単語は Dynatrace 画面上/ドキュメント内で使用される用語となります 　例）*Service*、*Host *など

##### ＊青色の色掛部分は操作対象のボタンを表しています

 

今回は*Dynatrace Intelligence*の機能のひとつである「*DQL*の自動生成」をご紹介します。

*DQL*はDynatraceのクエリ言語で、*Dashboards*や*Notebooks*などで利用できます。

ただ、クエリ言語に抵抗があったり、DQLを書くのが難しいと感じたことはありませんか？  
本機能を利用することで、自然言語から簡単にDQLを生成でき、手軽にログやメトリクス分析を始められます。 

 

## 利用手順

 Dynatraceの*Notebooks*または*Dashboards*を開き、［＋］＞［Prompt］をクリックします。

 

 

自然言語によるプロンプトを入力し、実行します。

[DQL]を展開すると、生成された*DQL*を確認することができます。

 

 

 

 

## DQL生成のコツ

*DQL*の自動生成は、自然言語から*DQL*を生成できる便利な機能ですが、プロンプトの書き方によって生成結果の精度が大きく変わります。

ここでは、より意図通りの*DQL*を生成するためのポイントをご紹介します。

 

### ① プロンプトは明確かつ具体的に書く

 プロンプトは、できるだけシンプルで具体的に書くことが重要です。  
曖昧な表現だとAIが意図を正確に解釈できず、期待とは異なる*DQL*が生成されることがあります。 

 

以下を意識すると精度が向上します。

・曖昧な表現は使わず、シンプルな文章にする

・「〜を表示してください」など、目的を明確にする 

・データの種類（*logs / metrics / events / bizevents *など）を明示する  
※*bizevents*はDynatraceにおけるビジネスイベントデータを指します。

・必要に応じて時間範囲やフィルタ条件を指定する

※時間範囲や条件を指定することで、不要なデータスキャンを防ぎ、ライセンス消費の抑制にもつながります。 

 

悪い例：

`・CPU使用率`

`・新しい注文を表示してください`

 

良い例：

`・過去1時間のホストのCPU使用率メトリクスを時系列で表示してください`

 

・`過去1日の新規注文のbizevents件数を表示してください`

 

 

 

### ② 手順を順番に書く

複雑な処理は1文でまとめず、ステップに分けて記述します。

1文でも*DQL*は生成されますが、意図しない処理（例：不要な集計やフィールド追加）が追加されることがあります。

手順を分けることで、生成される*DQL*がシンプルで意図通りになります。

また、各ステップは「。」で区切ることで、処理の順序がより正確に伝わります。

 

*DQL*の処理順序を意識することも重要です。

（例：フィルタ条件は先に記述し、並び替えは最後に記述する）

※クエリ実行の負荷やライセンス消費を抑えるため、最初のステップから時間範囲やフィルタ条件を指定することを推奨します。

 

悪い例：

`エラーログをFetchし、ホスト名ごとのエラー件数を表示してください`

 

良い例：

`最初に直近1時間のログをFetchしてください。`

`次にERRORログのみをFilterしてください。`

`その後、ログをホスト名ごとに集計してください。`

`最後にホスト名とエラー件数を表示してください。`

 

 

 

### ③ 徐々に詳細化する

*DQL*生成がうまくいかない場合は、最初から複雑なプロンプトを書かず、シンプルな内容から段階的に条件を追加していきます。

※クエリ実行回数が増えることでライセンス消費が増加する可能性があるため、実行回数には注意してください

※特にシンプルな*DQL*（例：fetch logs）は広い範囲のデータをスキャンするため、1回あたりの負荷やコストが高くなる点にも注意が必要です。

 

例：

以下のプロンプトの「①＋②」の結果と「①＋②＋③」の結果を比較します。

①`直近1時間のERRORログを表示してください。`

②`次に、そのログをステータスごとに集計して件数を表示してください。`

③`次に、その集計結果を時系列で表示してください。`

 

「①＋②」：意図通りの*DQL*が生成される

 

「①＋②＋③」：条件追加により*DQL*生成が複雑になり、正しく生成できない場合がある

 

条件が増えることで、AIの解釈が難しくなり、正しく生成できない場合があります。

 

  

 

1. ## まとめ
2. *DQL*の自動生成は便利な機能ですが、プロンプトの書き方によって生成結果が変わるため、本記事でご紹介したようなポイントを押さえることが重要になります。
   
   また、自然言語で*DQL*を作成できるため、Dynatraceの専門的な知識がなくても活用しやすく、導入や学習の負担を抑えられる点もメリットです。
   
   ぜひ本機能を活用し、効率的なデータ分析に役立ててください。

 

1. #86 *DQL*の自動生成については、以上となります。   
   お読みいただきありがとうございました！ 
2.  
3. ※記事執筆時 Dynatrace SaaS Version：1.341
4.  

1.  

[完全な記事を表示](https://www.iim.co.jp/dynatips/086)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "IIMサポートチーム"
  },
  "dateModified" : "2026-07-05T22:00:01.460Z",
  "datePublished" : "2026-07-05T22:00:01Z",
  "headline" : "#86 DQLの自動生成",
  "image" : {
    "@type" : "ImageObject",
    "height" : 1080,
    "url" : "https://19823358.fs1.hubspotusercontent-na2.net/hubfs/19823358/IIM/%E3%83%96%E3%83%AD%E3%82%B0/Dynatrace%20tips/086/Dynatrace%20Tips%20%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%20%281%29.png",
    "width" : 1920
  },
  "mainEntityOfPage" : "https://www.iim.co.jp/dynatips/086",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "DynatraceTips"
  }
}
```