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

【第414回】 Marketing Cloud Next : よく利用する「数式項目」Tips

    Nobuyuki Watanabe

    Marketing Cloud Next Growth & Advanced Edition を利用する際に、知っておくと便利な「数式項目」の Tips がいくつかあります。
    今回は、実務でよく使う代表的なポイントを紹介します。

    ① ブーリアン項目をテキスト型として扱う

    ブーリアン型や URL 型など、一部のデータ型は Marketing Cloud Next の コンテンツ機能(CMS ワークスペース上)では非対応 となっており、項目をデータグラフで連携していても、画面上に表示されず利用できないケースがあります。

    • 差し込み項目

    • 「式」コンポーネント

    • 「繰り返し」コンポーネント など

    ※ セグメントやデータグラフは Data Cloud の機能なので、利用可能です。また、フローにおいても問題なく利用できます。

    そのような場合は、「テキスト型」に数式変換して扱う のが基本的な対処方法です。

    具体的には、新規の数式項目で「テキスト型」と設定し、該当項目を属性情報から呼び出して そのまま保存 します。

    画像

    その後、呼応するテキスト型の項目を DMO に作成してマッピングしてください。これだけで、ブーリアン型の項目をテキスト型として利用できるようになります。

    利用時は true / false を指定すれば問題ありませんが、
    大文字・小文字は区別されるため、DMO 側でどの形式で格納されているかには注意してください。

    画像
    CRM から連携されるブーリアンの場合、すべて小文字の true です。

    ② 数値型の小数点以下を切り捨てる

    数値型のデータは仕様上、たとえば「2400」という数値であっても、
    コンテンツでは 「2400.0」 と表示されます。

    画像

    これは残念ながら変更できない挙動ですが、価格など表示用途として違和感がある場合は、① と同じように「テキスト」型として数式項目の設定を開始し、次のような数式を利用します。※ Price 部分を一括置換してください。

    IF(
      LEN(sourceField['Price']) <= 3,
      sourceField['Price'],
    
      IF(
        LEN(sourceField['Price']) <= 6,
        LEFT(sourceField['Price'], LEN(sourceField['Price']) - 3)
        + ',' +
        RIGHT(sourceField['Price'], 3),
    
        IF(
          LEN(sourceField['Price']) <= 9,
          LEFT(sourceField['Price'], LEN(sourceField['Price']) - 6)
          + ',' +
          RIGHT(LEFT(sourceField['Price'], LEN(sourceField['Price']) - 3), 3)
          + ',' +
          RIGHT(sourceField['Price'], 3),
          LEFT(sourceField['Price'], LEN(sourceField['Price']) - 9)
          + ',' +
          RIGHT(LEFT(sourceField['Price'], LEN(sourceField['Price']) - 6), 3)
          + ',' +
          RIGHT(LEFT(sourceField['Price'], LEN(sourceField['Price']) - 3), 3)
          + ',' +
          RIGHT(sourceField['Price'], 3)
        )
      )
    )

    ※ この数式では、最大で 9999 億までの桁区切り表示に対応できます。

    画像

    もし 桁区切りが不要な場合は、以下のようにシンプルに切り捨てるだけでも問題ありません。こちらもテキスト型で数式項目を設定してください。

    ROUND(sourceField['Price'])

    ③ 表示用に日時データを補正する

    日時データをコンテンツに表示する場合、
    事前にフォーマットやタイムゾーンを考慮した補正を行うことができます。

    たとえば、日本時間(JST)で「〇年〇月〇日 〇時〇分」と表示したい場合は、テキスト型で設定して、次のように記述します。

    FORMATDATE(
      DATEADD('h', 9, sourceField['LastModifiedate']),
      'yyyy年M月d日 H時m分'
    )
    画像

    TIPS:CRM の日時データは UTC で保持されているため、タイムゾーン変換を行わないと、日本では 9 時間前の時刻が表示されます。
    このタイムゾーン変換の考え方については、以下の記事をご確認ください。

    たとえば、CRM 側で以下のようなデータを持っている場合は、

    画像

    Data Cloud 側に日時データが連携されると、UTC でデータが保持されますので、9 時間前でデータが保持されます。よって、それをそのまま活用してしまうと、上の時刻での表示になってしまいます。そこで 9 時間をプラスする補正が必要になるわけですね。
    ※下側の数式項目で作成した方の表示が CRM のデータと一致していることが分かります。

    画像

    注意点:
    Marketing Cloud Engagement 側の Date 型(※実質 Datetime 扱い)データを Marketing Cloud Next のコンテンツで表示する場合は注意が必要です。
    - MCE のシステム時間:CST(※ JST - 15 時間)
    - Data Cloud / MC Next のシステム時間:UTC(※ JST - 9 時間)
    この 6 時間の差分を考慮し、次のように補正します。
    ※この補正がない場合は、6 時間プラスされて表示されます。

    FORMATDATE(
      DATEADD('h', -6, sourceField['LastModifiedate']),
      'yyyy年M月d日 H時m分'
    )

    いかがでしたでしょうか。

    今回紹介した内容は、Marketing Cloud Next における
    「数式項目」の Tips として、特に利用頻度の高いものだと思います。

    また重要なものがあれば、随時追加していきたいと思います。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

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

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