Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

IIF

指定された論理式の値に応じて、2 つの値のいずれかを返します。

返りタイプ

この関数は、使用する引数、および論理式の値に応じて、数値または文字列を返します。

構文および詳細

IIF(check_expression, expression1, expression2)
  • expression1 および expression2 は、数値式または 文字列式です。これらは、同じタイプである必要はありません。

    DeepSee MDX では、他のタイプの引数はサポートされていません。

    NULL 値と比較するには、代わりに ISNULL 関数を使用します。

  • check_expression論理式で、通常はメジャーまたはプロパティを定数と比較します。

check_expression が True の場合、この関数は、expression1 で指定された値を返します。True でない場合は、expression2 で指定された値を返します。

以下はその例です。

SELECT IIF(MEASURES.[%COUNT]<500, "fewer than 500", "500 or more") ON 0, diagd.MEMBERS ON 1 FROM patients

                                       IIF
1 None                          500 or more
2 asthma                        500 or more
3 CHD                        fewer than 500
4 diabetes                      500 or more
5 osteoporosis               fewer than 500

バリエーションとして、以下のクエリは、%LABEL を使用して、データ列に適切なキャプションを適用します。

SELECT %LABEL(IIF(MEASURES.[%COUNT]<500, "fewer than 500", "500 or more"),"Patient Count") ON 0, 
diagd.MEMBERS ON 1 FROM patients

                             Patient Count
1 None                          500 or more
2 asthma                        500 or more
3 CHD                        fewer than 500
4 diabetes                      500 or more
5 osteoporosis               fewer than 500

別の例として、以下のクエリは、プロパティの値を使用しています。

SELECT %LABEL(IIF(homed.h1.CURRENTMEMBER.PROPERTIES("Population")>20000,"big","small"),
"Town Size") ON 0, 
homed.city.MEMBERS ON 1 FROM patients
                                 Town Size
1 Cedar Falls                           big
2 Centerville                           big
3 Cypress                             small
4 Elm Heights                           big
5 Juniper                             small
6 Magnolia                            small
7 Pine                                small
8 Redwood                               big
9 Spruce                              small

以下の例は、メンバの名前を検証し、メジャーの表示を条件付きで抑制します。

WITH MEMBER MEASURES.iif AS 'IIF(homed.CURRENTMEMBER.PROPERTIES("name")="Pine"," ",
MEASURES.[%COUNT])' SELECT MEASURES.iif ON 0, homed.city.MEMBERS ON 1 FROM patients
 
                                       iif
1 Cedar Falls                         1,120
2 Centerville                         1,106
3 Cypress                             1,139
4 Elm Heights                         1,078
5 Juniper                             1,109
6 Magnolia                            1,122
7 Pine
8 Redwood                             1,128
9 Spruce                              1,108

関連項目

FeedbackOpens in a new tab