前回に引き続きGeneral Ledger Entry(会計元帳明細)のDimension Code(分析コード)の修正について説明します。今回は複数レコードについて修正する方法の説明の後半です。大量のデータに対して条件を付けて抽出する方法を説明します。
ソース: 分析コード修正 (G/L エントリ対象) – Dynamics 365 Release Plan | Microsoft Docs
h. 修正対象明細のクリア
まずは前回選択した明細を削除します。”Manage Selection Criteria”をから、、
全ての明細を削除します。前回の記事で説明した通り、ここには抽出の”手順”が記録されており、すべての手順を消すと、、
”Selected Ledger Entries”セクションの明細がすべて消えました。つまり、分析コード修正対象のG/Lが何も選択されていない状態です。
i. 分析項目による追加
ここからが今回の本題です。”Add by Dimension”ボタンをクリックします。分析コードを指定して修正対象のGeneral Ledger Entriesを抽出する機能です。
”Find by Dimension”ページが開きます。分析項目と分析コードの値を指定できるようです。
CUSTOMERGROUP=Small, SALESPERSON=JO を指定して抽出します。
条件に合致するGeneral Ledger Entriesが抽出され、”Selected Ledger Entries”セクションにセットされました。
j. フィルタ機能で不要明細の削除
修正したい対象は転記日が2021年3月以降の明細なので、2021年2月以前の明細を除外する必要があります。 ”Selected Ledger Entries”のセクションはリスト型のサブフォームページなのでフィルタを掛けることが可能です。”Posting Date”列の見出しの右端の”v”アイコンをクリックしてフィルタを掛けます。
”..02/28/2021” を指定します。
※英米の日付形式になっていますが、MySettingsでリージョン=Japanにすれば YYYY/MM/DD形式で表示され、条件もYYYY/MM/DD形式で指定できます。
全選択して”Remove entries”ボタンをクリックします。
削除完了後にフィルタを解除します。
これにより、転記日が3/1/2021以降の明細のみ対象になりました。
確かに対象データの要件を満たしましたが、手順が少し煩雑ですね。特に転記日の条件を満たさない明細を除外するために3ステップ必要です。もっと簡単に出来ないでしょうか?
k. 汎用的に条件指定して抽出する
転記日の条件も含めて1回でデータをフィルタすることが出来ます。まずは先ほどのデータを一旦クリアしましょう。”Manage Selection Entries”をクリックします。
前回同様、明細を削除します。
これで”Selected Ledger Entries”の明細が削除されました。ここで”Add by Filter”ボタンをクリックします。
G/L Entries(会計元帳明細)に対してフィルタ条件を指定できます。”+Filter”をクリックします。
すると、General Ledger Entriesの項目を追加し、フィルタする値を指定できます。以下のように、”転記日”と”Shortcut Dimension 4 Code”を条件指定します。”Shortcut Dimension 4”はSalespersonです。(タイミングによっては項目名は”Shortcut Dimension 4”ではなく”Salesperson”と表示されているかもしれません。あと、Shortcut Dimension 3 Codeを条件指定するのを忘れました。。)
このように1回の条件指定で求めるデータが抽出できました。
既定の状態ではShortcut Dimensionは表示されていませんが、Design機能を使用して画面に項目追加できます。
”Area”と”Salesperson”の項目が追加されました。各項目を昇順ソート、降順ソートすることで指定した値以外が含まれていないことを簡単に確認できます。
l. 分析コードの値の置き換え
修正対象データを抽出できたので、いよいよ分析コードの値を修正します。中段の”Dimension Correction Changes”セクションには分析項目名と現在の値、変更後の値が表示されています。”Salesperson”列の変更後の値をプルダウンから”LT”に指定すると以下のように表示されます。
その後、リボンの”Validate Dimension Change”ボタンをクリックしてエラーがないかチェックします。
このあたりの手順は前々回の手順と同じです。
今回は即時実行を指定。
チェックが実行されました。
一旦、Dimension Correctionの画面に戻るので、該当の明細を選択して”Edit”を選択。
バリデートが終わった状態だとカード画面はこのように表示されています。バリデートのステータスが表示されており、画面は編集モードにしているにも関わらず変更不可です。試しに上部の鉛筆マークをクリックしてみます。
鉛筆マークを押しても編集可能にはなりません。少し分かりにくいですが、鉛筆マークにマウスオーバーすると編集モードか照会モードかを知ることが出来ます。再度鉛筆マークをクリックして編集モードに戻します。
リボンの”Reopen”ボタンをクリックしてみます。
メッセージが少し分かり辛いですが、、再オープンすることにより前回のバリデート結果のデータがリセットされるという意味だと思われます。
ステータスがドラフトに戻りました。
必要ならばここで修正します。今回は修正せずに再度バリデートを実行します。
バリデートを再実行した後に”Run”ボタンをクリックして変更を確定します。
即時実行します。
変更のジョブがスケジュールされた、というメッセージが表示されますが、即時実行オプションを選択したので実行されています。
ステータスが”Complete”になりました。
m. 結果確認
実行前に表示していたGeneral Ledger Entries のリストページに戻ります。SalesPerson=JOが表示されています。F5ボタンで画面をリフレッシュします。
SalesPersonがLTに置き換わっています。変更は成功です。
n. 分析ビューの更新
今回の機能拡張は分析コードの修正ですが、最終目的は分析ビューの更新のはずです。今回追加された分析コード修正の機能がGeneral Ledgerに限定されており、Sub Ledgerが対象になっていないのは、分析ビューの更新が目的だからだと考えます。まだ試していませんがリボンのボタンを見る限り、この画面から分析ビューの更新を行えるようです。
o. まとめ
複数レコードを大量に変更する場合は”Add by Filter”を使うのが最も良いと考えます。汎用的にデータを抽出でき、手順が少なくて済むからです。”Add by Dimensions”を使うメリットは、ShotrtcutDimensionとして定義されていない分析項目でフィルタしたい場合ぐらいでしょう。それはメジャーなケースとは思えません。前回のWaveでG/LにShortcutDimensionを追加できるようになったのは今回の機能追加の布石だったのかもしれません。Designモードでの変更は必要ですが、サブフォームにShortcutDimensionを項目追加できますので確認も用意です。
とても長いシナリオで紹介しましたが、分析コード修正機能が非常に強力な機能で有用であることが理解して頂けたかと思います。多くのユーザーに知ってもらって積極的に活用していきたい機能です。