文字列とフォーマット
変換では、表示名、参照番号、メッセージ本文、またはレポートの行など、データから文字列を作成する必要があることがよくあります。 WELにはそのためのf-stringがあり、通常は連結よりも適切な選択肢です。
_ は、これらの例で式が受け取る入力です。詳細については、入力変数を参照してください。
機能の提供状況
WELは現在、一部のお客様にご利用いただけます。ご利用のワークスペースで利用可能かどうかを確認するには、Customer Success Representativeにお問い合わせください。
文字列リテラル
一重引用符と二重引用符は同等です。
| Formula | 結果 |
|---|---|
'single quotes' | single quotes |
"double quotes" | double quotes |
エスケープを避けられる方を選択します。アポストロフィを含む文字列は、二重引用符を使うと最も簡単です:
"O'Brien"文字列はUTF-8であり、lengthはバイト数ではなくコードポイントをカウントします。 WELがテキストをカウントして保存する方法については、データ型を参照してください。
f-stringによる補間
文字列の先頭にfを付けると、その中の{...}が評価され、挿入されます。
| Formula | 結果 |
|---|---|
f"Order {upper('so-1')} total {1 + 2}" | Order SO-1 total 3 |
値を生成するものはすべて、フィールド、関数呼び出し、算術演算、またはパイプライン全体を含め、中かっこの中に入れることができます:
f"{capitalize(_.first_name)} {capitalize(_.last_name)} <{lower(trim(_.email))}>"++よりf-stringを優先する
++では両側の型が一致している必要があるため、混在したデータから作成するメッセージでは、まずすべての要素を変換する必要があります:
'Order ' ++ String(_.id) ++ ' has ' ++ String(_.count) ++ ' items'f-stringは補間時に変換を行い、結果は生成される文のように読み取れます:
f"Order {_.id} has {_.count} items"2つの文字列、または2つのリストを意図的に結合する場合は、++を使用します。
フォーマット仕様
中かっこの中のコロン(:)はフォーマット仕様を追加し、幅、配置、精度を制御します。
| Formula | 結果 |
|---|---|
f"{3.14159:.2f}" | 3.14 |
f"{42:05d}" | 00042 |
f"{'nur':>10}" | nur |
次の表に一般的な形式を示します:
| 仕様 | 効果 |
|---|---|
.Nf | 小数点以下N桁の固定小数点 |
0Nd | 先頭にゼロを付けてN桁にパディングされた整数 |
>N | 幅Nのフィールドで右揃え |
<N | 幅Nのフィールドで左揃え |
^N | 幅Nのフィールドで中央揃え |
無効な仕様は解析時にE016を発生させるため、不正な形式は式が実行される前に検出されます。
フォーマットは丸めではありません
f"{_.total:.2f}"は小数点以下2桁のテキストを生成します。基になる値は丸められず、結果はStringであるため、その後の算術演算には対応していません。
丸めた値を後続の算術演算で使用できるようにするには、まずround_placesで丸めてから、結果をフォーマットします。
パディングと配置
フォーマット仕様でほとんどのケースに対応できます。テンプレート内ではなく値にパディングを適用する場合は、lpadおよびrpadを使用します:
lpad(String(_.line_no), 5, '0')ASCII以外のテキストを含む固定幅出力には、代わりにgrapheme_lpadおよびgrapheme_rpadを使用します。これにより、バイトカウンターではなく読み手にとって列が揃うようになります。
ロケール対応フォーマット
人が読む数値、通貨、日付は、手書きのパターンではなくロケールを通して処理する必要があります:
f"{_.customer_name}: {to_local_currency(_.total)}"to_local_currencyとto_local_stringは、Transform Dataアクションで設定されたdata-planeロケールを使用するため、別のリージョン向けに設定されたレシピでも同じ式が正しく機能します。フォーマット関数およびTransform dataアクションを参照してください。
エスケープ
文字列をURL、CSVフィールド、クエリ、HTMLなどの別の形式に入れる場合は、値を挿入するときにエスケープします:
f"SELECT Id FROM Account WHERE Name = '{escape_for_soql(_.name)}'"引用符はクエリ構文の一部です。その間の値だけをエスケープします。値を他の形式に安全にエスケープする方法については、エスケープ関数を参照してください。
関連情報
最終更新日: