Skip Navigation
Expand
レポートでのif()関数の使用
Answer ID 7396   |   Last Review Date 01/27/2019

レポートを作成するときに、if()と呼ばれる関数があります。これは何であり、どのように使用しますか。また、使用できるパラメータは何ですか。

環境:

アナリティクス
Oracle B2C Service

解決策:

アナリティクスのif()関数を使用すると、データを比較し、その結果に従ってレポート列に様々なデータを表示できます。この関数は、3つのパラメータをとります。1つ目のパラメータは条件、2つ目のパラメータは条件を満たした場合に表示される内容、3つ目のパラメータは条件を満たさない場合に表示される内容です。2つ目と3つ目のパラメータのデータ・タイプは、同じ(両方とも日付、両方ともテキストなど)にする必要があります。

たとえば、次の関数をレポートの列として含めると、

if(incidents.status_id='SOLVED', incidents.closed, incidents.updated)

現在の行にあるインシデントのステータスが解決済であるかどうかが特定されます。解決済の場合は、インシデントをクローズした日付が表示されます。そうでない場合は、インシデントが最後に更新された日付が表示されます。

指定可能なその他のオプションを次に示します。

演算子

定義

例の説明

=

2つの値がまったく同じです。

if(incidents.status_id='SOLVED', incidents.closed, incidents.updated)

インシデントのステータスが解決済の場合は、インシデントがクローズした日付が表示されます。そうでない場合は、インシデントが最後に更新された時刻が表示されます。

!=または<>

2つの値がまったく同じではありません。

if(incidents.assgn_group_id != 'SALES', incidents.assgn_acct_id, contacts.sales_acct_id)

インシデント割当グループがセールスでない場合は、インシデントに割り当てられたアカウントが表示されます。そうでない場合は、連絡先に割り当てられたセールス・アカウントが表示されます。

>

左辺の値が右辺の値よりも大きいです。

if(count(distinct incidents.i_id) > 5, 'more than five incidents', 'five or less incidents')

この行で個別のインシデントIDの数が5よりも大きくなると、「more than five incidents」と表示されます。そうでない場合は、「five or less incidents」と表示されます。

<

左辺の値が右辺の値よりも小さいです。

if(stats.assists < stats.email_assists, stats.email_assists - stats.assists, stats.assists -stats.email_assists)

Webインシデントの数がEメール・インシデントの数よりも小さい場合は、Eメール・インシデントの数からWebインシデントの数を引いた数が表示されます。そうでない場合は、Webインシデントの数からEメール・インシデントの数を引いた数が表示されます。

>=

左辺の値が右辺の値以上です。

if((date_add(answers.expires, 2, WEEKS, 0)) >= sysdate(), 'Answer expires soon', 'Answer does not expire soon')

アンサーの有効期限日に2週間を加えたものが現在の時刻より後である場合は、「Answer expires soon」と表示されます。そうでない場合は、「Answer does not expire soon」と表示されます。

<=

左辺の値が右辺の値以下です。

if(opportunities.rep_value <= opportunities.cos , 'Do Not Proceed', 'Proceed')

案件の担当者の成約予測額がセールス費用以下である場合は、「Do Not Proceed」と表示されます。そうでない場合は、「Proceed」と表示されます。

BETWEEN

左辺の値が右辺の2つの値の中間です。

if(incidents.updated BETWEEN '2009-11-26 00:00:00' AND '2009-12-01 00:00:00', 'Thanksgiving Update', 'Normal Update')

11月26日の深夜から12月21日の深夜までの間でインシデントが最後に更新された場合は、「Thanksgiving Update」と表示されます。そうでない場合は、「Normal Update」と表示されます。

LIKE

左辺の値に、ワイルドカード文字「%」で区切られた右辺の値が含まれます。

if(contacts.email LIKE '%rightnow.com', 'Internal Contact', orgs.name)

連絡先のEメール・アドレスが「rightnow.com」で終わる場合は、「Internal Contact」と表示されます。そうでない場合は、組織の名前が表示されます。

NOT LIKE

左辺の値には、ワイルドカード文字「%」で区切られた右辺の値が含まれません。

if(incidents.subject NOT LIKE '%darn%', incidents.subject, 'CENSORED')

インシデントの件名に「darn」が含まれていない場合は、インシデントの件名が表示されます。そうでない場合は、「CENSORED」と表示されます。

IS NULL

フィールドに格納されている値が存在しません。

if(incidents.assgn_acct_id IS NULL, incidents.assgn_group_id, incidents.assgn_acct_id)

インシデントに割り当てられたアカウントが存在しない場合は、インシデントに割り当てられたグループが表示されます。それ以外の場合は、アカウントが表示されます。

IS NOT NULL

フィールドに格納されている値が存在します。

if(incidents.closed IS NOT NULL, incidents.closed, incidents.created)

インシデントのクローズ日のフィールドに値が格納されている場合は、インシデントがクローズした日付が表示されます。そうでない場合は、作成された日付が表示されます。

IN

左辺の値が右辺の値のいずれかに一致します。

if(incidents.status_id IN ('WAITING', 'SOLVED'), 'No Update Required','Update Required')

インシデントのステータスが待機中または解決済である場合は、「No Update Required」と表示されます。そうでない場合は、「Update Required」と表示されます。

Available Languages for this Answer:

Notify Me
The page will refresh upon submission. Any pending input will be lost.