21. コード補完問題
問題: "Category"列のリスト取得
CategoryList = Table.Column(Source, "___")
解答: Category
解説:
Table.Column(table, "ColumnName")で指定列の値をリストで取得します。
22. 5択問題
問題: "列のピボット解除"を行う関数
A. Table.Pivot
B. Table.UnpivotOtherColumns
C. Table.UnpivotColumns
D. Table.Transpose
E. Table.ExpandTableColumn
解答: C. Table.UnpivotColumns もしくは B. Table.UnpivotOtherColumns
(問題が紛らわしいですが、「列のピボット解除」は"Unpivot"がキーワード。)
"列のピボット解除"は Table.UnpivotColumnsまたはTable.UnpivotOtherColumnsを使用しますが、単純に"列のピボット解除"といえばCの Table.UnpivotColumns がより直接的です。
解説:
Table.UnpivotColumnsは選択した列を行方向に展開してピボット解除します。
Table.UnpivotOtherColumnsは指定しなかった列以外をピボット解除します。
ここでは「適切なもの」としてTable.UnpivotColumnsが代表的です。
23. コード補完問題
問題: 昇順ソートを表す値
{"Date", ___}
解答: Order.Ascending
解説:
Order.Ascendingで昇順、Order.Descendingで降順を表します。
24. 5択問題
問題: DateTime.LocalNow()が返す値
A. 現在の日付のみ
B. 現在のUTC時刻のみ
C. 現在の日付と時刻(ローカル)
D. 今日の午前0時
E. Excelシリアル値形式の日付
解答: C. 現在の日付と時刻(ローカル)
解説:
DateTime.LocalNow()は現在のローカル日時を返します。
25. コード補完問題
問題: Price列を10%割引 ([Price]*0.9)
Transformed = Table.TransformColumns(Source, {{"Price", each ___}})
解答: [Price] * 0.9
解説:
each [Price] * 0.9 でPrice列の値を10%引きした値に変換します。
26. 5択問題
問題: Table.ToListはどう変換するか?
A. テーブルを縦方向に連結したリスト
B. テーブルのすべての列を連結したリスト
C. 単一列テーブルをリストに変換
D. テーブルをキーと値のペアのリスト
E. テーブルを階層構造のリストに
解答: C. 単一列テーブルをリストに変換
解説:
Table.ToList(table)はテーブルが1列である場合、その列をリストに変換します。
27. コード補完問題
問題: "FullName"列 = FirstName + " " + LastName
[FirstName] & " " & [___]
解答: LastName
解説:
文字列連結で & を使い、[FirstName]と[LastName]を連結します。
28. 5択問題
問題: 条件分岐構造は?
A. select ... case
B. if ... then ... else
C. switch ... case
D. when ... do
E. choose ... option
解答: B. if ... then ... else
解説:
M言語で条件分岐はif 条件 then 値 else 値です。
29. コード補完問題
問題: Number.Roundを使う
each Number.___([Score],0)
解答: Round
解説:
Number.Round(number, digits)は値を指定桁数で四捨五入します。
30. 5択問題
問題: 日付部分を抽出するための関数
A. Time.Day
B. Date.MonthName
C. Date.Day
D. Duration.Days
E. DateTime.Year
解答: C. Date.Day
解説:
Date.Day(date)で日付から日の部分を抽出します。