以下のクエリは、1つのことを除いて素晴らしい機能を果たします。 エンドユーザーレポートのフィルタとして「WorkStream」という列を使用しています。フィルタであるため、クエリが何かを返すかどうかに関係なく、そこに存在する必要があります。
もちろん、特定のタスクのみが返されるように、where句をクエリ内のフィルタとして使用する必要があります。 問題は、タスクがない場合のワークストリームがある場合、ワークストリームは削除され、レポートフィルタ(ワークストリーム)は機能しません。SQLの戻り値がゼロになるようにフィルタが残ります
私が必要とするのは、このような表ですが、欠落しているワークストリームがある場合、「0」が入ります。 。しかし、ワークストリームが欠落している場合にのみ、それは(最終報告書では、フィルタの下にその報告書は、フィルタを持っているでしょうし、単に表示し、空のテーブルONLYフィルタ名を返します
これは私のコードです:
SELECT
p.[Workstream]
,T.[Task_Significance]
,COUNT(1) AS Total
,SUM(case when T.[TaskPercentCompleted] >= 100 then 1 else 0 end) AS Actual
,SUM(case when T.[TaskFinishDate] <= DATEADD(DAY, 8-DATEPART(DW, GETDATE()), Convert(date,getdate())) then 1 else 0 end) AS Planned
FROM [psmado].[dbo].[MSP_EpmProject_UserView] as P
join [PSMADO].[dbo].[MSP_EpmTask_UserView] as T
On T.[projectUID] = P.[projectUID]
WHERE
[Task_Significance] IN('Application', 'Data', 'Interface', 'End User Compute', 'Network', 'Compute Package', 'Data Center', 'CREWS Sites', 'App Design Review', 'Infra Design Review')
GROUP BY p.[EnterpriseProjectTypeUID], p.[Workstream],T.[Task_Significance]
これを行うにはとにかくはありますか?
ありがとうございました!いつものように素晴らしい! – Bob