Skip to content

Commit

Permalink
U_Fact_InfluentialUsers_Acc table is added
Browse files Browse the repository at this point in the history
  • Loading branch information
GhazaleZe committed Jan 31, 2021
1 parent a3eb018 commit de09fd8
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 25 deletions.
26 changes: 26 additions & 0 deletions UserMart_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,33 @@ create table U_Fact_CommentRating_Temp(
course_id int,
time_key nvarchar(100),
comment_id int,
datetime_created datetime,
was_it_helpful Bit,
description_WasItHelpful nvarchar(30)
);


create table U_Fact_CommentRating_Temp2(
[commenter_user_id] int,
[voter_user_id] int,
course_key int,
course_id int,
time_key nvarchar(100),
comment_id int,
was_it_helpful Bit,
description_WasItHelpful nvarchar(30)
);

create table U_Fact_InfluentialUsers_Acc (
commenter_user_id int,
sum_of_comments int,
sum_of_Feedbacks int,
sum_of_WasItHelpful int
)

create table U_Fact_InfluentialUsers_Acc_Temp (
commenter_user_id int,
sum_of_comments int,
sum_of_Feedbacks int,
sum_of_WasItHelpful int
)
100 changes: 75 additions & 25 deletions Users.sql
Original file line number Diff line number Diff line change
Expand Up @@ -286,38 +286,96 @@ begin

insert into DataWarehouse.dbo.U_Fact_CommentRating_Temp2(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful from DataWarehouse.dbo.U_Fact_CommentRating_Temp
where convert(date,DataWarehouse.dbo.U_Fact_CommentRating_Temp.datetime_created)= @passing;

select * from DataWarehouse.dbo. U_Fact_CommentRating_Temp2;

where convert(date,DataWarehouse.dbo.U_Fact_CommentRating_Temp.datetime_created) = @passing;
insert into DataWarehouse.dbo. U_Fact_CommentRating(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful from DataWarehouse.dbo.U_Fact_CommentRating_Temp2;

if (select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp ) > 0
if (select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp2 ) > 0
begin
insert into DataWarehouse.dbo.U_UsersMart_log (number_of_rows,time_when ,full_time ,fact_name ,[action] )
values ((select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp),@passing,GETDATE(),'U_Fact_CommentRating','insert first time');
values ((select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp2),@passing,GETDATE(),'U_Fact_CommentRating','insert first time');
end
truncate table U_Fact_CommentRating_Temp;

truncate table U_Fact_CommentRating_Temp2;
set @passing=dateadd(day,1,@passing);


end
end
truncate table U_Fact_CommentRating_Temp;
end

exec U_First_Time_Fill_U_Fact_CommentRating @first_day_v = '2020-11-01', @today='2020-11-11';

select * from U_Fact_CommentRating;
delete from U_UsersMart_log where log_key >10
select * from U_UsersMart_log
select * from U_Fact_CommentRating_Temp;


--********************************************************************************


CREATE or Alter PROCEDURE U_Fill_U_Fact_CommentRating @first_day_v Date,@today Date
as
begin
truncate table U_Fact_CommentRating_Temp;
truncate table U_Fact_CommentRating_Temp2;
declare @passing Date;
declare @timekey nvarchar(255);
set @passing = @first_day_v;
insert into DataWarehouse.dbo.U_Fact_CommentRating_Temp(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,datetime_created,was_it_helpful ,description_WasItHelpful)
select staging_area.dbo.Comment.[user_id] ,staging_area.dbo.CommentVote.voter_user_id,staging_area.dbo.Comment.course_id ,
(select course_key from DataWarehouse.dbo.S_Dim_Course where DataWarehouse.dbo.S_Dim_Course.course_id = staging_area.dbo.Comment.course_id ),
(select DataWarehouse.dbo.S_Make_TimeKey (staging_area.dbo.CommentVote.datetime_created)), staging_area.dbo.CommentVote.comment_id,staging_area.dbo.CommentVote.datetime_created,staging_area.dbo.CommentVote.was_it_helpful,
case
when was_it_helpful = 1 then 'Helpful'
when was_it_helpful = 0 then 'Not Helpful'
end
from staging_area.dbo.Comment inner join staging_area.dbo.CommentVote on staging_area.dbo.Comment.comment_id = staging_area.dbo.CommentVote.comment_id;
while @today >= @passing
begin

if (not exists (select * from DataWarehouse.dbo.[S_Dim_Date] where DataWarehouse.dbo.[S_Dim_Date].FullDateAlternateKey = @passing))
begin
set @passing=dateadd(day,1,@passing);
end

else
begin

insert into DataWarehouse.dbo.U_Fact_CommentRating_Temp2(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful from DataWarehouse.dbo.U_Fact_CommentRating_Temp
where convert(date,DataWarehouse.dbo.U_Fact_CommentRating_Temp.datetime_created) = @passing;
insert into DataWarehouse.dbo. U_Fact_CommentRating(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful from DataWarehouse.dbo.U_Fact_CommentRating_Temp2;

if (select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp2 ) > 0
begin
insert into DataWarehouse.dbo.U_UsersMart_log (number_of_rows,time_when ,full_time ,fact_name ,[action] )
values ((select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp2),@passing,GETDATE(),'U_Fact_CommentRating','insert');
end

truncate table U_Fact_CommentRating_Temp2;
set @passing=dateadd(day,1,@passing);


end
end
truncate table U_Fact_CommentRating_Temp;
end
exec U_Fill_U_Fact_CommentRating @first_day_v = '2020-11-12', @today='2021-01-31';

select * from U_Fact_CommentRating where comment_id=24997 and voter_user_id=917;

--truncate table U_Fact_CommentRating;
--**********************************************************************************


CREATE or Alter PROCEDURE U_Fact_InfluentialUsers_Acc @first_day_v Date,@today Date
as
begin
truncate table U_Fact_InfluentialUsers_Acc;
declare @passing Date;
declare @timekey nvarchar(255);
set @passing = @first_day_v;
Expand All @@ -331,26 +389,22 @@ begin

else
begin
insert into DataWarehouse.dbo.U_Fact_CommentRating_Temp(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select staging_area.dbo.Comment.[user_id] ,staging_area.dbo.CommentVote.voter_user_id,staging_area.dbo.Comment.course_id ,
insert into DataWarehouse.dbo.U_Fact_Comments_Temp([user_id],course_id,course_key,time_key,comment_id,comment_text)
select staging_area.dbo.Comment.[user_id] ,staging_area.dbo.Comment.course_id ,
(select course_key from DataWarehouse.dbo.S_Dim_Course where DataWarehouse.dbo.S_Dim_Course.course_id = staging_area.dbo.Comment.course_id ),
(select DataWarehouse.dbo.S_Make_TimeKey (staging_area.dbo.CommentVote.datetime_created)), staging_area.dbo.Comment.comment_id, staging_area.dbo.CommentVote.was_it_helpful,
case
when was_it_helpful = 1 then 'Helpful'
when was_it_helpful = 0 then 'Not Helpful'
end
from staging_area.dbo.Comment , staging_area.dbo.CommentVote
where convert(date,staging_area.dbo.Comment.datetime_created)= @passing and staging_area.dbo.Comment.comment_id = staging_area.dbo.CommentVote.comment_id ;
(select DataWarehouse.dbo.S_Make_TimeKey (staging_area.dbo.Comment.datetime_created)), staging_area.dbo.Comment.comment_id, staging_area.dbo.Comment.comment_text
from staging_area.dbo.Comment
where convert(date,staging_area.dbo.Comment.datetime_created)= @passing;

insert into DataWarehouse.dbo. U_Fact_CommentRating(commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful)
select commenter_user_id,voter_user_id,course_id,course_key,time_key,comment_id,was_it_helpful ,description_WasItHelpful from DataWarehouse.dbo.U_Fact_CommentRating_Temp;
insert into DataWarehouse.dbo. U_Fact_Comments([user_id],course_id,course_key,time_key,comment_id,comment_text)
select [user_id],course_id,course_key,time_key,comment_id,comment_text from DataWarehouse.dbo.U_Fact_Comments_Temp;

if (select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp ) > 0
if (select COUNT(*) from DataWarehouse.dbo.U_Fact_Comments_Temp ) > 0
begin
insert into DataWarehouse.dbo.U_UsersMart_log (number_of_rows,time_when ,full_time ,fact_name ,[action] )
values ((select COUNT(*) from DataWarehouse.dbo.U_Fact_CommentRating_Temp),@passing,GETDATE(),'U_Fact_CommentRating','insert');
values ((select COUNT(*) from DataWarehouse.dbo.U_Fact_Comments_Temp),@passing,GETDATE(),'U_Fact_Comments','insert first time');
end
truncate table U_Fact_CommentRating_Temp;
truncate table U_Fact_Comments_Temp;
set @passing=dateadd(day,1,@passing);


Expand All @@ -359,7 +413,3 @@ begin
end
end

exec U_Fill_U_Fact_CommentRating @first_day_v = '2020-10-11', @today='2021-01-31';

select * from U_Fact_CommentRating;
--truncate table U_Fact_CommentRating;

0 comments on commit de09fd8

Please sign in to comment.