Sql server 在SSMS上获取TFS工作项
我需要一些模拟TFS查询的帮助。 我已尝试编写以下SQL查询来执行此操作,但无法获得匹配的填充: 另外,如果有人知道我在哪里可以找到department字段,因为我不确定它是否是自定义字段 SQL Server 2014:12.0 TFS:12.0 Visual studio professional 2015:14.0Sql server 在SSMS上获取TFS工作项,sql-server,visual-studio,tfs,ssms,tfs-workitem,Sql Server,Visual Studio,Tfs,Ssms,Tfs Workitem,我需要一些模拟TFS查询的帮助。 我已尝试编写以下SQL查询来执行此操作,但无法获得匹配的填充: 另外,如果有人知道我在哪里可以找到department字段,因为我不确定它是否是自定义字段 SQL Server 2014:12.0 TFS:12.0 Visual studio professional 2015:14.0 提前感谢您的建议 我找到了一个解决方案,但仍然无法找到Department字段: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTE
提前感谢您的建议 我找到了一个解决方案,但仍然无法找到Department字段:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
IF OBJECT_ID('tempdb.dbo.#LastRecord') IS NOT NULL DROP TABLE #LastRecord
SELECT System_Id, LastChangedDate = MAX(System_ChangedDate)
INTO #LastRecord
FROM [dimWorkItem]
GROUP BY System_Id
DECLARE @FromDateWeek DATE
DECLARE @FromDateTwoWeek DATE
SET @FromDateWeek = dateadd(d,-7,CONVERT(Date,getdate(),1))
SET @FromDateTwoWeek = dateadd(d,-14,CONVERT(Date,getdate(),1))
--SELECT @FromDate
SELECT ID = w.System_Id
--Cannot find Department
, Department = '?'
, w.TeamProjectSK
, RequestedByUser = w.Custom_RequestedBy
, Title = w.System_Title
, [Priority] = w.Microsoft_VSTS_Common_Priority
, Activity = w.Microsoft_VSTS_Common_Activity
, da.AreaPath
, [State] = w.System_State
, Reason = w.System_Reason
, ClosedDate = w.Microsoft_VSTS_Common_ClosedDate
, ActivatedDate = Microsoft_VSTS_Common_ActivatedDate
, DevHours = Custom_DevHours
, CreatedDate = w.System_CreatedDate
, AssignedTo = dp.Name
, [Week] = CASE WHEN w.Microsoft_VSTS_Common_ClosedDate >= @FromDateWeek OR w.System_State = 'Active' THEN 'Current'
WHEN (w.Microsoft_VSTS_Common_ClosedDate >= @FromDateTwoWeek AND w.Microsoft_VSTS_Common_ClosedDate < @FromDateWeek)
OR w.Microsoft_VSTS_Common_ClosedDate < @FromDateWeek THEN 'Last'
ELSE 'Previous' END
FROM [dimWorkItem] w
JOIN #LastRecord l ON w.System_Id = l.System_Id AND w.System_ChangedDate = l.LastChangedDate
LEFT OUTER JOIN DimPerson dp ON w.System_AssignedTo__PersonSK = dp.PersonSK
LEFT OUTER JOIN dbo.DimArea da ON w.AreaSK = da.AreaSK
WHERE
da.AreaPath LIKE '\LOS\Reporting%'
AND System_WorkItemType = 'Task'
AND (Microsoft_VSTS_Common_ClosedDate >= @FromDateTwoWeek
OR w.System_State = 'Active')
AND ISNULL(Microsoft_VSTS_Common_Priority,0) < 4
AND w.System_Reason <> 'Obsolete'
我们怎么知道你的部门来自哪里?你看过DimPerson吗?这个问题是次要的,我更感兴趣的是有一个与TFS匹配的SQL查询。我不确定这是否是一个自定义字段,因为部门中的D有下划线,我假设这是一个本地字段。。
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
IF OBJECT_ID('tempdb.dbo.#LastRecord') IS NOT NULL DROP TABLE #LastRecord
SELECT System_Id, LastChangedDate = MAX(System_ChangedDate)
INTO #LastRecord
FROM [dimWorkItem]
GROUP BY System_Id
DECLARE @FromDateWeek DATE
DECLARE @FromDateTwoWeek DATE
SET @FromDateWeek = dateadd(d,-7,CONVERT(Date,getdate(),1))
SET @FromDateTwoWeek = dateadd(d,-14,CONVERT(Date,getdate(),1))
--SELECT @FromDate
SELECT ID = w.System_Id
--Cannot find Department
, Department = '?'
, w.TeamProjectSK
, RequestedByUser = w.Custom_RequestedBy
, Title = w.System_Title
, [Priority] = w.Microsoft_VSTS_Common_Priority
, Activity = w.Microsoft_VSTS_Common_Activity
, da.AreaPath
, [State] = w.System_State
, Reason = w.System_Reason
, ClosedDate = w.Microsoft_VSTS_Common_ClosedDate
, ActivatedDate = Microsoft_VSTS_Common_ActivatedDate
, DevHours = Custom_DevHours
, CreatedDate = w.System_CreatedDate
, AssignedTo = dp.Name
, [Week] = CASE WHEN w.Microsoft_VSTS_Common_ClosedDate >= @FromDateWeek OR w.System_State = 'Active' THEN 'Current'
WHEN (w.Microsoft_VSTS_Common_ClosedDate >= @FromDateTwoWeek AND w.Microsoft_VSTS_Common_ClosedDate < @FromDateWeek)
OR w.Microsoft_VSTS_Common_ClosedDate < @FromDateWeek THEN 'Last'
ELSE 'Previous' END
FROM [dimWorkItem] w
JOIN #LastRecord l ON w.System_Id = l.System_Id AND w.System_ChangedDate = l.LastChangedDate
LEFT OUTER JOIN DimPerson dp ON w.System_AssignedTo__PersonSK = dp.PersonSK
LEFT OUTER JOIN dbo.DimArea da ON w.AreaSK = da.AreaSK
WHERE
da.AreaPath LIKE '\LOS\Reporting%'
AND System_WorkItemType = 'Task'
AND (Microsoft_VSTS_Common_ClosedDate >= @FromDateTwoWeek
OR w.System_State = 'Active')
AND ISNULL(Microsoft_VSTS_Common_Priority,0) < 4
AND w.System_Reason <> 'Obsolete'