-1

私の実際のドキュメントはこれよりも複雑ですが、そのように単純化すると、解決したい問題が説明されます。私は毎日と毎週の文書を持っています。

デイリードキュメント:ObjectId, Type, Count, Date

ウィークリー ドキュメント:ObjectId, Type, Count, StartDate, EndDate

日次レポートが必要な場合は、日付フィールドの値が X から Y の範囲で、タイプが「日次」に等しいドキュメントを選択するクエリを実行できます。週次レポートでも同じことができ、すべてうまくいきます。

問題:

週次レポートの場合、開始日が週の最初の日ではなく、終了日が正確に週の最終日でない場合、タイプが「週次」のドキュメントを選択すると、週次ドキュメントには週全体のデータが保存されるため、不正確なレポートが作成されます。 . これは奇妙に思えるかもしれませんが、Google アナリティクスではそれを行うことができます。

ここに画像の説明を入力

上のスクリーンショットでは、7 月 3 日はその週の始まりでも、7 月 17 日もその週の終わりではありません。しかし、Google アナリティクスを使用すると、必要に応じてデータを表示できます。

考えられる解決策:

考えられる解決策の 1 つは、オーバーフローした日数について日報を作成し、週報から差し引くことです。

質問:

私が説明した問題を解決するためのより良い解決策はありますか? ドキュメントの再設計にオープンです

4

1 に答える 1

0

週次レポートの場合、開始日が週の最初の日ではなく、終了日が正確に週の最終日でない場合、タイプが「週次」のドキュメントを選択すると、週次ドキュメントは週全体のデータを保存するため、不正確なレポートが作成されます。 . これは奇妙に思えるかもしれませんが、Google アナリティクスではそれを行うことができます。

彼らはそのような文書を保管していないからです。

これが機能する方法(私が推測する)は、Googleが毎日のドキュメントを要約し、「週」の範囲を無視し、独自の範囲の発言を適用することです。

できるだけ多くの完全な週を取得し、その範囲に入る日次ドキュメントを集計します

その後:

他のものを上に投げて、それぞれを終点と始点にするだけです

ここでは、週単位のドキュメントと日単位のドキュメントを混在させようとはしません。日単位のドキュメントのみをクエリして、クライアント側を集計します。

于 2012-08-09T13:01:27.557 に答える