数据治理

This commit is contained in:
geh
2026-07-09 14:55:17 +08:00
parent 2e4e5d2b59
commit f9d6a03933
17 changed files with 3345 additions and 636 deletions
@@ -0,0 +1,94 @@
truncate table Project_MasterDataAnalysis
GO
--删除已关联项目填写的原因
delete from Project_MasterDataUsage
where pro_id in (select distinct MasterSysId from Base_Project)
GO
--数据治理分析汇总表补充字段:定期填报数量
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Project_MasterDataAnalysis' AND COLUMN_NAME = 'TianBao')
BEGIN
ALTER TABLE Project_MasterDataAnalysis ADD TianBao int;
EXEC sp_addextendedproperty 'MS_Description', N'定期填报项目数量','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'TianBao';
END
GO
--数据治理分析汇总表补充字段:已上线项目数
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Project_MasterDataAnalysis' AND COLUMN_NAME = 'YiShangXian')
BEGIN
ALTER TABLE Project_MasterDataAnalysis ADD YiShangXian int;
EXEC sp_addextendedproperty 'MS_Description', N'已上线(已关联+预立项)','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'YiShangXian';
END
GO
--数据治理分析汇总表补充字段:项目上线率
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Project_MasterDataAnalysis' AND COLUMN_NAME = 'OnlineRate')
BEGIN
ALTER TABLE Project_MasterDataAnalysis ADD OnlineRate decimal(18, 2);
EXEC sp_addextendedproperty 'MS_Description', N'项目上线率【(已关联+预立项)/(主数据+预立项-已完工-停缓建)】','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'OnlineRate';
END
GO
--数据治理分析汇总表补充字段:申请不用已完工,申请不用停缓建,申请不用条件受限
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Project_MasterDataAnalysis' AND COLUMN_NAME = 'BuYongYiWanGong')
BEGIN
ALTER TABLE Project_MasterDataAnalysis ADD BuYongYiWanGong int;
EXEC sp_addextendedproperty 'MS_Description', N'申请不用-已完工','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'BuYongYiWanGong';
ALTER TABLE Project_MasterDataAnalysis ADD BuYongTingHuanJian int;
EXEC sp_addextendedproperty 'MS_Description', N'申请不用-停缓建','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'BuYongTingHuanJian';
ALTER TABLE Project_MasterDataAnalysis ADD BuYongTJShouXian int;
EXEC sp_addextendedproperty 'MS_Description', N'申请不用-条件受限','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'BuYongTJShouXian';
END
GO
--数据治理分析汇总表补充字段:本月系统活跃用户,日均活跃
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Project_MasterDataAnalysis' AND COLUMN_NAME = 'ThisMonActiveUserNum')
BEGIN
ALTER TABLE Project_MasterDataAnalysis ADD ThisMonActiveUserNum int;
EXEC sp_addextendedproperty 'MS_Description', N'本月系统活跃用户','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'ThisMonActiveUserNum';
ALTER TABLE Project_MasterDataAnalysis ADD DailyAvg decimal(18, 2);
EXEC sp_addextendedproperty 'MS_Description', N'日均活跃','SCHEMA', N'dbo','TABLE', N'Project_MasterDataAnalysis','COLUMN', N'DailyAvg';
END
GO
--数据治理统计指标项表
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DataGovernance_MetricData') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[DataGovernance_MetricData](
[Id] [nvarchar](50) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Field] [nvarchar](100) NOT NULL,
[Frequency] [int] NOT NULL,
[IsKeyMetric] [bit] NOT NULL,
[Type] [nvarchar](10) NOT NULL,
[Remark] [nvarchar](200) NULL,
[CreateDate] [datetime] NOT NULL,
[CreateUser] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_DataGovernance_MetricData] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[DataGovernance_MetricData] ADD CONSTRAINT [DF_DataGovernance_MetricData_Frequency] DEFAULT ((1)) FOR [Frequency]
ALTER TABLE [dbo].[DataGovernance_MetricData] ADD CONSTRAINT [DF_DataGovernance_MetricData_IsKeyMetric] DEFAULT ((0)) FOR [IsKeyMetric]
ALTER TABLE [dbo].[DataGovernance_MetricData] ADD CONSTRAINT [DF_DataGovernance_MetricData_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Id'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'指标名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Name'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'指标字段' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Field'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'指标数据频次(1:每日,3:每三天,7:每周,30:每月,90:每季度)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Frequency'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否是重点关注指标' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'IsKeyMetric'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型(HSE:安全、QMS:质量、HJ:焊接)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Type'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'Remark'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'CreateDate'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataGovernance_MetricData', @level2type=N'COLUMN',@level2name=N'CreateUser'
END
GO
@@ -0,0 +1,22 @@
DROP VIEW [dbo].[View_Project_MasterDataAnalysis]
GO
CREATE VIEW [dbo].[View_Project_MasterDataAnalysis] AS
WITH LastData AS (
SELECT ReportDate, MAX(DataDate) AS LatestDate
FROM dbo.Project_MasterDataAnalysis AS tba
GROUP BY tba.ReportDate
),RankedData AS (
SELECT tbb.*
FROM dbo.Project_MasterDataAnalysis tbb
INNER JOIN LastData AS ld ON tbb.DataDate = ld.LatestDate
)
SELECT
rd.*
FROM RankedData AS rd
GO