Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ data "aws_iam_policy_document" "sso_read_only_table_access" {
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_summary_all",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/request_item_status_summary_all_email_filter",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/dates",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/letters_invoice_units",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/letters_invoice_units_monthly",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/letters_invoice_units_weekly",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/latency_percentiles",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/daily_recipient_count",
"arn:aws:glue:${var.region}:${var.aws_account_id}:table/${var.project}-*-reporting-database/daily_recipient_distribution",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ data "aws_iam_policy_document" "powerbi_gateway_permissions_policy" {
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_summary_all",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/request_item_status_summary_all_email_filter",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/dates",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/letters_invoice_units",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/letters_invoice_units_monthly",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/letters_invoice_units_weekly",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/latency_percentiles",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/daily_recipient_count",
"arn:aws:glue:${var.region}:${local.this_account}:table/${aws_glue_catalog_database.reporting.name}/daily_recipient_distribution",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
resource "null_resource" "letters_invoice_units_monthly_view" {
triggers = {
sql = filesha256("${path.module}/scripts/sql/views/letters_invoice_units_monthly.sql")
}
provisioner "local-exec" {
command = <<EOT
${path.module}/scripts/create_replace_view.sh \
${aws_athena_workgroup.setup.name} \
${aws_glue_catalog_database.reporting.name} \
letters_invoice_units_monthly
EOT
}

depends_on = [
null_resource.request_item_plan_status_table
]
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
resource "null_resource" "letters_invoice_units_view" {
resource "null_resource" "letters_invoice_units_weekly_view" {
triggers = {
sql = filesha256("${path.module}/scripts/sql/views/letters_invoice_units.sql")
sql = filesha256("${path.module}/scripts/sql/views/letters_invoice_units_weekly.sql")
}
provisioner "local-exec" {
command = <<EOT
${path.module}/scripts/create_replace_view.sh \
${aws_athena_workgroup.setup.name} \
${aws_glue_catalog_database.reporting.name} \
letters_invoice_units
letters_invoice_units_weekly
EOT
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ FROM (
AND sendtime IS NOT NULL
AND status='DELIVERED'
)
GROUP BY clientid, campaignid, supplier, YEAR(invoicetime), MONTH(invoicetime)
ORDER BY clientid, campaignid, supplier, YEAR(invoicetime), MONTH(invoicetime)
GROUP BY 1, 2, 3, 4, 5
ORDER BY 1, 2, 3, 4, 5
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
CREATE OR REPLACE VIEW ${view_name} AS
SELECT clientid, campaignid, supplier, YEAR_OF_WEEK(invoicetime) AS invoiceyear, WEEK(invoicetime) AS invoiceweek, COUNT(*) AS unitcount
FROM (
SELECT clientid, campaignid, supplier,
CASE
WHEN supplier='MBA' THEN
CASE
WHEN DAY_OF_WEEK(sendtime)=4 THEN DATE_ADD('day', 4, sendtime)
WHEN DAY_OF_WEEK(sendtime)=5 THEN DATE_ADD('day', 4, sendtime)
WHEN DAY_OF_WEEK(sendtime)=6 THEN DATE_ADD('day', 4, sendtime)
WHEN DAY_OF_WEEK(sendtime)=7 THEN DATE_ADD('day', 3, sendtime)
ELSE DATE_ADD('day', 2, sendtime)
END
ELSE sendtime
END AS invoicetime
FROM request_item_plan_status
WHERE communicationtype='LETTER'
AND sendtime IS NOT NULL
AND status='DELIVERED'
)
GROUP BY 1, 2, 3, 4, 5
ORDER BY 1, 2, 3, 4, 5
Loading