DP-600試験にOpenAI DeepResearchの力で合格しました

# 経緯
Microsoftの [DP-600](https://learn.microsoft.com/ja-jp/credentials/certifications/exams/dp-600/) 試験を 2025/02/17 に受けてきました。775/1000 点でした。過去イチ苦労しましたが、なんとか突破できたので私なりのポイントを残しておきます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361516/bf2dcda4-2901-8539-0c32-5ab030818d32.png)



# 認定資格について
DP-600はFabricを使用したデータ分析エンジニア認定という位置付けで、合格するとMicrosoft認定資格「[Microsoft Certified:Fabric Analytics Engineer Associate](https://learn.microsoft.com/ja-jp/credentials/certifications/fabric-analytics-engineer-associate/?practice-assessment-type=certification)」が取得でき、（Fabricを使用して）エンタープライズ規模のデータ分析ソリューションの設計、作成、デプロイを行う能力があると認められることになります。2025/02/17現在の出題範囲と配点は下記のとおりでした。

* データ分析用のソリューションを計画、実装、管理する (10 - 15%)
* データを準備して提供する (40 - 45%)
* セマンティック モデルを実装して管理する (20 – 25%)
* データを探索して分析する (20 – 25%)

なお、Fabricの認定資格は現在、DP-600とDP-700の2種類があります。資格レベルはどちらもAssociate（中級）で、優劣はありませんが、対象とするロールが異なります。DP-700は今年1月にGAされたばかりの新設資格で、現時点ではまだ日本語ローカライズされていないようです。DP-700を受験された方はぜひ受験レポートのシェアをお願いします！

|試験|認定資格|ロールの責務|試験言語|
|---|---|---|---|
|[DP-600](https://learn.microsoft.com/ja-jp/credentials/certifications/exams/dp-600/)|Fabric Analytics Engineer Associate|データ準備とデータ分析|日本語可|
|[DP-700](https://learn.microsoft.com/ja-jp/credentials/certifications/exams/dp-700/)|Fabric Data Engineer Associate|ソリューション設計と管理|英語のみ|

# 出題傾向について
Fabricを他と差別化するユニークな点は、統合データストレージ「OneLake」を中心にデータ保管と分析をエンドツーエンドで行えるエンタープライズ向け統合プラットフォームである、という点です。Fabricを構成する個々のサービスやツールは雑多なグッドスタッフの寄せ集めにも見えますが、これは裏を返せばデファクトスタンダードのベストプラクティスをそのまま利用できるので利用者にとっては学習コストが低く有難いということでもあります。ということで、DP-600試験でもFabric特有の概念を問う問題はそこまで多くなく、これまでデータ分析エンジニアが取り組んできた知識（Spark、Databrics、RDB、）を要求する問題が多かったという印象で、新サービスの新設資格ではあるものの未経験で受験するとかなり苦労すると思います。受験にあたってはリレーショナルデータベース（SQL、正規化）もしくはPowerBI（DAX、PowerQuery）どちらかの実務経験があると有利です。私が受験した際の問題順序は、通常問題 ⇒ 見直しできない問題 ⇒　ケーススタディ（大問）、の順序でした。試験時間が不足気味で、時間内にギリギリ解き終わりはしたが見直しの余裕はありませんでした。前半MSLearn検索に時間を使いすぎて、ケーススタディ問題に着手した時点で残り時間が15分を割っており、かなり焦りました。。。なおIoTデバイスからのデータストリームなどを扱う「イベントハウス」関連は2025/02/17時点で公式練習問題に含まれておらず、私が受験した際も出題されませんでした。

# 試験対策
今回は諸事情で十分な準備時間が取れなかったため、公式のラーニングパスを流し読みしたあとは、試験対策は [MS公式の演習問題](https://learn.microsoft.com/ja-jp/credentials/certifications/fabric-analytics-engineer-associate/practice/assessment?assessment-type=practice&assessmentId=90&practice-assessment-type=certification) に絞りました。問題はいつもどおり100種類弱しかなく、5周もすれば暗記できてしまうので、単に正答するだけでなく、出題意図や誤答まで気にしながらじっくり理解するよう意識して取り組むとよいと思います。UdemyやExamtopicsなどの非公式教材は今回まったく使いませんでした。良質な公式教材と公式ラーニングパスが提供されており、副教材を別途購入しなくとも合格は十分に可能である、といえます！

# 学習のポイント１：大きな地図を意識する
Fabricのキャッチフレーズは「統合分析プラットフォーム」ですので必然的に多機能であり、その認定資格であるDP-600も試験範囲が広いです。各機能は柔軟な使い方ができ、似たサービスも多いので、いま何の話をされてるのか迷子になりがちです。 **まず「Fabric＝DataFactory＋Synapse＋PowerBI」、これを暗唱してください。** DataFactoryでETLして、Synapseで分析して、PowerBIで可視化、という基本の流れを常に意識して、そのうえでたとえばETLの部分なら下記のツールがあってそれぞれの特色はこう、というお品書きを覚えてください。これは公式演習問題をじっくり解いていけば自然と頭に入ります。

|ツール|特徴|
|---|---|
|パイプライン|イベントトリガーやスケジュールが使える|
|Dataflow Gen2|多様な標準コネクタが使える|
|ノートブック|プロコード|
|レイクハウスエクスプローラー|GUI、小さなローカルファイルの1回限り操作なら好適|

# 学習のポイント２：頻出問題をおさえる
スタースキーマ（ファクトとディメンション）、ストレージモード（DirectLake / DirectQuery / Import / Dualの使い分け）、SCDタイプ２などは問題を作りやすいので、よく出題されます。これらの概念は事前にしっかり理解しておいてください。スタースキーマ（正規化）は未経験者が初見で理解するのは難しいと思いますが、ほぼ確実に出題されるので、じっくり時間を使って理解しておく価値があります。


# 学習のポイント３：言語書式に習熟する
DP-600ではT-SQL、DAX、KQL、DataFrame、PowerQueryのコードが出題されます。内容はわりと高度で、たとえばSQLなら OUTER JOIN～GROUP BY～HAVING といった集計結合が出題され、これを1問1分程度で解けないと試験時間が足りなくなります。私はSQLについては実務経験が長いのでさほど苦労しなかったものの、それでも間違い探しのような四択をパッと正答するのは意外と難しいです。ましてや私はDAXが初見だったので、今回ここが一番苦労しました。公式ドキュメントを読んでも要領を得ず、困り果ててOpenAI DeepResearchに質問した内容が下記。「DAXについて教えて」というこちらの質問に対し、DeepResearchから「SQLと比較を交えて説明すると理解しやすいですか？」と更問い提案があって、そのとおりに解説してくれました。正直言って今回短期間で合格できたのは試験直前にこの解説を読んでDAX理解のとっかかりを掴めたのが最大の勝因です。ありがとうDeepResearch。

https://chatgpt.com/share/67b0baf9-f4d4-8011-9bdc-0d8dc1311579



公式教材派のかたはこちら。概要を知ってから読むと理解できてくるのですが、私にとっては上記のDeepResearchの解説のほうが読みやすかったです。

https://learn.microsoft.com/ja-jp/training/paths/dax-power-bi/


# OpenAI DRによるDAX解説（SQL経験者向け）
まず3行で概要を、というイメージで下記のように教えてくれています。

> SQLはデータ取得・操作が主目的、対してDAXはデータの計算・分析が主目的。DAXは、データモデル内のデータを基に新しい値を計算し、動的な分析を行うための式言語である。SQLでは行ごとに処理を行うことが多いが、DAXでは列や集計レベルの計算が中心。なおDAXはコンテキスト（行コンテキスト、フィルターコンテキスト）の概念が重要。これはSQLにはないDAX特有の概念。

読んでなるほどと思わされたのは、たしかにSQLでも集計や分析（GROUP BY、SUM、AVG）はできるしこれらは列指向だけれども、あくまでSQLのメインはデータの取得と操作で、基本的には行指向の操作であると。それに対してDAXは計算と分析が主目的なので列指向で、かつ強力な分析を行うためにコンテキストという特有の概念がありますと。たしかにDAXとSQLで一部、似たようなことはできるけども、出自や目的が違うので得意分野は異なるよ、DAXを習得するとコンテキスト依存の計算（前期比移動平均など）が簡単にできて楽しいよ、試験勉強がんばってね、という、こちらに寄り添いながらガイドし導いてくれていて、かつ公式文書に記載のない「SQLとDAXの違い」という部分はRedditのソースURLを添えてくれてるので裏取りもできる、という、良質な回答と思います。DeepResearchはピント外したレポートやこちらが既に知ってる内容を出してくることも多く使い方が難しいですが、上記については300円の価値が十分あったなと思います。

# まとめ
AI-102、DP-100に続いて3つ目のAssociate試験でしたが、DP-600は試験時間がとにかく足りなかったのと、高度なSQL言語[^koudo]／DAX言語の出題が印象的でした。私はこれまでPowerBI未経験で「なんかグラフ描画するやつ」くらいの程度の雑な認識しかなく、正直ナメてた部分があったのですが、勉強してみるとなかなか奥深く面白そうでした。PowerBIは別途 [PL-300](https://learn.microsoft.com/ja-jp/credentials/certifications/data-analyst-associate/?practice-assessment-type=certification) という認定資格があるので、次はこれを狙ってみようかなと思います。


[^koudo]:高度とはいっても狭く深くで、基本的にはSELECT文のみです。データ分析で出てこない概念は出題されません。