以下是我所要做的:我有一些数据代表学生应该达到给定基准的目标(在本例中为6月15日) 。我正在查看一个交易表并运行一些汇总查询,这些查询试图找出在给定时间点有多少学生“正在跟踪”,使用“填充数据中的差距”和“填充间隙”中描述的技术库存表“来计算运行/累计总数并且使数据致密化。 http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/analysis.htm#i1014934在Oracle中计算给定基准(以星期为单位)的剩余时间
为了表达学生进步的目标“在表中的每一行,我想分数找出多少当年被留下,直到6月15日,让我运行总比作按比例分级的目标版本。
我的数据是这样的:
Measure Goal Year Week Date (YYYY-WW)
106141 400000 2011 42 2011-42
128886 400000 2011 43 2011-43
145449 400000 2011 44 2011-44
156921 400000 2011 45 2011-45
我有一种变通方法,但它确实哈克和可怕。
,case
when year = 2012 then 24 - week
when year = 2011 then (52 - week) + 24
else null
end as weeks_to_june_15
(6月15日是2012年的第24周)。有没有更优雅的甚至可以稍微正确地做到这一点?每次我使用日期函数尝试计算时,都会收到非法数字或文字与格式字符串错误不匹配的情况。
这似乎是一个人完成一定的相关性是什么,我想在这里做一些事情:https://forums.oracle.com/forums/thread.jspa?threadID=633028 ,但我不知道,如果使用IYYY重建该日期和IW会得到我在哪里,我想去的地方。
使用Oracle 11gR2 Express并想要这样做在数据库中,如果可能的话。
谢谢!
当你有日子的时候,我和你在日历算术上 - 但是当你有汇总的数据(每周一个值)时会有些不同。如果数据的格式为2011-43(YYYY-WW),你将如何进行计算? – Andrew
在我的回答中看到进一步的讨论。 –