#テーブルをマージするとき、特定の条件のものだけくっつけたいとき
たとえば、こんなデータがあって
こう、自分の点数と合格点を比較して、合否を計算してみたい、と…
##もちろん、方法はいっぱいある
たとえば、点数テーブルのほうに受験年度の列を足して、マージキーにするとか
たとえば、合格点テーブルをフィルタかけてからマージするとか
##でも、時には計算式一本で対応したいときもある。かも。
特に何の処理もなく、結合→クエリのマージから左外部結合(点数テーブル←合格点テーブル)にするとこうですね。
で、自動生成された式は、こんなん
黄色い線と丸:結合先テーブル名&Key
青い線と丸:結合元テーブル名&Key
(ちなみに緑線は、マージしたときにできるカラム。
(Table)ってはいってるとこ。デフォルトのままだとちょっとわかりにくい…)
なので、青線のところにフィルタかけられればよさそうです!
#フィルタかける呪文はどんなんだったかな
やってみたら早いですもんね。
合格点テーブルのほうでフィルタかけてみると。
= Table.SelectRows(変更された型, each ([年度] = 2021))
ほうなるほど。
(式だけコピーしたら、フィルタの解除忘れずに💦頑張って式を作る意味がなくなっちゃう…)
##さっきのマージの式に差し込んでみよう
Before
After
おお!いいかんじですね!
さっきの式の
ここ!この青いとこに、さっきのフィルタの式を書いて…
で、フィルタの式の中の
この青いところは、「何を」フィルタするのか指定するところなので、ステップ名ではなくて、クエリ名に書き換えてあげる。
こうしとくと、フィルタ条件のところにパラメータとか、ユーザが任意に書き換え可能な変数を持ってきたときに自由に計算結果を書き換えられたりとか、あとは単純に参照されるテーブルがいろいろかつ、フィルタ条件がいろいろあって、どうにもならん!って時に使えるんじゃないかと思います。
#念のため
マージ出来たら、ここは展開ボタン押して、選択して、展開できます。
カラム名が被らないなら、元の列名を使用オプションは外すのが好きです(赤部分)
できあがり!めでたしめでたし!