diff --git a/dataform.json b/dataform.json index 23c80b4..ec37a47 100644 --- a/dataform.json +++ b/dataform.json @@ -1,7 +1,7 @@ { - "defaultSchema": "dataform_stackoverflow", + "defaultSchema": "dataform_stackoverflow_vikram", "assertionSchema": "dataform_stackoverflow_assertions", "warehouse": "bigquery", - "defaultDatabase": "dataform-dogfood-shared", - "defaultLocation": "US" + "defaultDatabase": "cloud-dataform-testing", + "defaultLocation": "europe-west3" } diff --git a/definitions/reporting/user_stats1.sqlx b/definitions/reporting/user_stats1.sqlx new file mode 100644 index 0000000..0e44059 --- /dev/null +++ b/definitions/reporting/user_stats1.sqlx @@ -0,0 +1,24 @@ +config {type: 'table'} + +select + stg_users.user_id, + stg_users.age, + ${common.ageBucket("stg_users.age")} as age_bucket, + stg_users.creation_date, + stg_users.user_tenure, + count(distinct stg_badges.badge_id) as badge_count, + count(distinct posts_all.post_id) as questions_and_answer_count, + count(distinct if(type="question", posts_all.post_id, null)) as question_count, + count(distinct if(type="answer", posts_all.post_id, null)) as answer_count, + max(stg_badges.award_timestamp) as last_badge_received_at, + max(posts_all.created_at) as last_posted_at, + max(if(type="question", posts_all.created_at, null)) as last_question_posted_at, + max(if(type="answer", posts_all.created_at, null)) as last_answer_posted_at +from + ${ref("stg_users")} as stg_users + left join ${ref("stg_badges")} as stg_badges + on stg_users.user_id = stg_badges.user_id + left join ${ref("posts_combined")} as posts_all + on stg_users.user_id = posts_all.owner_user_id +group by + 1,2,3,4,5 \ No newline at end of file diff --git a/definitions/staging/stg_badges.sqlx b/definitions/staging/stg_badges.sqlx index 6b5c8a9..67465f7 100644 --- a/definitions/staging/stg_badges.sqlx +++ b/definitions/staging/stg_badges.sqlx @@ -1,6 +1,5 @@ config { type: "view", - schema: "staging", description: "Cleaned version of stackoverflow.badges" } diff --git a/definitions/staging/stg_posts_answers.sqlx b/definitions/staging/stg_posts_answers.sqlx index 1734b7b..8396bfb 100644 --- a/definitions/staging/stg_posts_answers.sqlx +++ b/definitions/staging/stg_posts_answers.sqlx @@ -1,6 +1,5 @@ config { type: "view", - schema: "staging", description: "Cleaned version of stackoverflow.posts_answers" } diff --git a/definitions/staging/stg_posts_questions.sqlx b/definitions/staging/stg_posts_questions.sqlx index 0dacd9b..5d5391b 100644 --- a/definitions/staging/stg_posts_questions.sqlx +++ b/definitions/staging/stg_posts_questions.sqlx @@ -1,6 +1,5 @@ config { type: "view", - schema: "staging", description: "Cleaned version of stackoverflow.posts_questions" } diff --git a/definitions/staging/stg_users.sqlx b/definitions/staging/stg_users.sqlx index 948f4d3..67fdfea 100644 --- a/definitions/staging/stg_users.sqlx +++ b/definitions/staging/stg_users.sqlx @@ -1,6 +1,5 @@ config { type: "view", - schema: "staging", description: "Cleaned version of stackoverflow.users table" }