ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Keep an eye out for upcoming NetSuite events, including meetups, workshops, and webinars. These sessions are a great way to connect with peers, learn from experts, and stay current on the latest NetSuite updates and best practices. Registration links are provided in each event.
保存検索にて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つの請求の詳細のみが表示され、残りの請求は非表示またはマスクされます。この保存検索でも、データベース内のすべての請求が検索され、多くのトランザクションが関連する場合は特に実行時の問題が発生する可能性があることに注意してください。この場合、日付などの条件を設定することに注意してください。
タグ付けされた:
0