私は請求書用のテーブルを持っており、何百万というデータがあります。私のテーブルには、請求書と顧客のための最初と最後の日付があります。私の目標は、請求書の月額平均価格を計算することです。たとえば、私が持っている:INVOICE_IDは(1月17日をincudingない)2017年1月1日から16日が2017年1月17日にあります1a
ある まず、請求書:たとえばORACLE(Varray&loop)の請求書の月額平均価格を計算する方法
CUSTOMER_ID INVOICE_ID FIRST_DATE LAST_DATE AMOUNT_OF_INVOICE
9876543 1a 1 Jan 2017 17 Jan 2017 32$
9876543 1b 17 Jan 2017 10 Feb 2017 72$
9876543 1c 10 Feb 2017 7 March 2017 100$
9876543 1d 7 March 2017 1 April 2017 25$
9870011 2a 1 Jan 2017 10 Jan 2017 18$
9870011 2b 10 Jan 2017 10 Feb 2017 62$
9870011 2c 10 Feb 2017 1 April 2017 50$
my target is:
CUSTOMER_ID MONTH MONTHLY_AVERAGE_PRICE
9876543 January 2017 77$ (=16x2+15x3)
9876543 February 2017 103$ (=9x3+19x4)
9876543 March 2017 49$ (=6x4+25x1)
9870011 January 2017 62$ (=9x2+22x2)
9870011 February 2017 37$ (=9x2+19x1)
9870011 March 2017 31$ (=31x1)
を私がすることによって77 $(=16x2+15x3
)を計算します。請求書の価格は32 $です。したがって、1日の平均価格は32/16 = 2 $です。 2番目の請求書は1b
で、2017年1月17日から2017年2月10日までの24日間です。したがって、1日あたりの平均消費量は3 $です。この請求書の1月分は15日間です(1月17日から1月31日まで1月31日まで)。全体として、1月の平均消費量は16x2 $ + 15x3 $ = 77 $です。
私は月にデータを格納するためにVARRAYを使用する必要があり、FIRST_DATE
とLAST_DATE
の間の日を見つけるためにループを使用しなければならないと思います。しかし、私はそれをすることができませんでした。それとも他にもあるのですか?
どうすれば77ドルを得ることができますか? 。平均は何ですか(= 16.2 + 15.3)?あなたの質問は明確ではありません.. – scaisEdge
ああ申し訳ありません。 INVOICE_IDが1aである最初の請求書は、2017年1月1日から2017年1月17日までの16日間です(1月17日は含まれません)。請求書の価格は32 $です。したがって、1日の平均価格は32/16 = 2 $です。 2番目の請求書は1bで、2017年1月17日から2017年2月10日までの24日間です。したがって、1日あたりの平均消費量は3 $です。この請求書の1月分は15日間です(1月17日から1月31日まで1月31日まで)。 1月平均消費量はすべて16.2 $ + 15.3 $ = 77 $です。今は明らかですか?そうでない場合は、私はもっと説明することができます..あなたの助けをありがとう – Abdullah