ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
保存検索にてRANKまたはDENSE_RANKを条件として使用
適用
製品: NetSuite 2023.1
シナリオ
RANK ()やDENSE_RANK ()などのウィンドウ機能は、SELECT構文のリストとの組合せでのみ使用できます。つまり、これら2つの関数は論理SQL式ですが、サマリータイプと組み合せたときに、保存検索で条件タブまたは結果タブとして使用することはできません。
この動作は、機能改善 # 180201として既に報告されています。
説明するために、ユーザーがすべての仕入先の最後の4つの請求を表示すると仮定します。最も重要な解決方法は、条件タブで次の算式を使用することです。
計算式(数値) = CASE WHEN (DENSE_RANK() OVER (PARTITION BY {name} ORDER BY {trandate} DESC) < 4) THEN 1 ELSE 0 END is equal to 1
この計算式は、システムが請求書のリストを仕入先ごとに降順でランク付けし、最初の4つのみが表示されることを意味します。
ただし、システムは以前に提供された理由により、予期しないエラーを返します。
解決策
このため、この方法で保存検索を設計することもできます。
- トランザクション > 管理 > 保存検索 > 新規作成にナビゲートします。
- トランザクションを選択
- 条件タブで、種類 = 請求書、メインライン = はいを追加します。
- 結果タブで以下を追加します:
- 計算式(日付) = CASE WHEN (DENSE_RANK() OVER(PARTITION BY {name} ORDER BY {trandate} DESC))<4 THEN {trandate} END
- 計算式(テキスト) = CASE WHEN (DENSE_RANK() OVER(PARTITION BY {name} ORDER BY {trandate} DESC))<4 THEN {mainname} END
- 計算式(通貨) = CASE WHEN (DENSE_RANK() OVER(PARTITION BY {name} ORDER BY {trandate} DESC))<4 THEN {amount} END
- 検索を保存して実行し、結果をExcelにエクスポート
- ピボットテーブルを実行
- 行に仕入先を、列に日付を、データに金額をドラッグします。
- レポートを実行
- ピボットレポートが上がっている場合は、"Empty"というベンダーを検索し、Collapseボタンを押します。
この保存検索/ピボットレポートでは、最初の4つの請求の詳細のみが表示され、残りの請求は非表示またはマスクされます。この保存検索でも、データベース内のすべての請求が検索され、多くのトランザクションが関連する場合は特に実行時の問題が発生する可能性があることに注意してください。この場合、日付などの条件を設定することに注意してください。