Docurain Labo

Docurainサービス開発日記

わかりやすいテンプレートのために - IF / IFS / SWITCHのご紹介

今回は条件分岐がシンプルに書けるようになったIF / IFS / SWITCHをご紹介します。

従来の条件分岐

従来はセル内で条件分岐をさせて値を出力する場合に

#if($cond) $a #end
#if($cond) $a #else $b #end
#if($cond1) $a #elseif($cond2) $b #elseif($cond3) $c #else $d #end

のように書かなければならず、少し面倒でした。

プログラマの美徳は怠惰。というわけで、より簡潔な表現のためにExcelの関数(IF / IFS / SWITCH)とほぼ同等の記述を可能にしました。 それが #IF / #IFS / #SWITCH マクロです。

#IF / #IFS / #SWITCH

上記の通り、Excelの関数(IF / IFS / SWITCH)と類似の記法・動作になっています。

概要は次の通りです。

#IF

従来の書き方(#if) #IF
#if($cond)

#end
#IF($cond, 'A')
#if($cond)

#else

#end
#IF($cond, 'A', 'B')

#IFS

従来の書き方(#if) #IFS
#if($cond1)

#elseif($cond2)

#elseif($cond3)

#end
#IFS([$cond1, 'A', $cond2, 'B', $cond3, 'C'])
#if($cond1)

#elseif($cond2)

#elseif($cond3)

#else

#end
#IFS([$cond1, 'A', $cond2, 'B', $cond3, 'C'], 'D')

#SWITCH

従来の書き方(#if) #SWITCH
#if($val == 1)

#elseif($val == 2)

#elseif($val == 3)

#else

#end
#SWITCH($val, [1, 'A', 2, 'B', 3, 'C'], 'D')

詳細はDocurainのマニュアル 帳票作成マニュアル(条件分岐支援) をご参照ください。

実際に使うとこんな感じです。

https://s3.ap-northeast-1.amazonaws.com/site.docurain.jp/blog/2020/09/スクリーンショット-2020-09-09-12.41.02.png

このようにセル内がスッキリして、テンプレートが読みやすくなりました。

帳票はただでさえ複雑な物が多いですし...

テンプレートは最大限単純にしておきたいものです!

他にも様々な機能がありますので、ぜひアカウント無料登録してマニュアルを参照しお試しください。