イベントが発生したときに記録し、このイベントが今後6時間にわたって影響を及ぼすと想定されるプロセスがあります。SQL前回のn行内の値を見つけることに基づいて値を指定するクエリ
テーブルには、Date、Period、BooleanValueのデータがあります。日はdd/mm/yyyyで、期間は30分の期間を指定する1〜48の値(1日に48があります)とイベントが発生したかどうか(ImpactまたはNotImpact)です。例として、単一のイベントは、2011年1月5日(期間3)で発生したので、テーブルは次のようになります。
ExcelでDate Period Event
05/01/2011 1 NotImpact
05/01/2011 2 NotImpact
05/01/2011 3 IMPACT
05/01/2011 4 NotImpact
05/01/2011 5 NotImpact
、私は列を述べ作成し、「IMPACT」を探し式を書いています「イベント」列に表示され、見つかった場合は、次の半時間に「IMPACT」とフラグを立てます。 「IMPACT」が見つからない場合は、デフォルト値「NotImpact」が使用されます。
この式を適用すると=IF(IF(ISERROR(COUNTIF(E2:E13,"IMPACT")),"NotImpact",COUNTIF(E2:E13,"DIS"))>0,"IMPACT","NotImpact")
、前後の列に、それをもたらすであろう:私は多くのSQLで生成され、このテーブルを持っていることを好むだろう
Date Period Event ImpactYesNo
05/01/2011 1 NotImpact NotImpact
05/01/2011 2 NotImpact NotImpact
05/01/2011 3 IMPACT IMPACT
05/01/2011 4 NotImpact IMPACT
05/01/2011 5 NotImpact IMPACT
05/01/2011 6 NotImpact IMPACT
05/01/2011 7 NotImpact IMPACT
05/01/2011 8 NotImpact IMPACT
05/01/2011 9 NotImpact IMPACT
05/01/2011 10 NotImpact IMPACT
05/01/2011 11 NotImpact IMPACT
05/01/2011 12 NotImpact IMPACT
05/01/2011 13 NotImpact IMPACT
05/01/2011 14 NotImpact IMPACT
05/01/2011 15 NotImpact NotImpact
05/01/2011 16 NotImpact NotImpact
05/01/2011 17 NotImpact NotImpact
(この表は、SQL Server 2005のボックスに常駐しています)私はそこにこのExcelのアプローチを複製しようとしましたが(そしてPythonで関数を書く)、成功しませんでした。誰かが私を助けたり、私を正しい方向に向けることができたら本当に感謝しています。
私は私が求めていますかについて、他の質問に答えることができれば、あなたはこれを試すことができ、コメント
日間にわたるイベントの影響を与える可能性が - すなわち。 2011年1月5日の期間47に影響がある場合、2011年1月6日の期間10まで影響を及ぼしますか? –
第15期に発生した場合は、翌日第3期まで実行しますか?または、終わりに終わる? – gbn
(1)イベントは数日以上実行することができ、それは間違いありません。マーク (2)期間15 - 15日目に発生した場合 - 第27期まで実行されます –