メインコンテンツへスキップ
見出し画像
Photo byinagakijunya

【第54回】 AMPscript を使って数値をパーセント表示させる方法

    Nobuyuki Watanabe

    Salesforce Marketing Cloud の独自関数である AMPscript にもエクセル関数のように計算関連の関数が存在します。事前に SQL を用いた計算済みのフィールドを用意せずとも、メールの生成の過程で数値を計算させて表示させることが可能です。本日は AMPscript で数値をパーセント表示させたい場合の方法をお知らせします。

    %%=FormatNumber(Divide(A,B),"P")=%%

    この場合 FormatNumberという関数を使用します。

    • サンプルの引数 1の Divide(A,B) は、A ÷ B を意味しますので、ここには数字型のフィールドを充ててもらえれば大丈夫です。

    • サンプルの引数 2の "P" は小文字でも問題ないです。パーセントの P を意味します。

    参考までに AMPscript の計算関連の関数は下記のようなものがありますので併せて押さえてください。

    ■ Add
    概要:提供された値の合計(足し算)を返します。
    構文:Add(1, 2)

    Marketing Cloud APIs and SDKs Guides: Add

    ■ Divide
    概要:最初の引数を 2 番目の引数で除算(割り算)した結果を返します。
    構文:Divide(1, 2)

    Marketing Cloud APIs and SDKs Guides: Divide

    ■ FormatCurrency
    概要:指定された文字列を通貨値として書式設定します。指定された形式で使用される小数点以下の桁数が値自体の小数点以下の桁数よりも少なく、残りの数値の合計が 5 以上の場合、この関数は数値を切り上げます。指定された形式で使用される小数点以下の桁数が値自体の小数点以下の桁数よりも少なく、残りの数値の合計が 5 未満の場合、この関数は数値を切り下げます。
    構文:FormatCurrency(1, 2, 3, 4)

    Marketing Cloud APIs and SDKs Guides: 通貨形式

    ■ FormatNumber
    概要:指定された形式で使用される小数点以下の桁数が値自体の小数点以下の桁数よりも少なく、残りの数値が 5 以上の場合、この関数は小数を切り上げます。指定された形式で使用される小数点以下の桁数が値自体の小数点以下の桁数よりも少なく、残りの数値の合計が 5 未満の場合、この関数は小数を切り下げます。-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 の範囲外の整数は、指数表記で出力されます。
    構文:FormatNumber(1, 2, 3)

    有効なフォーマット タイプ値
    C - 通貨
    D - 10 進数
    E - 指数
    F - 固定小数点
    G - 一般
    N - 番号
    P - パーセント
    R - ラウンドトリップ (形式により、文字列に解析された値を解析して数値に戻すことができます)
    X - 16 進数

    Marketing Cloud APIs and SDKs Guides: 数値形式

    ■ Mod
    概要:最初の数値を 2 番目の数値で除算(割り算)した後の余りを返します。
    構文:Mod(1, 2)

    Marketing Cloud APIs and SDKs Guides: Mod

    ■ Multiply
    概要:2 つの数値を乗算(掛け算)した結果を返します。
    構文:Multiply(1, 2)

    Marketing Cloud APIs and SDKs Guides: Multiply

    ■ Random
    概要:指定した値の間 (両端を含む) のランダムな整数を返します。
    構文:Random(1, 2)

    Marketing Cloud APIs and SDKs Guides: Random

    ■ Subtract
    概要:2 つの整数の差分(引き算)を返します。
    構文:Subtract(1, 2)

    Marketing Cloud APIs and SDKs Guides: Subtract

    先ほど「事前に SQL を用いた計算済みのフィールドを用意せずとも、メールの生成の過程で数値を計算させて表示させることが可能です。」と書きましたが、事前にフィールドを用意した方が、メール送信のパフォーマンスが上がるということはご想像の通りです。表示に必要な情報は、事前に準備するのがベストプラクティスになりますので、その点はご承知ください。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。