2016-09-26 4 views
1

条件に基づいてテーブルを埋める方法はありますか?電力クエリテーブル。条件付きの下降完了

下記の私の表のサンプル。 Contract列に基づいてDate列を入力したいと思います。たとえば、契約がGBで始まらない場合は、前の行の日付を入力し、それ以外の場合は空白のままにします。

Contract Date  Role 
01F001  3/7/2016  A 
01F017  5/6/2016  A 
GB0007     B 
GB0007     B 
LBCA09  2/29/2016 A 
LBCA09     B 
LBCA09     B 
LBCA09     B 
LBCA12  2/25/2016 A 
LBCA12     B 

は、ここで私は私がTable.Filldown機能の外にif文を追加しようとしましたが、構文エラーを得た

Contract Date Role 
01F001 3/7/2016 A 
01F017 5/6/2016 A 
GB0007    B 
GB0007    B 
LBCA09 2/29/2016 A 
LBCA09 2/29/2016 B 
LBCA09 2/29/2016 B 
LBCA09 2/29/2016 B 
LBCA12 2/25/2016 A 
LBCA12 2/25/2016 B 

をしたい最終的なデータです。

= if not Text.StartsWith([Contract],"GB") then Table.FillDown(#"Replaced Value",{"Date"}) 

何か助けてください!

答えて

3

複数の手順でこれを実行できます。

  • 「日付」欄を下に記入
  • 「GB」で始まり、「日付」
  • 削除「日付」列
  • 名前を変更し、「カスタム」の列から値を取得しませ基づいて、条件付きの列を追加します。 「日付」に
0

Table.Partitionを使用できます。これを変更すると、より複雑な状況に向いています。

MyFunc = (_) => if Text.StartsWith(_, "GB") then 1 else 0, 
Partitioned = Table.Partition(YourTable, "Contract", 2, each MyFunc(_)), 
DownFilled = Table.FillDown(Partitioned{0}, {"Date"}), 
Result = Table.Combine({DownFilled, Partitioned{1}})