Skip to main content

変数とルックアップ機能の使用

学習の目的

この単元を完了すると、次のことができるようになります。

  • 変数と、AMPscript で変数を使用する方法を説明する。
  • Lookup() 関数を使用する状況と LookupRows() 関数を使用する状況を識別する。

変数の定義

このモジュールの前半で、AMPscript で変数はデータのプレースホルダーになると説明しました。プレースホルダーとしての機能を確認するために、変数の定義や設定でコードの要素をどのように連携させるのかを見てみましょう。

コード 説明
VAR @cats
プレースホルダーを定義します。
SET @cats = catbreed 
送信可能なデータエクステンションの値を定義します。
SET @cats = "tabby"
特定値またはリテラル値を設定します。
%%=v(@cats)=%%
値を返すためにメールコンテンツで使用するインライン AMPscript です。

ここで、AMPscript を使用するメールのこれらの要素を分解してみましょう。

サンプルコード。コードの各セクションがコールアウトで囲まれています。

1 .AMPscript ブロックのコードの先頭に %%[ を配置し、コードに関するコメントを付ける場合は /**/ を使用して記入します。

2 .VAR @createdname の構造を使用して、メッセージで参照する変数を宣言します。任意の変数名を使用できます。ユーザーの中には、データエクステンションのフィールド名を短くしたり、わかりやすい名前を付けたりすると処理しやすくなるという人もいます。この例では、VAR @memid, @fname, @lname ... を使用しています。各変数は必ずカンマで区切ります。

3 .次に、送信可能なデータエクステンションのフィールド値に応じて変数を割り当てます。この処理は SET @name = ActualFieldName. を使用して行います。これらの変数を設定するときは、2 つ目のステップで宣言した変数と一致させる必要があります。使用するフィールドを定義し終えたら、]%% を配置してブロックを終了します。

次は、いよいよ実際のコンテンツを記述します! 

4 .コードのこのブロックには、コンテンツのこの部分に入力される、データエクステンションのデータが表示されます。%%= v(@fname) =%% コードは、送信可能なデータエクステンションから、SET @fname で識別される FirstName を取り込むインライン AMPscript です。

メモ

データエクステンションのフィールド名にスペースがある場合は、フィールド名を角括弧で囲む必要があります。例: SET @fname = [First Name]

CSS を少し記述して形式を指定し (そしてもちろん、該当するデータエクステンションのデータを取り込む) という作業をすれば、[プレビューとテスト] を使用したときにこのメールに次の値が入力されます。 

メールのドラフト。写真と、名、姓、住所、郵便番号、メンバー設定、プラチナステータスのサンプルデータが表示されています。

素晴らしいですよね?

メモ

コードの検証がうまくいかない場合は、データエクステンションの正確なフィールド名を参照していること、カンマが挿入されていること、コードブロックを終了していることを確認してください。  

ルックアップ関数

AMPscript の一般的な用途は、Lookup()LookupRows() のいずれかを使用して、データエクステンションからデータを取り込むことです。この 2 つの関数は、送信に使用しているものとは別のデータエクステンションから情報を取得する必要のある場合に役立ちます。たとえば、上位購読者をセグメント化したデータエクステンションにキャンペーンを送信するときに、メールで商品データエクステンションを参照して購読者の前回の購入を取得する必要がある場合などです。Lookup() 関数や LookupRows() 関数を使用すると、お察しのとおり、指定したデータエクステンションでデータを検索し、関数に含めた値に基づいてフィールドを返すことができます。では、確認してみましょう。


Lookup()
LookupRows()
説明
あるデータセットの条件をテーブルと照合して、1 つのフィールドのデータを返します。
あるデータセットの条件をテーブルと照合して、いくつかの列に保存されているデータを返します。
サンプルコード
%%= Lookup("LoyaltyLevelDE","LoyaltyLevel","MemberID", @memId)=%%
%%= LookupRows("FlightInfoDE","Flight", Flight,"Seat",Seat Number, "Boarding", BoardingGroup) =%%
ユースケース
購読者レコードのロイヤルティレベルをロイヤルティテーブルと照合して、メールに適切なレベルを表示します。
購読者テーブルの予約確認番号を予約テーブルと照合して、便名、飛行時間、座席番号、搭乗グループを表示します。

友人の誕生日にケーキを焼いているところを想像してみてください。小麦粉だけ、砂糖だけ、卵だけを買うために 3 回もスーパーに出かけることはないでしょう。同様に、LookupRows() を使用すれば 1 回ですべての要素を取得できるのに、Lookup() を使用するのは賢明ではありません。LookupRows() を使用すると効率的に処理して、パフォーマンスを向上させることができます。

習得度チェック

では、これまでに学んだ内容を復習しておきましょう。この習得度チェックは簡単な自己診断テストで、採点されるものではありません。左側の関数を右側の対応する目的にドラッグしてください。全アイテムを結び付けたら、[送信] をクリックして習得度をチェックします。

順調です! 次の単元では、Trailhead シミュレーターを起動して、アプリケーションで AMPscript を使用する練習をします。 

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む