先週のチャレンジの解答は こちらで見つけることができます。
先週私たちはInternational Bank of Awesome Data(IBAD)でレッスンを学びました。データが標準化されておらず、クリーンでない場合、データは素晴らしいもの(Awesome)とは言えません。データが標準化されたので、残りの外れ値である [Amount] フィールドに取り組む必要があります。
IBADは非常に有名な国際銀行であるため、ドル、ペソ、ユーロ、フラン、ポンド、円、クナ、クロナ、モノポリーのお金など、あらゆる形態の通貨を受け入れます。 本社に報告する金額に数値形式を適用する場合は、さまざまな基準があります。記号や通貨コードを使用して通貨の種類を示すもの、左ではなく右に負の記号を付けるもの、小数のインジケーターにピリオドの代わりにコンマを使用するものなどがあります。さらに、これらの銀行は顧客の残高を顧客の現地通貨で報告します(銀行の現地通貨ではなく)そのため、すべての金額を同じ通貨(レポートの目的でUSD)に変換する必要があります。
チャレンジ:
何度も同じ工程(数値形式のクリーンアップとUSDへの変換)を実行する必要があるため、これらの手順を実行する標準マクロ、Number Formatter マクロを作成するように依頼されました。それらはすべての形状とサイズで提供されるため、Number Formatter マクロは、さまざまな異なる数値フォーマットシナリオを処理するのに十分な柔軟性を備えている必要があります。
選択した任意の金額のフィールドに対してマクロが実行するべきこと:
ステップ1:ドル記号やその他の数字以外の文字(文字、小数/カンマ以外の記号、スペース)を削除しましょう。
ステップ2:[Debit/Credit]フィールドに基づいて、[Amount]フィールドに負の符号がまだない場合は、マイナス記号を適用してください(数値の左側にあることを確認してください)。
ステップ3 通貨ルックアップリストを使用して現在の米ドルへの換算レートを検索し、[USD Exchange Rate(米ドルの為替レート)]フィールドと[Decimal Indicator(小数のインジケーター)]フィールドの両方を含めてください。
ステップ4:[Decimal Indicator(10進標識)]フィールドがコンマの場合、10進標識がすべてのレコードのピリオドになるように、コンマをピリオドと交換してください。
ステップ5:最終的な[Exchanged Amount(交換金額)]は、その通貨コードに提供されている為替レートを使用して変換された、小数点以下6桁の数値データ型はFixedDecimalである必要があります。.
最終的な目標は、3つの地域のファイルすべて(個別または結合)の[Amount (金額)]フィールドをクリーンアップするために使用できる標準マクロを作成することです。 うまくいっていることを示す1つのサインは、変換エラーや警告を受け取らずにワークフロー/マクロを実行できるかどうかです。
* 追加のチャレンジとして、Debit/Credit ロジックを適用しないオプションを使用して、[Opening Balance(期首残高)]フィールドでも実行できるようにマクロを作成してください。
追加のチャレンジは問題の意味がよくわかりませんでした…。
できました!
(出張で出遅れました・・・)
Macro
追加のクレジットは、Amount用に作ったマクロをOpening Balanceという項目に対しても適用にできるようにしましょう。その際にAmountは[Debit/Credit]フィールドを使ってマイナスをつける必要がありますが、Opening Balanceはマイナスをつける必要がないので、そこはオプションで[Debit/Credit]フィールドを使わないようにできるようにマクロを改良して下さい、ということだと理解しました。
たぶんできました。
回答します。
追加チャレンジのDebit/Creditの適用有無のオプションはラジオボタンとドロップダウンで迷いましたが
個人的な趣味でドロップダウンにしました。
マクロ
マクロ オプション設定
汎用できるレベルに落とせず、残念。勉強しなくては。