Salesforce活用記事 その他機能

Salesforce: 既存の項目を残しながらテキスト型の項目を数値型の項目へデータ型の変換を行う方法

はじめに

こんにちは。
今回は、既存の項目を残しながらテキスト型の項目を数値型の項目へデータ型の変換を行う方法についてご紹介します。

方法として「数式」を利用することで変換が可能であり、数値型の項目に変換することでその項目を「レポート」でのデータ分析などに使用することが可能となります。

では、設定方法をご紹介していきます。

既存の項目を残しながらテキスト型の項目を数値型の項目へデータ型の変換を行う

1. 事前準備

今回変換を行う項目は、以下のように設定されているものとします。

オブジェクト:「取引先」
項目:
「契約期間」(API参照名:ContractPeriod__c)
データ型:
「テキスト」(「○○カ月」という形式で値が入力されている)

Salesforce上の「契約期間」の表記

2. 数値型の項目に変換する数式項目を作成する

今回は「契約期間」の値の「○○カ月」のうち「○○」部分のみを抽出し、この項目のデータ型を数値に変換する数式項目を「取引先」に作成していきます。

① 数式項目を作成

[設定] > [オブジェクトマネージャー] > [取引先] を選択し、画像①の画面のように[項目とリレーション]を選択、画面右上にある[新規]をクリックします。

画像①

すると画像②のように[カスタム項目の新規作成]画面に移動するので、ステップ1では[数式]を選択し[次へ]をクリックします。次に表示される画像③のステップ2では、任意の[項目の表示ラベル]と[項目名]を入力、[数式の戻り値のデータ型]は[数値]を選択し[次へ]をクリックします。

画像②
画像③

そして、下記画像④のステップ3では数式を設定していきます。以下の数式を入力、[構文を確認]をクリックして数式にエラーがないことを確認し、[次へ]をクリックします。なお、数式の内容についての解説は複雑ですので後述します。

VALUE( LEFT( ContractPeriod__c , FIND( "カ" , ContractPeriod__c ) - 1 ) )
画像④

次に画像⑤のステップ4については特に設定を行わず[次へ]をクリックし、画像⑥のステップ5も同様に[保存]をクリックします。以上で設定は完了です。

画像⑤
画像⑥

② 数式の解説

次に①で設定した以下の数式について解説していきます。なお、数式中のContractPeriod__cは変換元の項目「契約期間」のAPI参照名であり、数式の中にAPI参照名を挿入することでその箇所で「契約期間」の値が使用されます。

VALUE( LEFT( ContractPeriod__c , FIND( "カ" , ContractPeriod__c ) - 1 ) )

上記の数式では3つの関数を使用しており以下のように分解することができます。数式の構造として内側の関数で返された値を1つ外側の関数で使用するので、最も内側にある関数(ここではFIND関数)から順に読み解いていきます。

a. FIND("カ", Contract_period__c)
b. LEFT(Contract_period__c, FIND("ヶ", Contract_period__c) - 1)
c. VALUE(LEFT( ContractPeriod__c , FIND( "カ" , ContractPeriod__c ) - 1 ))

a. FIND("カ", Contract_period__c)

a.のFIND関数では「カ」という文字が「契約期間」の値のどこにあるかを探します。例えば、「契約期間」の値が「12カ月」であれば「カ」は3文字目にあり、この関数は「3」という値を返します。

b. LEFT(Contract_period__c, FIND("カ", Contract_period__c) - 1)

b.のLEFT関数では「契約期間」の値の最初の部分から特定の位置までの文字を取り出します。a.の[FIND]関数によって「カ」は3文字目にあるとわかったので、3から1を引いて、最初の2文字を取り出します。つまり、「12カ月」からは「12」が取り出されます。

c. VALUE(LEFT( ContractPeriod__c , FIND( "カ" , ContractPeriod__c ) - 1 ))

c.のVALUE関数では、a.とb.の結果として取り出された「12」という文字列を数値に変換します。なお、文字列が例えば「十二」など数値以外の形式である場合は返される値は空白値になります。

まとめ

今回設定した数式についてまとめると、FIND関数とLEFT関数によって「契約期間」の値の「○○カ月」のうち「○○」部分のみを抽出し、その抽出結果をVALUE関数によって数値に変換しているということになります。

3. 作成した数式項目を確認する

最後に作成した数式項目が意図したように「契約期間」の値の「○○カ月」のうち「○○」部分のみを抜き出せているかについて、ユーザーの入力パターンを想定して4つのパターンで確認します。なお、数式項目は今回「契約期間(数値)」という名前で作成しています。

① 「契約期間」の値が「1カ月」(月数が1桁)である場合

画像①を見ると「契約期間(数値)」の値は「1」となっており、意図したように変換できています。

画像①

② 「契約期間」の値が「12カ月」(月数が2桁)である場合

画像②を見ると「契約期間(数値)」の値は「12」となっており、意図したように変換できています。

画像②

③ 「契約期間」の値が「123カ月」(月数が3桁)である場合

画像③を見ると「契約期間(数値)」の値は「123」となっており、意図したように変換できています。

画像③

④「契約期間」の値が「一月」(形式が異なる)である場合

画像④を見ると「契約期間(数値)」の値は空白値となっており、異なる形式の値の際には変換されないようになっています。

画像④

まとめ

今回は、既存の項目を残しながらテキスト型の項目を数値型の項目へデータ型の変換を行う方法についてご紹介しました。
数式は、今回ご紹介した数式項目に限らず、Salesforceの様々な機能、例えば入力規則やフローなどで頻繁に使用される重要な機能です。今回紹介した関数だけでなく、Salesforceでは多様な関数が用意されており、これらはデータを使いやすく、見やすく加工する上で非常に重要です。データを効果的に扱うために、これらの関数の活用は欠かせません。

Salesforceに関するお悩みはありませんか?

今回ご紹介した数式をはじめとするSalesforceの機能活用について、

「調べるのに時間がかかる...」
「作ったはいいがバグが起こらないか心配...」
「Salesforceを活用したいけどそこまで手が回らない...」

などお悩み事はありませんか?

Air合同会社ではSalesforceエンジニアを一人雇うほどの業務は無いが、業務を任せたいというお客様へ月 数時間~40時間で柔軟にご利用頂けるSalesforce活用支援サービスを提供しています。
機能の実装や改善のご提案、社内での内製化支援まで、Salesforce認定資格保持者で構成される当社チームが貴社のSalesforceのお悩みを解決いたします。Salesforceをより活用し課題解決を行なっていくための手段としてぜひご検討ください。

Salesforce業務を他社に外注するイメージがわかない…という方に向け、外注する際のメリット・デメリットやSalesforce開発の流れを以下の記事で解説しています。ぜひご覧ください。
Salesforce運用保守を外注するメリット・デメリットとは?
Salesforceのノーコード・ローコード開発の流れを解説!

また、弊社では「サービスについて簡単に知りたい」「Salesforceの使い方について相談したい」などSalesforceに関する無料相談会も随時実施しています。
貴社の課題解決のお力になれるよう、Salesforce認定資格を持つ担当者が心を込めてサポートいたします。まずはお気軽に下記ボタンよりお問い合わせください。

Salesforceオンライン無料相談会​​

Air合同会社では
「サービスについて簡単に知りたい」
「Salesforceの使い方について相談したい」

など、Salesforceのお悩みに関する無料相談会を随時実施しております。

\Salesforce認定資格を持つ担当者が対応!/

無料相談のご予約はこちら ×
  • この記事を書いた人
アバター画像

Suzuki

Salesforceの認定資格「Salesforce認定アドミニストレーター」を保有しています。 IT業務経験ゼロからSalesforceに関する実務に携わってきた経験をもとに、初心者の目線に立って各種機能の活用方法や設定手順をステップバイステップでわかりやすくご紹介します。

-Salesforce活用記事, その他機能
-