DISPLAY SETTINGS 各種設定
Q1.ある組織の Fabric テナントにレイクハウスが用意されています。
Fabric ノートブックで、次のコードを実行して大きな DataFrame を保存しています。
df.write.partitionBy(“year”,”month”,”day”).mode(“overwrite”).parquet(“Files/SalesOrder”)
次の各ステートメントについて、内容が正しい場合は [はい] を、正しくない場合は [いいえ] を選択してください。
注: 正しく選択するたびに 1 ポイントが与えられます。

| 問題文 | はい | いいえ | |
|---|---|---|---|
| 各パーティション キーごとにフォルダー階層が作成される。 | |||
| 生成されたファイル パーティションは、複数のノードで並列に読み取ることができる。 | |||
| 生成されたファイル パーティションにはファイル圧縮が適用される。 |
解答を見る
partitionBy(“year”,”month”,”day”) を指定すると、Spark は列値ごとに year、month、day のフォルダー階層を作成してファイルを書き込みます。
パーティション単位でファイルが分割されるため、分散環境では複数のノードで並列に読み取りできます。
さらに Parquet 形式は既定で Snappy によるファイル圧縮が適用されるため、圧縮オプションを明示しなくてもファイルは圧縮されます。
したがって 3 つの記述はいずれも「はい」が正解です。
Spark を使用したレイクハウスへのデータ ストリーミング – Microsoft Fabric
Q2.Fabric テナントに、Lakehouse1 という名前のレイクハウスがあります。
Lakehouse1 には、100 万個の Parquet ファイルで構成される Delta テーブルが含まれています。
過去 30 日間にテーブルから参照されていないファイルを削除する必要があります。
この対応では、トランザクション ログの整合性を保ち、テーブルの ACID プロパティを維持しなければなりません。
どのように対応すべきですか。
解答を見る
Delta テーブルで参照されなくなった古いファイルを安全に削除するには、VACUUM コマンドを使用します。
VACUUM は Delta ログで参照されていないファイルを、保持期間の条件に従って削除するため、トランザクション ログの整合性と ACID 特性を維持できます。
OPTIMIZE や V-Order は読み取り効率やファイル配置の最適化が目的であり、不要ファイルの削除が主目的ではありません。
OneLake ファイル エクスプローラーで直接削除するとDelta ログと不整合になる恐れがあります。
Lakehouse で Delta テーブルのメンテナンスを実行する
Q3.Model1 という名前のセマンティック モデルがあります。
Model1 には、すべて Import モードで動作する 5 つのテーブルが含まれています。
Model1 には、HR という名前の動的な行レベル セキュリティ (RLS) ロールが設定されています。
HR ロールは、HR マネージャーが担当する部門のデータのみを表示できるよう、従業員データをフィルター処理します。
Model1 を Fabric テナントに発行し、RLS ロール メンバーシップを構成しました。
その後、モデルと関連レポートをユーザーへ共有します。
ある HR マネージャーから、レポートに表示されるデータが不完全だと報告がありました。
その HR マネージャーに表示されるデータを検証するには、何をするべきですか。
解答を見る
動的 RLS では USERPRINCIPALNAME() などに基づき、ユーザーごとに表示される行が変化します。
そのため HR ロールとしてだけ確認しても、特定の担当者に割り当てられた部門データを正しく検証できません。
Power BI サービスのロールとしてテストでは、ロールだけでなく特定のユーザーとして表示を確認できます。
今回検証すべきは報告者本人に見える内容のため、HR マネージャーとしてレポートを表示する操作が正答です。
Power BI での行レベルのセキュリティ (RLS) – Microsoft Fabric | Microsoft Learn
Q4.Fabric テナントに、lakehouse1 という名前のレイクハウスがあります。
Lakehouse1 には Customer という名前の Delta テーブルが含まれています。
Customer に対してクエリを実行したところ、実行が遅いことが分かりました。
テーブルでメンテナンスが行われていないのではないかと考えています。
Customer に対してメンテナンス タスクが実行済みかどうかを識別する必要があります。
ソリューション: 次の Spark SQL ステートメントを実行します。
DESCRIBE HISTORY customer
これは目標を満たしますか。
解答を見る
DESCRIBE HISTORY は、Delta テーブルの操作レベルの履歴を返す読み取り専用コマンドです。
履歴には WRITE、MERGE、OPTIMIZE、VACUUM などの操作、実行時刻、ユーザー、操作メトリックが含まれます。
そのため対象テーブルでメンテナンスが実行済みか確認できます。
今回の目的は性能改善の実行ではなく実施有無の識別のため、DESCRIBE HISTORY customerは要件を満たします。
Inspect Delta table metadata – Microsoft Fabric | Microsoft Learn
Q5.Workspace1 という名前のワークスペースを持つ Fabric テナントがあります。
Workspace1 には、LH1 という名前のレイクハウスと DW1 という名前のウェアハウスが含まれています。
LH1 には、dbo スキーマに signindata という名前のテーブルがあります。
signindata テーブル内のデータを重複排除するストアド プロシージャを DW1 に作成する必要があります。
T-SQL ステートメントをどのように完成させるべきですか。
解答を見る
Fabric ウェアハウスのストアド プロシージャは T-SQL で作成でき、AS の後ろに処理本体を記述します。
通常の処理ブロックを開始するにはBEGINを使用します。
分散トランザクションを開始する必要はなく、SET も処理ブロックの開始ではありません。
重複排除は PersonID、FirstName、LastName の一意な組み合わせを返せばよいため、SELECT の直後にはDISTINCTを指定します。
集計を伴わない重複排除では SELECT DISTINCT が最も適切です。
チュートリアル: ウェアハウス内のストアド プロシージャを使用してデータを変換する
Q6.OneLake に新しいセマンティック モデルを含む Fabric テナントがあります。
Fabric ノートブックを使い、データを Spark DataFrame に読み込みます。
すべての文字列列と数値列について、最小値、最大値、平均、標準偏差を求めるためにデータを評価する必要があります。
ソリューション: 次の PySpark 式を使用します。
df.show()
これは目標を満たしますか。
解答を見る
df.show() は Spark DataFrame の内容を画面へ表示するためのメソッドであり、列ごとの統計値を計算する処理ではありません。
求められているのは最小値、最大値、平均、標準偏差などの記述統計の算出です。
Fabric ノートブックでは display(df, summary = true) などで DataFrame の統計概要を確認できます。
したがって単にdf.show()を実行しても目標は満たされません。
Microsoft Fabric でのノートブックの視覚化
Q7.Workspace1 という名前のワークスペースを持つ Fabric テナントがあります。
Workspace1 には、2 つの Microsoft Power BI レポートを含む 1 つのセマンティック モデルがあります。
Microsoft 365 サブスクリプションには、DLP1 という名前のデータ損失防止 (DLP) ポリシーが構成されています。
Workspace1 内の項目に DLP1 を適用する必要があります。
何をするべきですか。
解答を見る
Microsoft Purview の DLP ポリシーを Fabric や Power BI の項目へ適用するには、対象コンテンツを分類する秘密度ラベルが前提になります。
秘密度ラベルはセマンティック モデルやレポートに適用でき、DLP ポリシーの条件として利用されます。
承認や認定は検出性や信頼性を高める機能であり、DLP の適用条件にはなりません。
ワークスペース ID も外部リソース接続用で本要件とは無関係です。
したがってセマンティック モデルとレポートへ秘密度ラベルを適用します。
Power BI の秘密度ラベル – Microsoft Purview Information Protection | Microsoft Learn
Q8.Workspace1 という名前の Fabric ワークスペースがあります。
Workspace1 には、Dataflow1 という名前のデータフローが含まれています。
Dataflow1 は 500 行のデータを返します。
クエリ結果内の各列について、最小値と最大値を識別する必要があります。
どの 3 つのデータ ビュー オプションを選択するべきですか。
各正解はソリューションの一部です。
解答を見る
Power Query のデータ プロファイリングでは、列の品質、列の分布、列プロファイルを確認できます。
最小値や最大値などの統計情報を列単位で確認するには、まず列プロファイルを有効化し、結果を表示するために詳細ウィンドウを有効化します。
さらに詳細ウィンドウに列プロファイルを表示することで、各列の統計情報を確認できます。
列の品質は有効・空・エラーの割合、列の分布は値の分布確認が中心で、最小値と最大値の確認には不十分です。
データ プロファイリング ツールの使用 – Power Query
Q9.Workspace1 と Workspace2 という 2 つのワークスペース、および User1 という名前のユーザーを含む Fabric テナントがあります。
User1 が次のタスクを実行できるようにする必要があります。
新しいドメインを作成する。
subdomain1 と subdomain2 という 2 つのサブドメインを作成する。
Workspace1 を subdomain1 に割り当てる。
Workspace2 を subdomain2 に割り当てる。
この構成は最小特権の原則に従う必要があります。
User1 にどのロールを割り当てるべきですか。
解答を見る
Fabric ドメインでは、新しいドメインの作成は Fabric 管理者のみが実行できます。
ドメイン管理者は自分が管理する既存ドメインでサブドメイン作成やワークスペース割り当ては可能ですが、新規ドメインの作成権限までは持ちません。
ドメイン共同作成者は主に自分が管理するワークスペースを既存ドメインへ割り当てる役割で、ワークスペース管理者もドメイン管理権限ではありません。
したがって要件全体を満たす最小の選択肢はFabric 管理者です。
ドメイン – Microsoft Fabric | Microsoft Learn
Q10.Sales.Orders という名前のテーブルを含む Fabric ウェアハウスがあります。
Sales.Orders には次の列が含まれています。
次の列を返す T-SQL クエリを記述する必要があります。
コードをどのように完成させるべきですか。
回答するには、回答領域で適切なオプションを選択してください。
注: 正しく選択するたびに 1 ポイントが与えられます。
| 名前 | データ型 | NULL 許可 |
|---|---|---|
| OrderID | 整数 | いいえ |
| CustomerID | 整数 | いいえ |
| OrderDate | 日付 | いいえ |
| Quantity | 整数 | はい |
| Weight | Decimal(18, 3) | はい |
| ListPrice | Decimal(18, 2) | いいえ |
| SalePrice | Decimal(18, 2) | はい |
| 名前 | 説明 |
|---|---|
| OrderID | OrderID を返す |
| CustomerID | CustomerID を返す |
| PeriodDate | OrderDate の月の最初の日を表す日付を返す |
| DayName | OrderDate の曜日名を返す。例: Wednesday |
解答を見る
PeriodDate は OrderDate の年月を使い、日を 1 に固定した日付を返す必要があるため、DATEFROMPARTSが適切です。
DATEPART は数値の一部を返す関数で、DATETRUNC や DATE_BUCKET はこの設問のコード形式とは一致しません。
DayName は曜日名を返す必要があるため、DATENAME の datepart にはweekdayを指定します。
day や dayofyear は日や通算日を返す指定で、曜日名にはなりません。
したがって DATEFROMPARTS と weekday を選択します。
日付と時刻のデータ型および関数 (Transact-SQL)
