【第414回】 Marketing Cloud Next : よく利用する「数式項目」Tips
Marketing Cloud Next Growth & Advanced Edition を利用する際に、知っておくと便利な「数式項目」の Tips がいくつかあります。
今回は、実務でよく使う代表的なポイントを紹介します。
① ブーリアン項目をテキスト型として扱う
ブーリアン型や URL 型など、一部のデータ型は Marketing Cloud Next の コンテンツ機能(CMS ワークスペース上)では非対応 となっており、項目をデータグラフで連携していても、画面上に表示されず利用できないケースがあります。
差し込み項目
「式」コンポーネント
「繰り返し」コンポーネント など
※ セグメントやデータグラフは Data Cloud の機能なので、利用可能です。また、フローにおいても問題なく利用できます。
そのような場合は、「テキスト型」に数式変換して扱う のが基本的な対処方法です。
具体的には、新規の数式項目で「テキスト型」と設定し、該当項目を属性情報から呼び出して そのまま保存 します。

その後、呼応するテキスト型の項目を DMO に作成してマッピングしてください。これだけで、ブーリアン型の項目をテキスト型として利用できるようになります。
利用時は true / false を指定すれば問題ありませんが、
大文字・小文字は区別されるため、DMO 側でどの形式で格納されているかには注意してください。

② 数値型の小数点以下を切り捨てる
数値型のデータは仕様上、たとえば「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 のトップページはこちら
