私は基本的に次のようなデータベースに取り組んでいます(最も単純な形式で):
{フェーズ}{コード}{数量}
例:
{Phase}="R"および{Code}="Nat"=0の場合は{Qty}
{Phase}="F"および{Code}="Nat"=5の場合は{Qty}
{Phase}="R"および{Code}="Int"=10の場合は{Qty}
{Phase}="F"および{Code}="Int"=15の場合は{Qty}
フェーズ「R」の数量とコード「Nat」(Rは<> 0)を表示する結果を取得しようとしています。それ以外の場合は、フェーズ「F」の数量を取得します。したがって、上記の例では、Natに対して回答= 5(フェーズRの数量が0であるため)、コードがIntである場合(フェーズRの数量が<> 0であるため)10の回答が得られます。
これを行うために、3つの数式フィールドを使用しました。
1:if({PHASE} = "F" and {CODE} = "NAT")then {QTY} else 0
2:if({PHASE} = "R" and {Code} = "NAT")then {QTY} else 0
3:{2} = 0の場合、{1}それ以外の場合{2}
数式フィールド1と2は、正しい金額を算出します。ただし、数式フィールド{3}は両方のフェーズを返します。たとえば、コード「Int」フェーズ「R」は、qty=10ではなくqty=25として表示されます。
これを回避するにはどうすればよいですか?