立ち往生しているので、助けが必要です。これは SQL と Coldfusion を使用しています。基本的に、特定のチケットの完了と、完了とマークされた日付をリストする表があります。このテーブルには、たとえば、GROUP BY で使用される地区とエリアがあります。したがって、その年の毎週行われたすべてのチケットをカウントしたいのですが、ユーザーはレポートの実行などを選択します。現時点で持っている SQL を少しリストします。
SELECT
SUM(CASE WHEN DATEPART(ww, completionDate) = 1 THEN 1 ELSE 0 END) AS [Jan1-7],
SUM(CASE WHEN DATEPART(ww, completionDate) = 2 THEN 1 ELSE 0 END) AS [Jan8-14],
SUM(CASE WHEN DATEPART(ww, completionDate) = 3 THEN 1 ELSE 0 END) AS [Jan15-21],
SUM(CASE WHEN DATEPART(ww, completionDate) = 4 THEN 1 ELSE 0 END) AS [Jan22-31]
SUM(CASE WHEN DATEPART(ww, completionDate) = 5 THEN 1 ELSE 0 END) AS [Feb1-7],
SUM(CASE WHEN DATEPART(ww, completionDate) = 6 THEN 1 ELSE 0 END) AS [Feb8-14],
SUM(CASE WHEN DATEPART(ww, completionDate) = 7 THEN 1 ELSE 0 END) AS [Feb15-21],
SUM(CASE WHEN DATEPART(ww, completionDate) = 8 THEN 1 ELSE 0 END) AS [Feb22-28],
ご覧のとおり、私は基本的に、completionDate が年のどの週であったかを取得し、それを独自の列に合計しようとしています。誰かがより良い提案を持っていない限り、この形式にする必要があります。たとえば、問題は 2013 年 2 月 18 日です。SQL は 2013 年の 8 週目であると言っていますが、私のコードでは 2 月 15 日から 21 日で合計されます。これは私のコードによると 7 週目です。必要なレポートは、上部のヘッダーに月を表示し、その月の次のヘッダーに毎週表示し、基本的にその週に完了したすべてのチケットをカウントすることです。したがって、週/月は列である必要があります。
いくつかの CF 関数とすべてを読みましたが、それらを利用して必要なものを取得する方法がわかりません。これらの日付を動的に合計して、週に基づいて正しい列に合計されるようにする方法、または Coldfusion を使用してこの部分を処理する方法はありますか? しかし、ColdFusion の部分についてもよくわからないので、可能であれば、SQL または CF の使用に関する提案や、コードの部分で私を助けてくれることを本当に感謝しています。
ありがとう!!