2017-09-26 4 views
1

NetSuiteのバックエンドテーブルからRedshiftにプルされたデータを使用してNetSuite以外のレポートを作成しています(このデータを他のソースシステムのデータと結合するため)。レッドシフトに完全にパイプされたいくつかのテーブルがあり、それに対して私はクエリを書いています。毎月P & Lsからいくつかの値を再作成しようとすると、私の合計がNSのUIに表示されているものと結びついていないことに気付きました。当社のファイナンスチームのトラブルシューティングの後、削除されたがまだ取引テーブルに表示されている3つの請求書が表示されます。私はIsDeletedフィールドやそれに類するものではありません。テーブルのどのレコードが削除されて結果から除外されるのかを特定するにはどうすればよいですか?Netsuite Transactionsテーブルで削除されたトランザクションを特定する方法

+0

データはどのくらいの頻度でレッドシフトに送られますか?そしてあなたのETLプロセスはどのように見えますか? FivetranやStitchのようなサービスを使用している場合、レコードは決して削除されません。 – sawyer

+1

それ以外の場合は、System_notes表を照会して、すべてのレコードの作成、変更、更新、および削除にアクセスできます。 – sawyer

+1

AirflowとSparkを使用して、データを毎時Redshiftに持っていきます。 System_notesテーブルは、まさに私が探していたものと思われます。ありがとう! – Alex

答えて

0

削除されたレコード(請求書のレコードタイプ)の保存検索は、NetSuiteで作成することができます。 CSVまたはExcelを使用してエクスポートし、このCSV/Excelを使用してRedshiftテーブルを更新し、削除されたレコードをタグ付けします。

将来は、Redshiftで削除されたレコードを更新/タグ付けするNetSuiteレコードが削除されたときに、Redshift(利用可能な場合)へのAPI呼び出しを作成できます。この方法では、削除されたレコードを生成する必要はありません。

+0

興味深い。したがって、フロントエンドでレコードが削除されたかどうかを示すNetSuiteスキーマ内のフィールドはありません。 – Alex

+1

レコードが削除されると、レコードは完全に削除されます。そのため、NetSuiteはDeleted Recordの保存検索を作成しました。この保存された検索は、レコードがいつ削除されたのか、いつ、誰のコンテキスト(UI、ユーザーイベント、スケジュールなど)を通知します。あなたのケースでは、コンテキスト=ユーザーインターフェイス(私はあなたがフロントエンドと言ったときにユーザーインターフェイスを意味すると仮定)で保存された検索をフィルタリングすることがあります – vVinceth

+0

ああ、面白いです。私のファイナンスチームと話す際、彼らは3つの請求書がUIで削除されたと言いました。しかし、これらの取引は依然として取引テーブルに表示されます。どのレコードが削除されたのかを判断するために、テーブルにインジケータフィールドがあることがわかりました。私は彼らが削除されたレコードの保存された検索のためにそれらを見つけるために、どこかに記録され、格納されなければならないと思いますか? – Alex

1

他のポスターには削除されたレコードが使用されていますが、ここでは賢明な言葉が使われていますが、削除されたレコードはトランザクション自体を追跡します。したがって、エンドユーザーがトランザクションの一部の行を削除した場合、削除されたレコードWONTは、トランザクションを削除されたレコードに表示します。

コメント投稿者の中には、システムノートを見ている人がいましたが、私たちの場合は、システムノートにタイプインパクトの新しいバージョンIDしかありませんでした。さらに、ODBC側でマッピングされた内容を取得する方法も見つけられませんでした。 (私が間違っていれば私を訂正してください。私たちが見つけたばかげたハックより良い方法を得るのが嬉しいです)

ここで私たちのプロセスで見つけた唯一の回避策は、last_modified_date> {ts'lastインポート日 '}を一時テーブルに保存し、それらのトランザクションの行が削除されたかどうかを確認します。さらに、削除されたレコードを探して、削除されたトランザクション自体を見つけること。これが私たちがP & Lに匹敵する唯一の方法です。 これは、幸いなことに私たちのプロセスでは、エンドユーザーはトランザクションを編集していくつかの行を削除する必要があります。したがって、変更を保存すると、トランザクション自体に新しい変更日が付けられます。

私たちはNetSuiteのサポートに直接尋ねました。彼らは正式に公式なテーブルを持っていないので、行の削除を追跡しました。

+0

NetSuiteのコンサルタントと話をしました同じこと。入力いただきありがとうございます! – Alex

関連する問題