プログラムフロー関数は、条件に応じた値を返すなど制御フローを変更するために使用します。
リストから指定した位置にある値を返します。最初の引数をインデックスとして使用し、後続の引数の1つを返します。 たとえば、Choose(1,"a","b")は文字列 「a」を返します。
構文
Choose(index
, Value1
[, Value2
,...[, ValueN
]])
引数
index
:返される値の1から始まる位置です。
Value1
、ValueN
:値を返すリストです。 例:
次の式を使用して、DataToDisplayパラメータ値に基づいて指定した文字列を返すことができます。DataToDisplayパラメータ値が「1」である場合、返される値は「Current Year」です。
Choose(@DataToDisplay, "Current Year", "Actual-Prior Year")
指定された数値を含む、指定された間隔に基づいて計算された範囲を表す文字列(形式 x:y)を返します。
構文
Partition(number
, start
, end
, interval
)
引数
number
:範囲に対して評価する数値です。
start
:数値の全体範囲の開始値です。0より小さい値は指定できません。
end
:数値の全体的な範囲の最後の数値です。start以下の値をこのパラメーターに指定できません。
interval
:1つの範囲と次の範囲の差である数値です。数値は1未満に設定できます。 例:
次の式を使用して、年齢フィールドの値に基づいて範囲を表す文字列が返されます。年齢が「33」の場合に変える値は「30: 39」です。
Partition(年齢, 0, 100, 10)
式の評価結果によって、2つの値のうちのどちらか1つを返します。最初のパラメーターの結果のブール値(True/False)に応じて、2番目または3番目のパラメーターの値を返します。
構文
Choose(expression
, trueReturn
, falseReturn
)
引数
expression
:評価する式です。
trueReturn
:expressionがTrueの場合に返される値です。
falseReturn
:expressionがFalseの場合に返される値です。 例:
次の式を使用して、SalesAmountフィールド値に基づいてテキストの色を返すことができます。
{IIF(SalesAmount >= 1000, "Green", "Red")}
式のリストを評価し、最初に一致する値に対応する結果を返します。
構文
Switch(Expression1
, Value1
[, Expression2
, Value2
,...[, ExpressionN
, ValueN
]])
引数
Expression1
...ExpressionN
:評価する式です。
Value1
...ValueN
:式に関連付けられた値です。 例:
次の式を使用して、ChannelKeyフィールドに基づいて販売チャネル名を返すことができます。
{Switch(ChannelKey = 1, "Store", ChannelKey = 2, "Online", ChannelKey = 3, "Catalog", ChannelKey = 4, "Reseller")}
さまざまな期間を返すために使用する式です。ユーザーが選択したパラメータ値に応じて異なる日付が返されます。選択するパラメータの値と返す開始日は次の通りです。
コードのコピー | |
---|---|
Switch( @period=0,Today() ,@period=1,DateAdd("d",1-weekday(Today(),2),Today()) ,@period=2,DateValue(Year(Today()) + "-" + Month(Today()) + "-01") ,@period=3,DateValue(Year(Today()) + "-" + Switch( Month(Today())<4,1, Month(Today())<7, 4, Month(Today())<10, 7, Month(Today())>=10, 10) + "-01") ,@period=4,DateValue(Year(Today()) + "-" + Switch( Month(Today())<7,1, Month(Today())>=7, 7) + "-01") ,@period=5,DateValue(Year(Today()) + "-01-01") ).ToString("yyyy-MM-dd") |
例1:
レポートの外観の条件付き書式設定のために使用できます。TextBoxコントロールの[背景色]プロパティの式が「{IIF(金額 > 200000, "Green", "White")}」である場合、金額が200,000を超えると背景色が緑色で表示されるという動作を実現します。
例2:
IIF関数と一緒にIsNothing関数を使用し、パラメータが入力されたかどうかを判定できます。
{IIF(IsNothing(@p1), "パラメータ値が入力されていません。", @p1)}
パラメーターが入力されていない場合、レポートの内容に「パラメーター値が入力されていません」と表示されます。パラメータを入力すると、レポートの内容にパラメータ値の値が表示されます。
詳細については、検査のIsNothing関数の使用例を参照してください。