Mark Hammer's blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

カスタム表示ラベルを使って各国の新年の挨拶を表示する数式項目を作ろう

2020年、あけましておめでとうございます。
本年もよろしくお願いいたします。

今年最初の投稿は、タイトルの通り「Salesforceのカスタム表示ラベルを使って、1/1に各国の新年の挨拶を表示する数式項目を作ろう」です。
きっかけはこのTweetです。

ということで、さっそく作ってみましょう。

準備

トランスレーションワークベンチの有効化

翻訳機能を初めて使う場合は、ユーザインターフェース|トランスレーションワークベンチ|翻訳 をクリックし、右画面の [有効化] をクリックします。

f:id:mark-hammer:20200101021057p:plain

翻訳設定で使用する言語を追加する

ユーザインターフェース|トランスレーションワークベンチ|翻訳設定 をクリックし、翻訳対象の言語を追加します。
このとき、翻訳者の指定を忘れないようにしてください。

f:id:mark-hammer:20200101021329p:plain

カスタム表示ラベルの設定

カスタム表示ラベルの作成

ユーザインターフェース|カスタム表示ラベル をクリックし、[新規カスタム表示ラベル] から日本語の新年の挨拶をカスタム表示ラベルとして作成します。

f:id:mark-hammer:20200101022139p:plain

カスタム表示ラベルの翻訳

カスタム表示ラベルの [翻訳] 観連リストから、各国の新年の挨拶を登録します。
今回は以下のサイトを参考にしました。

joho.st

f:id:mark-hammer:20200101022459p:plain
例:ドイツ語

最終的には以下のようにします。

f:id:mark-hammer:20200101022957p:plain

新年の挨拶を表示する数式を作成

カスタム表示ラベルを使用し、テキスト数式項目を作成します。
数式は以下のようになります。*1

なお、カスタム表示ラベルを使いたい場合は [高度な数式] タブの [項目の挿入] にて、 [$Label] を選択すると右側に使用できるカスタム表示ラベルが表示されますので、対象表示ラベルを選んで [挿入] をクリックすると使えます。

IF(MONTH(TODAY())=1 && DAY(TODAY())=1, $Label.NewYear_Greeting, '')

f:id:mark-hammer:20200101023144p:plain
数式設定画面

結果

ユーザの言語を切り替えるごとに、「新年の挨拶」項目の表示を切り替えることができました。

f:id:mark-hammer:20200101024112p:plain
各国の新年の挨拶

なお、翻訳がない言語は日本語の新年の挨拶が表示されます。

f:id:mark-hammer:20200101024216p:plain
翻訳がない場合(画像は中国語表示)

おわりに

普段は単一言語(日本語)環境しか使わないので翻訳機能は使わないのですが、今回カスタム表示ラベル&翻訳を使ってみて、複数言語を表示する必要がある環境では便利だな、と感じました。
この投稿が皆様の参考になれば幸いです。

また、2020年が皆様にとって良い年となりますよう祈念いたします。

*1: $Label.NewYear_Greeting は今回作成したカスタム表示ラベルです

Salesforce Tips: Chatterで招待したメールアドレスの一覧を知りたい

Chatterには、Salesforce ライセンスを持たないユーザでも使用できるようユーザを招待する機能があります。
わざわざ有償ライセンスを割り当てなくても、Chatterでやり取りができるようになる便利な機能ですが、招待したユーザの一覧を見る機能はありません。
そのため、「いつ、だれを招待したか」、「招待した人のうちだれが参加していないのか」がSalesforce画面を見るだけでは分からない、という問題があります。

Chatterで招待したメールアドレスの一覧を見るには

Chatterで招待したメールアドレス、及び誰が招待したかの情報は、Chatter 招待(CollaborationInvitation)オブジェクトに格納されています。
つまり、Chatter 招待(CollaborationInvitation)オブジェクトをデータローダでエクスポートすることで、「いつ、だれを招待したか」、「招待したユーザのうちだれが参加していないのか」が分かるようになります。*1

Chatter 招待(CollaborationInvitation)オブジェクトにある項目のうち、特に有用と思われる項目は以下です。

  • INVITEDUSEREMAIL:招待した人のメールアドレス
  • INVITERID:招待したユーザのID
  • CREATEDDATE:招待した日時(UTC表記)
  • SHAREDENTITYID
    • 「顧客を招待」の場合、招待したChatterグループのID
    • 「同僚を招待」の場合、招待したユーザのID
  • STATUS:招待後の状況
    • Sent:招待を送ったが、参加していない
    • Accepted:参加している
    • Canceled:招待を送った後にキャンセルした(後述)

おまけ:Chatterの招待をキャンセルする方法

先述の通り、Salesforceの画面からは「いつ、だれを招待したか」、「招待した人のうちだれが参加していないのか」を知ることができません。
招待した人の一覧が画面で確認できないため、招待を送った後に「メールアドレスを間違えて他人に送ってしまった」となっても、画面上からキャンセルをすることができません。
しかしながら、Chatter 招待(CollaborationInvitation)オブジェクトのSTATUS項目には、「Canceled」という値があります。

実は、Chatter 招待(CollaborationInvitation)オブジェクトはデータローダからDeleteをすることができます。
そして、Delete実行後に対象レコードのStatusは「Canceled」に変わります。
もちろん、Statusが「Canceled」に変わった招待のメールに書かれたURLからは、ユーザ登録ができないようになっています。

Chatter招待キャンセル後に招待用URLにアクセスした画面

おわりに

今回はChatterで招待したメールアドレスの一覧取得、及びChatter招待のキャンセル方法を記載しました。
試していませんが、Chatter 招待(CollaborationInvitation)オブジェクトからデータ取得し、選択したレコードに対しdelete()コールを発行できる画面を作成できれば、キャンセル機能付きのChatterで招待したメールアドレスの一覧画面をカスタムで作成することは可能だと思います。

この投稿が何らかのお役に立つことができれば幸いです。

*1:ウィークリーエクスポートではエクスポートできません。

Trailhead モジュール:Einstein Analytics のデスクトップ探索

※この内容は2019/12時点のものです。

データエクスプローラになるには

https://trailhead.salesforce.com/ja/content/learn/modules/wave_desktop_exploration/wave_becoming_a_data_explorer

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

以下内容で、新規レンズを作成してください。

  • データセット:DTC Opportunity
  • グラフ:積み上げ横棒
  • 横棒:Industry
  • 棒区分:Product Name
  • 棒の長さ:Amount 合計:
  • ソート:降順に並び替え
  • 条件:
    • Product Family|次の文字列と一致する|Laptops
    • Won|次の文字列と一致する|true
  • タイトル:Top Laptop Industry
  • アプリケーション:My Exploration

※筆者注: 設定を正しく実施しても The 'Top Laptop Industry' lens does not appear to have the correct query. Please check the requirements and ensure everything is setup correctly. というエラーが発生する場合は、作成したレンズを削除し、再度 Trailheadに記載された順番の通り 設定を実施してください。
(参考URL: https://developer.salesforce.com/forums/?id=9060G000000BcUBQA0

データの時系列分析

https://trailhead.salesforce.com/ja/content/learn/modules/wave_desktop_exploration/wave_analysis_over_time

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

以下内容で、新規レンズを作成してください。

  • グラフ:スケジュール
  • 時間軸:Close Date(年 - 月)
  • Y軸:# 合計:
  • 線:Forecast Category
  • 条件:
    • Closed|次の文字列と一致する|false
  • タイトル:Sales Pipeline Overview
  • アプリケーション:My Exploration

比較テーブルを使用した計算

https://trailhead.salesforce.com/ja/content/learn/modules/wave_desktop_exploration/wave_calculating_with_the_compare_table

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Einstein Analytics の基本

※この内容は2019/12時点のものです。

Einstein Analytics の探索開始

https://trailhead.salesforce.com/ja/content/learn/modules/wave_analytics_basics/wave_start_surfing_the_wave

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Developer Edition 組織で Einstein Analytics を試す」節の手順通りに組織のログイン、Trailheadへの接続を完了してください。
  • 「Challengeを確認して500ポイントを獲得」ボタンをクリックする前に、Einstein Analyticsが有効なDeveloper Edition 組織が選択されていることを確認してください。

Einstein Analytics ホームを知る

https://trailhead.salesforce.com/ja/content/learn/modules/wave_analytics_basics/wave_get_ready_for_trail

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Einstein Analytics ダッシュボードのナビゲーション

※この内容は2019/12時点のものです。

Analytics ダッシュボードの使用開始

https://trailhead.salesforce.com/ja/content/learn/modules/wave_exploration_dashboard_navigation/wave_work_the_dashboard

  • 説明:日本語
  • Challenge:日本語選択問題

分析のカスタマイズ

https://trailhead.salesforce.com/ja/content/learn/modules/wave_exploration_dashboard_navigation/wave_personalize_your_analytics

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

以下の条件に沿った通知を作成し、保存してください。

  • ダッシュボード名:Opportunity Details
  • ウィジェット名:Lost Opportunities
  • 通知名:Lost Opportunities
  • 通知するタイミング:Amount 合計:|次の値以上|100000000
  • 初めて条件に一致したときのみに通知:チェックを入れる

Analytics によるコラボレーション

https://trailhead.salesforce.com/ja/content/learn/modules/wave_exploration_dashboard_navigation/wave_collaborate_the_wave_analytics_wave

  • 説明:日本語
  • Challenge:日本語選択問題

Trailhead モジュール:Contract Amendments with Salesforce CPQ

※この内容は2019/12時点のものです。

Get Started with Salesforce CPQ Amendments

https://trailhead.salesforce.com/ja/content/learn/modules/contract-amendments-with-salesforce-cpq/get-started-with-salesforce-cpq-amendments

  • 説明:英語
  • Challenge:英語ハンズオン

【Challenge要約】

「Sign Up for a Developer Edition Org with Salesforce CPQ」節の手順に従って、CPQが有効化されたDeveloper Edition組織をTrailheadに接続してください。

Change an Existing Contract

https://trailhead.salesforce.com/ja/content/learn/modules/contract-amendments-with-salesforce-cpq/change-an-existing-contract

  • 説明:英語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 契約番号が「00000101」の契約レコードで「修正」をクリックし、以下の通り設定してください。
    • 商品「Productivity Suite」の数量:10
    • 商品「Cloud Storage 1GB」の数量:10
    • 開始日:来月の1日(この項目はチェックしません)
  • 注文レコードを生成するために、見積レコードを以下の通り編集して、保存してください。
    • 「注文」項目:チェックを入れる
  • 作成された注文レコードを有効化してください。
  • 契約レコードを更新するために、作成された注文レコードを以下の通り編集して、保存してください。
    • 「契約済み」項目:チェックを入れる

Discover More Ways to Amend Contracts

https://trailhead.salesforce.com/ja/content/learn/modules/contract-amendments-with-salesforce-cpq/discover-more-ways-to-amend-contracts

  • 説明:英語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 契約オブジェクトに、以下の通りカスタム項目を作成してください。
    • データ型:数式
    • 項目の表示ラベル:Original Owner
    • API参照名:Original_Owner
    • 数式の戻り値のデータ型:テキスト
    • 数式:SBQQ__Opportunity__r.Owner.Email
  • 「Active Contract Lookup」項目セットに、「Original Owner」項目を追加して、保存してください。
    • 注:「Original Owner」項目の位置はどこでもよいです。
  • 取引先「Grand Hotels & Resorts Ltd」の修正商談を以下の通り作成し、保存してください。
    • 商談名:More softphone licenses
    • フェーズ:Proposal/Price Quote
    • 注:別のタブかウィンドウでSalesforce CPQアプリケーションを開いていない場合は、アプリランチャーを使用してSalesforce CPQアプリケーションに戻り、この取引先を見つけることができます。
  • 「More softphone licenses」商談レコードで「契約の修正」ボタンをクリックし、以下の通り設定し、保存してください。
    • 商品コード「SOFTPHONE」の数量:24
    • 開始日:来月の1日(この項目はチェックしません)

Learn About Pricing and Bundling Considerations

https://trailhead.salesforce.com/ja/content/learn/modules/contract-amendments-with-salesforce-cpq/learn-about-pricing-and-bundling-considerations

  • 説明:英語
  • Challenge:英語選択問題

Explore Significant Date Fields and Multidimensional Quoting

https://trailhead.salesforce.com/ja/content/learn/modules/contract-amendments-with-salesforce-cpq/explore-significant-date-fields-and-multidimensional-quoting

  • 説明:英語
  • Challenge:英語選択問題

Trailhead モジュール:Platform デベロッパー資格の更新 (Winter '20)

※この内容は2019/12時点のものです。

Winter '20 の Platform デベロッパー向けの新機能の学習

https://trailhead.salesforce.com/ja/content/learn/modules/platform-developer-i-certification-maintenance-winter-20/learn-whats-new-for-platform-developers-in-winter-20

  • 説明:日本語
  • Challenge:日本語選択問題

Lightning Web コンポーネントのカスタムタブ作成のハンズオン

https://trailhead.salesforce.com/ja/content/learn/modules/platform-developer-i-certification-maintenance-winter-20/get-handson-creating-custom-tabs-for-lightning-web-components

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

※このChallengeには、Salesforce公式解説があります。
未管理パッケージをインストール済みの場合、「myComponent」Lightning Web Component は設定済みとなり、新規 Lightning コンポーネントタブを作成する準備が完了しています。

  • 新規 Lightning Web Component を以下の通り作成してください。
    • 名前:myComponent
  • 以下の lightning-card を「myComponent」Lightning Web Component に追加してください。
    • Title: Hello
  • 「Hello」 lightning-card に、以下の通り lightning-button を追加してください。(注意:ボタンの slot が “actions” であることを確認してください。)
    • Label: New
  • 「Hello」 lightning-card に、以下の通りフッターの文章を設定してください。
    • テキスト: Footnote
  • 以下内容で新規 Lightning コンポーネントタブを作成してください。
    • Lightning コンポーネント:c:myComponent
    • タブの表示ラベル:Words
    • タブ名:Words
    • タブスタイル:任意

Trailhead モジュール:認定 Einstein Analytics and Discovery 資格の更新 (Winter '20)

※この内容は2019/12時点のものです。

Winter '20 の Einstein Analytics and Discovery の新機能の学習

https://trailhead.salesforce.com/ja/content/learn/modules/einstein-analytics-and-discovery-certification-maintenance-winter-20/learn-whats-new-for-einstein-analytics-in-winter-20

  • 説明:日本語
  • Challenge:日本語選択問題

Salesforce Direct を使ってみる

https://trailhead.salesforce.com/ja/content/learn/modules/einstein-analytics-and-discovery-certification-maintenance-winter-20/get-handson-with-salesforce-direct

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

※このChallengeには、Salesforce公式解説があります。

※筆者注:Challenge前に「Einstein を含む Developer Edition 組織へのサインアップ」節に記載の通りEinstein Analytics 開発組織へのサインアップ、及び Trailhead への接続を実施してください。

  • Analytics Studioで新規ダッシュボードを作成してください。
    • タイトル:Opportunities Analysis
  • Salesforce Directを使用し、商談(Opportunity)オブジェクトからクエリを作成してください。
    • クエリ表示ラベル:OppQuery
    • グラフ:横棒
    • 横棒:Lead Source
    • ソート:降順に並び替え
  • フォーマッティングパネルの条件付き書式で、以下を設定してください。
    • 条件付き書式の適用先:行 計数:
    • 色付け方法:グラデーション

Trailhead モジュール:認定 Platform アプリケーションビルダー資格の更新 (Winter '20)

※この内容は2019/12時点のものです。

Winter '20 のアプリケーションビルダー向けの新機能の学習

https://trailhead.salesforce.com/ja/content/learn/modules/platform-app-builder-certification-maintenance-winter-20/learn-whats-new-for-app-builders-in-winter-20

  • 説明:日本語
  • Challenge:日本語選択問題

デバイスに応じたレコードページコンポーネント表示ルールの設定のハンズオン

https://trailhead.salesforce.com/ja/content/learn/modules/platform-app-builder-certification-maintenance-winter-20/get-handson-with-set-record-page-component-visibility-rules-based-on-device

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

※このChallengeには、Salesforce公式解説があります。

  • 以下内容で新規Lightningページを作成してください。
    • ページタイプ:レコードページ
    • 表示ラベル:Account Page
    • オブジェクト:取引先
    • ページテンプレート:Salesforceのデフォルトページをコピー>デフォルトのアカウントグループビュー
  • 作成したページに「おすすめ」コンポーネントを追加してください。
  • 「おすすめ」コンポーネントに、以下の通りコンポーネントの表示条件を設定してください。
    • 条件種別:詳細
    • 項目:Device > Form Factor
    • 演算子:等号
    • 値:デスクトップ
  • Lightningページを保存し、有効化してください。
  • Lightningページを組織のデフォルトとして割り当ててください。

Trailhead モジュール:認定アドミニストレーター資格の更新 (Winter '20)

※この内容は2019/12時点のものです。

Winter '20 の新機能の学習

https://trailhead.salesforce.com/ja/content/learn/modules/administrator-certification-maintenance-winter-20/learn-whats-new-in-winter-20

  • 説明:日本語
  • Challenge:日本語選択問題

コンプライアンス分類の記録のハンズオン

https://trailhead.salesforce.com/ja/content/learn/modules/administrator-certification-maintenance-winter-20/get-handson-with-record-compliance-categorization

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

※このChallengeには、Salesforce公式解説があります。

取引先責任者オブジェクトの以下の項目に、指定されたコンプライアンス分類を設定してください。

  • メール
    • コンプライアンス分類:GDPR
  • 電話
    • コンプライアンス分類:PII
  • 誕生日
    • コンプライアンス分類:HIPAA