なんでだろうなぁと思っていたんだよね。なんで、そんな面倒な式を記述するのだろうって。もしかして、教わっていない/説明を受けていないのかもしれない。教わったけどよく理解していないという可能性もある。とはいえ、エディタの機能の使い方だけではなく、よく使うだろう Power Query の関数も一緒に勉強したほうがよいのでは?という話。
テーブルに追加する列の値を得るための "式" を記述しなければならないのである。Power Query 勉強始めたばかりというならそりゃ難しいよね。だって、Power Query で記述しなければならないのだもの。おそらくなんだけど、使い方を教えてもらう機会があったとしてもさ、Power Query の関数までその中に含まれていないっていうこともあると思うのだ。四則演算の算術演算子くらいかもしれないね。使った場面をよく見かけるので、if then else も含まれているのかもね。
教える方がよくないのか、教わる方がよくないのか、どちらでもいいけど。
選りすぐりの関数
よく使うだろうという Power Query の関数を指折り数えていくつかくらいから始めて、徐々にボキャブラリを増やしていくという方針にしてみてはどうだろうかと。で、選りすぐってふたつだけ挙げてみる。
- List.Sum
- Date.ToText
List.Sum 関数
リストに含まれる数値を算術和が得られる。ポイントは、nullを無視すること と 演算精度を選択できること。
List.Sum(list as list, optional precision as nullable number) as any
List.Sum( { [Column1], [Column2], [Column3] } )
List.Sum 関数の list 引数は list 型のみ許容だから、"{ }" で括る必要があるだけ。あとはクリックだけでもできるでしょう。
ボタンポチポチ派であっても注意深く観察していれば List.Sum 関数はじめ 多くの List 関数が使われていることがわかるはずだ。なので、より一層勉強しておいた方がよいはず。List.Product とか List.Max とか計算方法のバリエーションがあるので、まずはこれひとつから初めてみるとよいかと。
null を無視するのだから、
0 として計算しようとして面倒なことする必要ななくなるよね。
こうすればいい。
ね、簡単でしょ。
Date.ToText 関数
日付(Date 型)を指定した書式で文字列に変換。まぁよくあるよね。
Date.ToText(
date as nullable date,
optional options as any,
optional culture as nullable text
) as nullable text
可能な限り culture 引数 をしておいた方がよい。だって、動作環境によっては異なる文字列を得ることがあるからね。
標準の書式指定文字列だけでもバリエーションはたくさんあるのでそれぞれ試してみるとよい。
DateTime.ToText 関数 / DateTimeZone.ToText 関数 もあるからね。引数のデータ型に合わせたバリエーションが増えるだけ。また、Date.AddMonths 関数 と組み合わせれば会計年度とかすぐ出力できるでしょって感じ。
思ってたこと🙄
カスタム列の追加では Power Query の式を記述しなければならないわけよね。拗らせすぎはよくないけれども、もっと工夫できることがないかなとかも試すとよいのになと思うのです。if ネスト沼にはまってない?組み込みの算術演算子は倍精度で計算されるけど大丈夫?#PBIJP pic.twitter.com/t66O8YPuzE
— Takeshi Kagata / Power Platform 部 Power BI 科 🛌💤 (@PowerBIxyz) December 13, 2021
その他