Skip to main content

いつもお世話になっております

添付画像にもありますが、NULLの行に起点日・プラン・金額が欠損しています。

NULLの行に起点日の起点日・プラン・金額を反映させる方法をご教授いただきたいです。

LOOKUPで前の行を取得する事は出来ましたが、連続の行の取得が出来ませんでした。

よろしくお願い致します。NULLの行に起点日などを反映させる方法を教えて下さい

2 Antworten
  1. 5. Okt. 2022, 07:53

    PREVIOUS_VALUEという表計算関数を使用すると表示できます。この関数は、関数を含む計算フィールド自身の結果をひとつ遡って再帰的に取ることができます。

    金額を例に取ると次のような式になります。金額がNULLでないならそのまま金額を使用し、NULLだったらひとつ前の金額を取ります。PREVIOUS_VALUE関数は引数として初期値を指定する必要がありますので、とりあえずゼロを入れてあります。

    PREVIOUS_VALUEという表計算関数を使用すると表示できます。この関数は、関数を含む計算フィールド自身の結果をひとつ遡って再帰的に取ることができます。​金額を例に取ると次のような式になります。金額がNULLでないならそのまま金額を使用し、NULLだったらひとつ前の金額を取ります。PREVIOUS_VALUE関数は引数として初期値を指定する必要がありますので、とりあえずゼロを入れてあります。

    LOOKUPがN個前/後の別フィールドの値を見るのに対し、PREVIOUS_VALUEは自分自身の​計算結果を参照することができるので、次の図のようにNULLが連続していても直前のNULLでない値を引き継いで表示することができます。

    image

    同じ理屈でプランや起点日も表示できます。添付のワークブックを見てみてください。

    ひとつつ注意点として、​この方法は表計算関数を使用していますので、こうして引き継いだ値をLOD表現に利用したりディメンションフィルタに追加したりすることはできません。もしそういった計算が必要なのであれば、TableauPrep等のツールで事前にNULLを埋めておくことをお勧めします。

0/9000