From f5306abf54a59bc112fe1eaa2371d4d376969c4c Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 11 Feb 2026 15:24:30 +1300 Subject: [PATCH 1/6] first swing at migrating the SL benchmark to ade --- .gitignore | 1 + docker/base/Dockerfile.duckdb-dbt | 1 + docker/base/Dockerfile.snowflake-dbt | 1 + scripts_python/import_sl_bench.py | 315 +++++++ .../dbt/acme_insurance/dbt_project.yml | 26 + .../models/omg_models/agreement.sql | 7 + .../omg_models/agreement_assessment.sql | 4 + .../omg_models/agreement_party_role.sql | 8 + .../omg_models/assesment_party_role.sql | 7 + .../models/omg_models/assessment.sql | 7 + .../models/omg_models/assessment_result.sql | 6 + .../models/omg_models/catastrophe.sql | 7 + .../models/omg_models/claim.sql | 17 + .../models/omg_models/claim_amount.sql | 10 + .../models/omg_models/claim_coverage.sql | 5 + .../models/omg_models/expense_payment.sql | 4 + .../models/omg_models/expense_reserve.sql | 3 + .../models/omg_models/fire_claim.sql | 11 + .../models/omg_models/geographic_location.sql | 11 + .../models/omg_models/insurable_object.sql | 5 + .../models/omg_models/location_address.sql | 11 + .../models/omg_models/loss_payment.sql | 3 + .../models/omg_models/loss_reserve.sql | 3 + .../models/omg_models/occurrences.sql | 10 + .../models/omg_models/organizations.sql | 11 + .../models/omg_models/party.sql | 7 + .../models/omg_models/party_role.sql | 5 + .../models/omg_models/person.sql | 13 + .../models/omg_models/policy.sql | 8 + .../models/omg_models/policy_amount.sql | 13 + .../omg_models/policy_coverage_detail.sql | 11 + .../models/omg_models/premium.sql | 3 + .../models/omg_models/pysical_location.sql | 12 + .../omg_models/underwriting_assessment.sql | 3 + .../models/omg_semantics/agreement.yaml | 15 + .../omg_semantics/agreement_assesments.yaml | 9 + .../omg_semantics/agreement_party_role.yaml | 28 + .../models/omg_semantics/assessment.yaml | 19 + .../omg_semantics/assessment_party_role.yaml | 20 + .../omg_semantics/assessment_result.yaml | 11 + .../models/omg_semantics/catastrophe.yaml | 15 + .../models/omg_semantics/claim.yaml | 58 ++ .../models/omg_semantics/claim_amount.yaml | 50 ++ .../models/omg_semantics/claim_coverage.yaml | 14 + .../models/omg_semantics/expense_payment.yaml | 12 + .../models/omg_semantics/expense_reserve.yaml | 12 + .../models/omg_semantics/fire_claim.yaml | 35 + .../omg_semantics/geographic_locations.yaml | 33 + .../omg_semantics/insurable_objects.yaml | 17 + .../omg_semantics/location_address.yaml | 46 + .../models/omg_semantics/loss_payment.yaml | 12 + .../models/omg_semantics/loss_reserve.yaml | 12 + .../omg_semantics/metricflow_time_spine.sql | 24 + .../models/omg_semantics/occurences.yaml | 37 + .../models/omg_semantics/organizations.yaml | 33 + .../models/omg_semantics/party.yaml | 32 + .../models/omg_semantics/policy.yaml | 35 + .../models/omg_semantics/policy_amount.yaml | 48 + .../omg_semantics/policy_coverage_detail.yaml | 36 + .../models/omg_semantics/premium.yaml | 13 + .../projects/dbt/acme_insurance/packages.yml | 3 + .../projects/dbt/acme_insurance/profiles.yml | 20 + .../dbt/acme_insurance/seeds/Agreement.csv | 3 + .../seeds/Agreement_Assessment.csv | 3 + .../seeds/Agreement_Party_Role.csv | 5 + .../seeds/Assesment_Party_Role.csv | 3 + .../dbt/acme_insurance/seeds/Assessment.csv | 3 + .../seeds/Assessment_Result.csv | 3 + .../dbt/acme_insurance/seeds/Catastrophe.csv | 5 + .../dbt/acme_insurance/seeds/Claim.csv | 3 + .../dbt/acme_insurance/seeds/Claim_Amount.csv | 9 + .../acme_insurance/seeds/Claim_Coverage.csv | 3 + .../acme_insurance/seeds/Expense_Payment.csv | 3 + .../acme_insurance/seeds/Expense_Reserve.csv | 3 + .../dbt/acme_insurance/seeds/FireClaim.csv | 821 ++++++++++++++++++ .../seeds/Geographic_Location.csv | 9 + .../acme_insurance/seeds/Insurable_Object.csv | 3 + .../acme_insurance/seeds/Location_Address.csv | 9 + .../dbt/acme_insurance/seeds/Loss_Payment.csv | 3 + .../dbt/acme_insurance/seeds/Loss_Reserve.csv | 3 + .../dbt/acme_insurance/seeds/Occurrence.csv | 3 + .../dbt/acme_insurance/seeds/Organization.csv | 2 + .../dbt/acme_insurance/seeds/Party.csv | 31 + .../dbt/acme_insurance/seeds/Party_Role.csv | 4 + .../dbt/acme_insurance/seeds/Person.csv | 30 + .../seeds/Physical_Location.csv | 9 + .../dbt/acme_insurance/seeds/Policy.csv | 3 + .../acme_insurance/seeds/Policy_Amount.csv | 13 + .../seeds/Policy_Coverage_Detail.csv | 7 + .../dbt/acme_insurance/seeds/Premium.csv | 7 + .../seeds/Underwriting_Assessment.csv | 3 + shared/projects/dbt/airbnb/package-lock.yml | 8 +- .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_001/solution.sh | 23 + tasks/free_text_acme_hqhs_001/task.yaml | 39 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_002/solution.sh | 24 + tasks/free_text_acme_hqhs_002/task.yaml | 37 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqhs_003/solution.sh | 25 + tasks/free_text_acme_hqhs_003/task.yaml | 39 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_004/solution.sh | 27 + tasks/free_text_acme_hqhs_004/task.yaml | 37 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_005/solution.sh | 24 + tasks/free_text_acme_hqhs_005/task.yaml | 39 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqhs_006/solution.sh | 19 + tasks/free_text_acme_hqhs_006/task.yaml | 36 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_007/solution.sh | 27 + tasks/free_text_acme_hqhs_007/task.yaml | 38 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_008/solution.sh | 22 + tasks/free_text_acme_hqhs_008/task.yaml | 37 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqhs_009/solution.sh | 22 + tasks/free_text_acme_hqhs_009/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqhs_010/solution.sh | 28 + tasks/free_text_acme_hqhs_010/task.yaml | 39 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_001/solution.sh | 12 + tasks/free_text_acme_hqls_001/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_002/solution.sh | 13 + tasks/free_text_acme_hqls_002/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_003/solution.sh | 10 + tasks/free_text_acme_hqls_003/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_004/solution.sh | 13 + tasks/free_text_acme_hqls_004/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqls_005/solution.sh | 11 + tasks/free_text_acme_hqls_005/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_006/solution.sh | 7 + tasks/free_text_acme_hqls_006/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_007/solution.sh | 12 + tasks/free_text_acme_hqls_007/task.yaml | 35 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqls_008/solution.sh | 15 + tasks/free_text_acme_hqls_008/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_hqls_009/solution.sh | 12 + tasks/free_text_acme_hqls_009/task.yaml | 36 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_010/solution.sh | 7 + tasks/free_text_acme_hqls_010/task.yaml | 34 + .../seeds/solution__result.csv | 2 + tasks/free_text_acme_hqls_011/solution.sh | 10 + tasks/free_text_acme_hqls_011/task.yaml | 34 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_001/solution.sh | 18 + tasks/free_text_acme_lqhs_001/task.yaml | 35 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_002/solution.sh | 20 + tasks/free_text_acme_lqhs_002/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_003/solution.sh | 20 + tasks/free_text_acme_lqhs_003/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_004/solution.sh | 35 + tasks/free_text_acme_lqhs_004/task.yaml | 39 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_005/solution.sh | 31 + tasks/free_text_acme_lqhs_005/task.yaml | 39 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_006/solution.sh | 21 + tasks/free_text_acme_lqhs_006/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_007/solution.sh | 22 + tasks/free_text_acme_lqhs_007/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_008/solution.sh | 33 + tasks/free_text_acme_lqhs_008/task.yaml | 39 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_009/solution.sh | 32 + tasks/free_text_acme_lqhs_009/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_010/solution.sh | 20 + tasks/free_text_acme_lqhs_010/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqhs_011/solution.sh | 18 + tasks/free_text_acme_lqhs_011/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_001/solution.sh | 9 + tasks/free_text_acme_lqls_001/task.yaml | 34 + .../tests/AUTO_result_equality.sql | 33 + .../tests/AUTO_result_existence.sql | 16 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_002/solution.sh | 12 + tasks/free_text_acme_lqls_002/task.yaml | 34 + .../seeds/solution__result.csv | 7 + tasks/free_text_acme_lqls_003/solution.sh | 11 + tasks/free_text_acme_lqls_003/task.yaml | 34 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_004/solution.sh | 8 + tasks/free_text_acme_lqls_004/task.yaml | 34 + .../seeds/solution__result.csv | 7 + tasks/free_text_acme_lqls_005/solution.sh | 11 + tasks/free_text_acme_lqls_005/task.yaml | 37 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_006/solution.sh | 12 + tasks/free_text_acme_lqls_006/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_007/solution.sh | 9 + tasks/free_text_acme_lqls_007/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_008/solution.sh | 14 + tasks/free_text_acme_lqls_008/task.yaml | 34 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_009/solution.sh | 13 + tasks/free_text_acme_lqls_009/task.yaml | 34 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_010/solution.sh | 8 + tasks/free_text_acme_lqls_010/task.yaml | 35 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_011/solution.sh | 8 + tasks/free_text_acme_lqls_011/task.yaml | 36 + .../seeds/solution__result.csv | 3 + tasks/free_text_acme_lqls_012/solution.sh | 13 + tasks/free_text_acme_lqls_012/task.yaml | 34 + .../seeds/solution__result.csv | 7 + tasks/free_text_acme_lqls_013/solution.sh | 10 + tasks/free_text_acme_lqls_013/task.yaml | 34 + 229 files changed, 4844 insertions(+), 4 deletions(-) create mode 100644 scripts_python/import_sl_bench.py create mode 100644 shared/projects/dbt/acme_insurance/dbt_project.yml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/claim.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/party.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/person.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/policy.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/premium.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/agreement.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_assesments.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_party_role.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/assessment.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_party_role.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_result.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/catastrophe.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/claim.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/claim_amount.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/claim_coverage.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/expense_payment.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/expense_reserve.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/fire_claim.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/geographic_locations.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/insurable_objects.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/location_address.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/loss_payment.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/loss_reserve.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.sql create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/occurences.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/organizations.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/party.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/policy.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/policy_amount.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/policy_coverage_detail.yaml create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/premium.yaml create mode 100644 shared/projects/dbt/acme_insurance/packages.yml create mode 100644 shared/projects/dbt/acme_insurance/profiles.yml create mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Assessment.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/FireClaim.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Location_Address.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Occurrence.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Organization.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Party.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Party_Role.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Person.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Premium.csv create mode 100644 shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv create mode 100644 tasks/free_text_acme_hqhs_001/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_001/solution.sh create mode 100644 tasks/free_text_acme_hqhs_001/task.yaml create mode 100644 tasks/free_text_acme_hqhs_002/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_002/solution.sh create mode 100644 tasks/free_text_acme_hqhs_002/task.yaml create mode 100644 tasks/free_text_acme_hqhs_003/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_003/solution.sh create mode 100644 tasks/free_text_acme_hqhs_003/task.yaml create mode 100644 tasks/free_text_acme_hqhs_004/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_004/solution.sh create mode 100644 tasks/free_text_acme_hqhs_004/task.yaml create mode 100644 tasks/free_text_acme_hqhs_005/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_005/solution.sh create mode 100644 tasks/free_text_acme_hqhs_005/task.yaml create mode 100644 tasks/free_text_acme_hqhs_006/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_006/solution.sh create mode 100644 tasks/free_text_acme_hqhs_006/task.yaml create mode 100644 tasks/free_text_acme_hqhs_007/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_007/solution.sh create mode 100644 tasks/free_text_acme_hqhs_007/task.yaml create mode 100644 tasks/free_text_acme_hqhs_008/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_008/solution.sh create mode 100644 tasks/free_text_acme_hqhs_008/task.yaml create mode 100644 tasks/free_text_acme_hqhs_009/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_009/solution.sh create mode 100644 tasks/free_text_acme_hqhs_009/task.yaml create mode 100644 tasks/free_text_acme_hqhs_010/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqhs_010/solution.sh create mode 100644 tasks/free_text_acme_hqhs_010/task.yaml create mode 100644 tasks/free_text_acme_hqls_001/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_001/solution.sh create mode 100644 tasks/free_text_acme_hqls_001/task.yaml create mode 100644 tasks/free_text_acme_hqls_002/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_002/solution.sh create mode 100644 tasks/free_text_acme_hqls_002/task.yaml create mode 100644 tasks/free_text_acme_hqls_003/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_003/solution.sh create mode 100644 tasks/free_text_acme_hqls_003/task.yaml create mode 100644 tasks/free_text_acme_hqls_004/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_004/solution.sh create mode 100644 tasks/free_text_acme_hqls_004/task.yaml create mode 100644 tasks/free_text_acme_hqls_005/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_005/solution.sh create mode 100644 tasks/free_text_acme_hqls_005/task.yaml create mode 100644 tasks/free_text_acme_hqls_006/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_006/solution.sh create mode 100644 tasks/free_text_acme_hqls_006/task.yaml create mode 100644 tasks/free_text_acme_hqls_007/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_007/solution.sh create mode 100644 tasks/free_text_acme_hqls_007/task.yaml create mode 100644 tasks/free_text_acme_hqls_008/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_008/solution.sh create mode 100644 tasks/free_text_acme_hqls_008/task.yaml create mode 100644 tasks/free_text_acme_hqls_009/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_009/solution.sh create mode 100644 tasks/free_text_acme_hqls_009/task.yaml create mode 100644 tasks/free_text_acme_hqls_010/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_010/solution.sh create mode 100644 tasks/free_text_acme_hqls_010/task.yaml create mode 100644 tasks/free_text_acme_hqls_011/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_hqls_011/solution.sh create mode 100644 tasks/free_text_acme_hqls_011/task.yaml create mode 100644 tasks/free_text_acme_lqhs_001/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_001/solution.sh create mode 100644 tasks/free_text_acme_lqhs_001/task.yaml create mode 100644 tasks/free_text_acme_lqhs_002/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_002/solution.sh create mode 100644 tasks/free_text_acme_lqhs_002/task.yaml create mode 100644 tasks/free_text_acme_lqhs_003/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_003/solution.sh create mode 100644 tasks/free_text_acme_lqhs_003/task.yaml create mode 100644 tasks/free_text_acme_lqhs_004/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_004/solution.sh create mode 100644 tasks/free_text_acme_lqhs_004/task.yaml create mode 100644 tasks/free_text_acme_lqhs_005/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_005/solution.sh create mode 100644 tasks/free_text_acme_lqhs_005/task.yaml create mode 100644 tasks/free_text_acme_lqhs_006/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_006/solution.sh create mode 100644 tasks/free_text_acme_lqhs_006/task.yaml create mode 100644 tasks/free_text_acme_lqhs_007/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_007/solution.sh create mode 100644 tasks/free_text_acme_lqhs_007/task.yaml create mode 100644 tasks/free_text_acme_lqhs_008/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_008/solution.sh create mode 100644 tasks/free_text_acme_lqhs_008/task.yaml create mode 100644 tasks/free_text_acme_lqhs_009/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_009/solution.sh create mode 100644 tasks/free_text_acme_lqhs_009/task.yaml create mode 100644 tasks/free_text_acme_lqhs_010/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_010/solution.sh create mode 100644 tasks/free_text_acme_lqhs_010/task.yaml create mode 100644 tasks/free_text_acme_lqhs_011/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqhs_011/solution.sh create mode 100644 tasks/free_text_acme_lqhs_011/task.yaml create mode 100644 tasks/free_text_acme_lqls_001/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_001/solution.sh create mode 100644 tasks/free_text_acme_lqls_001/task.yaml create mode 100644 tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_002/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_002/solution.sh create mode 100644 tasks/free_text_acme_lqls_002/task.yaml create mode 100644 tasks/free_text_acme_lqls_003/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_003/solution.sh create mode 100644 tasks/free_text_acme_lqls_003/task.yaml create mode 100644 tasks/free_text_acme_lqls_004/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_004/solution.sh create mode 100644 tasks/free_text_acme_lqls_004/task.yaml create mode 100644 tasks/free_text_acme_lqls_005/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_005/solution.sh create mode 100644 tasks/free_text_acme_lqls_005/task.yaml create mode 100644 tasks/free_text_acme_lqls_006/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_006/solution.sh create mode 100644 tasks/free_text_acme_lqls_006/task.yaml create mode 100644 tasks/free_text_acme_lqls_007/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_007/solution.sh create mode 100644 tasks/free_text_acme_lqls_007/task.yaml create mode 100644 tasks/free_text_acme_lqls_008/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_008/solution.sh create mode 100644 tasks/free_text_acme_lqls_008/task.yaml create mode 100644 tasks/free_text_acme_lqls_009/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_009/solution.sh create mode 100644 tasks/free_text_acme_lqls_009/task.yaml create mode 100644 tasks/free_text_acme_lqls_010/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_010/solution.sh create mode 100644 tasks/free_text_acme_lqls_010/task.yaml create mode 100644 tasks/free_text_acme_lqls_011/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_011/solution.sh create mode 100644 tasks/free_text_acme_lqls_011/task.yaml create mode 100644 tasks/free_text_acme_lqls_012/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_012/solution.sh create mode 100644 tasks/free_text_acme_lqls_012/task.yaml create mode 100644 tasks/free_text_acme_lqls_013/seeds/solution__result.csv create mode 100755 tasks/free_text_acme_lqls_013/solution.sh create mode 100644 tasks/free_text_acme_lqls_013/task.yaml diff --git a/.gitignore b/.gitignore index c92233ec..e4309edc 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ dmypy.json # misc zz-* +/shared/projects/dbt/airbnb/dbt_internal_packages diff --git a/docker/base/Dockerfile.duckdb-dbt b/docker/base/Dockerfile.duckdb-dbt index 9dcab047..81fe55d7 100644 --- a/docker/base/Dockerfile.duckdb-dbt +++ b/docker/base/Dockerfile.duckdb-dbt @@ -11,6 +11,7 @@ RUN pip install --no-cache-dir \ dbt-core==1.10.11 \ dbt-duckdb==1.9.3 \ duckdb==1.3.0 \ + "dbt-metricflow[dbt-duckdb]" \ pyyaml>=6.0 \ uv>=0.7 diff --git a/docker/base/Dockerfile.snowflake-dbt b/docker/base/Dockerfile.snowflake-dbt index 7de7187b..1ca4ef58 100644 --- a/docker/base/Dockerfile.snowflake-dbt +++ b/docker/base/Dockerfile.snowflake-dbt @@ -14,6 +14,7 @@ RUN pip install --no-cache-dir \ dbt-core==1.10.11 \ dbt-snowflake==1.10.2 \ snowflake-connector-python==3.13.1 \ + "dbt-metricflow[dbt-snowflake]" \ pyyaml>=6.0 \ uv>=0.7 diff --git a/scripts_python/import_sl_bench.py b/scripts_python/import_sl_bench.py new file mode 100644 index 00000000..345ea15a --- /dev/null +++ b/scripts_python/import_sl_bench.py @@ -0,0 +1,315 @@ +#!/usr/bin/env python3 +""" +One-off converter: import dbt Semantic Layer LLM Benchmark challenges into ADE-Bench tasks. + +Usage: + uv run --with rdflib scripts_python/import_sl_bench.py \ + --ttl /path/to/acme-benchmark.ttl \ + --output tasks/ \ + --db-path shared/databases/duckdb/acme_insurance.duckdb +""" + +import argparse +import csv +import io +import os +import re +import sys +import textwrap +from collections import defaultdict +from pathlib import Path + +import yaml + +try: + import duckdb +except ImportError: + print("ERROR: duckdb is required. Install with: pip install duckdb", file=sys.stderr) + sys.exit(1) + +try: + from rdflib import Graph, Namespace, RDF +except ImportError: + print("ERROR: rdflib is required. Run with: uv run --with rdflib scripts_python/import_sl_bench.py", file=sys.stderr) + sys.exit(1) + + +QandA = Namespace("http://models.data.world/benchmarks/QandA#") +DWT = Namespace("https://templates.data.world/") +DCT = Namespace("http://purl.org/dc/terms/") + + +def parse_ttl(ttl_path: str) -> tuple[list[dict], list[dict]]: + """Parse the .ttl file and return (inquiries, sql_queries).""" + g = Graph() + g.parse(ttl_path, format="turtle") + + # Extract SQL queries + sql_queries = {} + for subj in g.subjects(RDF.type, DWT.SqlQuery): + query_text = str(g.value(subj, QandA.queryText, default="")) + title = str(g.value(subj, DCT.title, default="")) + description = str(g.value(subj, DCT.description, default="")) + sql_queries[subj] = { + "uri": str(subj), + "query_text": query_text, + "title": title, + "description": description, + } + + # Extract SPARQL queries (to identify and skip SPARQL-only expects) + sparql_queries = set() + for subj in g.subjects(RDF.type, DWT.SparqlQuery): + sparql_queries.add(subj) + + # Extract Inquiries and link to SQL queries + inquiries = [] + for subj in g.subjects(RDF.type, QandA.Inquiry): + prompt = str(g.value(subj, QandA.prompt, default="")) + expects = list(g.objects(subj, QandA.expects)) + + # Find SQL expects (skip SPARQL) + sql_expects = [e for e in expects if e in sql_queries] + + if not sql_expects: + continue # Skip inquiries that only have SPARQL expects + + for sql_uri in sql_expects: + inquiries.append({ + "uri": str(subj), + "prompt": prompt, + "sql_query": sql_queries[sql_uri], + }) + + return inquiries, list(sql_queries.values()) + + +def extract_category(title: str) -> str: + """Extract HQLS/LQLS/HQHS/LQHS from the title.""" + match = re.match(r"(HQLS|LQLS|HQHS|LQHS)", title) + if match: + return match.group(1).lower() + return "unknown" + + +def assess_difficulty(sql: str) -> str: + """Heuristic difficulty assessment based on SQL complexity.""" + sql_upper = sql.upper() + + join_count = len(re.findall(r'\bJOIN\b', sql_upper)) + has_subquery = "SELECT" in sql_upper[sql_upper.find("FROM"):] if "FROM" in sql_upper else False + has_group_by = "GROUP BY" in sql_upper + has_avg = "AVG(" in sql_upper or "AVERAGE" in sql_upper + has_complex_agg = any(fn in sql_upper for fn in ["SUM(", "AVG(", "DATEDIFF("]) + has_case = "CASE" in sql_upper + has_window = "OVER(" in sql_upper or "OVER (" in sql_upper + + if join_count >= 4 or has_subquery or (has_complex_agg and join_count >= 3) or has_window or has_case: + return "hard" + elif join_count >= 2 or has_group_by or has_complex_agg: + return "medium" + else: + return "easy" + + +def run_gold_query(db_path: str, sql: str) -> tuple[list[str], list[tuple]]: + """Execute gold SQL against DuckDB and return (columns, rows).""" + con = duckdb.connect(db_path, read_only=True) + try: + result = con.execute(sql) + columns = [desc[0] for desc in result.description] + rows = result.fetchall() + return columns, rows + finally: + con.close() + + +def rows_to_csv(columns: list[str], rows: list[tuple]) -> str: + """Convert query results to CSV string.""" + output = io.StringIO() + writer = csv.writer(output) + writer.writerow(columns) + for row in rows: + writer.writerow(row) + return output.getvalue() + + +def adapt_sql_for_duckdb(sql: str) -> str: + """Adapt gold SQL queries for DuckDB compatibility.""" + # Fix DATE_DIFF with double-quoted "day" -> single-quoted 'day' + # DuckDB datediff syntax: datediff('unit', start, end) + sql = re.sub( + r'DATE_DIFF\s*\(\s*(\w+)\s*,\s*(\w+)\s*,\s*"(\w+)"\s*\)', + r"datediff('\3', \1, \2)", + sql, + ) + # Remove # line comments (MySQL-style) — replace with -- comments + sql = re.sub(r'(?m)^(\s*)#(.*)$', r'\1--\2', sql) + return sql + + +def generate_task( + task_id: str, + inquiry: dict, + category: str, + difficulty: str, + output_dir: Path, + db_path: str, +) -> bool: + """Generate a single task directory. Returns True on success.""" + sql_query = inquiry["sql_query"] + gold_sql_original = sql_query["query_text"] + gold_sql = adapt_sql_for_duckdb(gold_sql_original) + title = sql_query["title"] + prompt_text = inquiry["prompt"] + + task_dir = output_dir / task_id + task_dir.mkdir(parents=True, exist_ok=True) + + # Try running the gold SQL to generate solution seed + try: + columns, rows = run_gold_query(db_path, gold_sql) + except Exception as e: + print(f" WARNING: Gold SQL failed for {task_id}: {e}") + print(f" SQL: {gold_sql[:200]}...") + # Write a note file and continue — the task is still valid, just needs manual CSV + (task_dir / "GOLD_SQL_ERROR.txt").write_text(f"Error: {e}\nSQL: {gold_sql}\n") + columns, rows = [], [] + + # Write solution seed CSV + seeds_dir = task_dir / "seeds" + seeds_dir.mkdir(exist_ok=True) + if columns and rows: + csv_content = rows_to_csv(columns, rows) + (seeds_dir / "solution__result.csv").write_text(csv_content) + elif columns: + # Query returned 0 rows — still write header + csv_content = rows_to_csv(columns, []) + (seeds_dir / "solution__result.csv").write_text(csv_content) + + # Strip whitespace from prompt text to avoid YAML indentation issues + prompt_text = prompt_text.strip() + + base_prompt = f"{prompt_text}\n\nWrite a model called result.sql containing your answer." + sl_prompt = f"Using the dbt semantic layer, answer this question:\n\n{prompt_text}\n\nWrite a model called result.sql containing your answer." + + # Build task data as a dict and serialize with yaml.dump for correctness + task_data = { + "task_id": task_id, + "status": "ready", + "description": title, + "prompts": [ + {"key": "base", "prompt": base_prompt}, + {"key": "with_sl", "prompt": sl_prompt}, + ], + "author_name": "dbt-labs", + "author_email": "noreply@getdbt.com", + "difficulty": difficulty, + "tags": [ + "semantic-layer", + "metricflow", + "free-text", + "acme-insurance", + category, + ], + "test_setup": "dbt run --select result", + "solution_seeds": [{"table_name": "result"}], + "variants": [ + { + "db_type": "duckdb", + "db_name": "acme_insurance", + "project_type": "dbt", + "project_name": "acme_insurance", + } + ], + } + task_yaml = yaml.dump(task_data, default_flow_style=False, sort_keys=False, allow_unicode=True) + (task_dir / "task.yaml").write_text(task_yaml) + + # Write solution.sh + solution_sh = f"""#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +{gold_sql} +GOLD_SQL + +dbt run --select result +""" + (task_dir / "solution.sh").write_text(solution_sh) + os.chmod(task_dir / "solution.sh", 0o755) + + return True + + +def main(): + parser = argparse.ArgumentParser(description="Import dbt SL LLM benchmark into ADE-Bench tasks") + parser.add_argument("--ttl", required=True, help="Path to acme-benchmark.ttl") + parser.add_argument("--output", required=True, help="Output directory for tasks (e.g., tasks/)") + parser.add_argument("--db-path", required=True, help="Path to acme_insurance.duckdb") + parser.add_argument("--dry-run", action="store_true", help="Parse and report without generating files") + args = parser.parse_args() + + output_dir = Path(args.output) + + print(f"Parsing TTL file: {args.ttl}") + inquiries, all_sql = parse_ttl(args.ttl) + print(f"Found {len(inquiries)} inquiries with SQL queries") + print(f"Total SQL queries in file: {len(all_sql)}") + + # Deduplicate inquiries by (prompt, sql_query_text) to avoid duplicates + seen = set() + unique_inquiries = [] + for inq in inquiries: + key = (inq["prompt"], inq["sql_query"]["query_text"]) + if key not in seen: + seen.add(key) + unique_inquiries.append(inq) + print(f"Unique (prompt, SQL) pairs: {len(unique_inquiries)}") + + # Group by category + by_category = defaultdict(list) + for inq in unique_inquiries: + cat = extract_category(inq["sql_query"]["title"]) + by_category[cat].append(inq) + + print("\nCategory breakdown:") + for cat in sorted(by_category.keys()): + print(f" {cat.upper()}: {len(by_category[cat])} tasks") + + if args.dry_run: + print("\n--- DRY RUN: Not generating files ---") + for cat in sorted(by_category.keys()): + for i, inq in enumerate(by_category[cat], 1): + task_id = f"free_text_acme_{cat}_{i:03d}" + difficulty = assess_difficulty(inq["sql_query"]["query_text"]) + print(f" {task_id} [{difficulty}]: {inq['sql_query']['title']}") + print(f" Prompt: {inq['prompt'][:100]}...") + return + + # Generate tasks + all_task_ids = [] + for cat in sorted(by_category.keys()): + for i, inq in enumerate(by_category[cat], 1): + task_id = f"free_text_acme_{cat}_{i:03d}" + difficulty = assess_difficulty(inq["sql_query"]["query_text"]) + print(f"Generating {task_id} [{difficulty}]...") + success = generate_task( + task_id=task_id, + inquiry=inq, + category=cat, + difficulty=difficulty, + output_dir=output_dir, + db_path=args.db_path, + ) + if success: + all_task_ids.append(task_id) + + print(f"\nGenerated {len(all_task_ids)} tasks") + + # Print task IDs for experiment set + print("\n--- Task IDs for experiment set ---") + for tid in all_task_ids: + print(f" - {tid}") + + +if __name__ == "__main__": + main() diff --git a/shared/projects/dbt/acme_insurance/dbt_project.yml b/shared/projects/dbt/acme_insurance/dbt_project.yml new file mode 100644 index 00000000..a9d540d3 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/dbt_project.yml @@ -0,0 +1,26 @@ +name: 'acme_insurance' +version: '1.0.0' +config-version: 2 + +profile: 'acme_insurance-duckdb' + +model-paths: ["models"] +analysis-paths: ["analyses"] +seed-paths: ["seeds"] +macro-paths: ["macros"] +snapshot-paths: ["snapshots"] + +target-path: "target" +clean-targets: + - "target" + - "dbt_packages" + +models: + +materialized: table + +seeds: + +schema: main + acme_insurance: + Policy: + +column_types: + Policy_Number: "BIGINT" diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql new file mode 100644 index 00000000..8275f27a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql @@ -0,0 +1,7 @@ +select + Agreement_Type_Code, + Agreement_Name, + Agreement_Original_Inception_Date, + Product_Identifier +from + {{ ref('Agreement') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql new file mode 100644 index 00000000..0a4134f6 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql @@ -0,0 +1,4 @@ +select + Agreement_Identifier, + Assessment_Identifier +from {{ ref('Agreement_Assessment') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql new file mode 100644 index 00000000..63f381c9 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql @@ -0,0 +1,8 @@ +select + Agreement_Identifier, + Party_Identifier, + Party_Role_Code, + Effective_Date, + Expiration_Date +from + {{ ref('Agreement_Party_Role') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql new file mode 100644 index 00000000..e81b487f --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql @@ -0,0 +1,7 @@ +select + Party_Identifier, + Assessment_Identifier, + Party_Role_Code, + Begin_Date, + End_Date +from {{ ref('Assesment_Party_Role') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql new file mode 100644 index 00000000..872544f3 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql @@ -0,0 +1,7 @@ +select + Assessment_Identifier, + Begin_Date, + Assessment_Description, + End_Date, + Assessment_Reason_Description +from {{ ref('Assessment') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql new file mode 100644 index 00000000..b5449776 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql @@ -0,0 +1,6 @@ +select + Assessment_Result_Identifier, + Assessment_Identifier, + Assessment_Result_Type_Code +from + {{ ref('Assessment_Result') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql b/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql new file mode 100644 index 00000000..75f66a79 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql @@ -0,0 +1,7 @@ +select + Catastrophe_Identifier, + Catastrophe_Type_Code, + Catastrophe_Name, + Industry_Catastrophe_Code, + Company_Catastrophe_Code +from {{ ref('Catastrophe') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql new file mode 100644 index 00000000..378bacea --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql @@ -0,0 +1,17 @@ +select + Claim_Identifier, + Catastrophe_Identifier, + Claim_Description, + Claims_Made_Date, + Company_Claim_Number, + Company_Subclaim_Number, + Insurable_Object_Identifier, + Occurrence_Identifier, + Entry_Into_Claims_Made_Program_Date, + Claim_Open_Date, + Claim_Close_Date, + Claim_Reopen_Date, + Claim_Status_Code, + Claim_Reported_Date +from + {{ ref('Claim') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql new file mode 100644 index 00000000..9253a04a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql @@ -0,0 +1,10 @@ +select + Claim_Amount_Identifier, + Claim_Identifier, + Claim_Offer_Identifier, + Amount_Type_Code, + Event_Date, + Claim_Amount, + Insurance_Type_Code +from + {{ ref('Claim_Amount') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql new file mode 100644 index 00000000..29846379 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql @@ -0,0 +1,5 @@ +select + Claim_Identifier, + Effective_Date, + Policy_Coverage_Detail_Identifier +from {{ ref('Claim_Coverage') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql new file mode 100644 index 00000000..329c7e77 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql @@ -0,0 +1,4 @@ +select + Claim_Amount_Identifier +from + {{ ref('Expense_Payment') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql b/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql new file mode 100644 index 00000000..4c25b5f1 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql @@ -0,0 +1,3 @@ +select + Claim_Amount_Identifier +from {{ ref('Expense_Reserve') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql b/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql new file mode 100644 index 00000000..62f4c3e6 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql @@ -0,0 +1,11 @@ +select + PolicyNo, + ClaimNumber, + Premium, + InsuredLocation, + Loss_Ratio, + Nearest_Firestation_miles, + Number_of_Firefighters, + Fireplace, + Year_Built +from {{ ref('FireClaim') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql b/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql new file mode 100644 index 00000000..1ef8e792 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql @@ -0,0 +1,11 @@ +select + Geographic_Location_Identifier, + Parent_Geographic_Location_Identifier, + Geographic_Location_Type_Code, + Location_Code, + Location_Name, + Location_Number, + State_Code, + Location_Address_Identifier, + Physical_Location_Identifier +from {{ ref('Geographic_Location') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql b/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql new file mode 100644 index 00000000..e8c2cf60 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql @@ -0,0 +1,5 @@ +select + Insurable_Object_Identifier, + Geographic_Location_Identifier, + Insurable_Object_Type_Code +from {{ ref('Insurable_Object') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql b/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql new file mode 100644 index 00000000..3c58d4da --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql @@ -0,0 +1,11 @@ +select +Location_Address_Identifier, +Line_1_Address, +Municipality_Name, +Line_2_Address, +Postal_Code, +Country_Code, +State_Code, +Begin_Date, +End_Date +from {{ ref('Location_Address') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql new file mode 100644 index 00000000..87b740b3 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql @@ -0,0 +1,3 @@ +select + Claim_Amount_Identifier +from {{ ref('Loss_Payment') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql b/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql new file mode 100644 index 00000000..c944e3df --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql @@ -0,0 +1,3 @@ +select + Claim_Amount_Identifier +from {{ ref('Loss_Reserve') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql b/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql new file mode 100644 index 00000000..a9b6782a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql @@ -0,0 +1,10 @@ +select + Occurrence_Identifier, + Catastrophic_Event_Indicator, + Geographic_Location_Identifier, + Occurrence_Begin_Date, + Occurrence_End_Date, + Occurrence_Begin_Time, + Occurrence_End_Time, + Occurrence_Name +from {{ ref('Occurrence') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql b/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql new file mode 100644 index 00000000..88399521 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql @@ -0,0 +1,11 @@ +select + Organization_Identifier, + Industry_Code, + Organization_Name, + Dun_And_Bradstreet_Identifier, + Organization_Type_Code, + Alternate_Name, + Organization_Description, + Acronym_Name, + Industry_Type_Code +from {{ ref('Organization') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/party.sql b/shared/projects/dbt/acme_insurance/models/omg_models/party.sql new file mode 100644 index 00000000..a0eb3206 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/party.sql @@ -0,0 +1,7 @@ +select + Party_Identifier, + Party_Name, + Begin_Date, + End_Date, + Party_Type_Code +from {{ ref('Party') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql new file mode 100644 index 00000000..e781247a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql @@ -0,0 +1,5 @@ +select + Party_Role_Code, + Party_Role_Name, + Party_Role_Description +from {{ ref('Party_Role') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/person.sql b/shared/projects/dbt/acme_insurance/models/omg_models/person.sql new file mode 100644 index 00000000..c36898de --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/person.sql @@ -0,0 +1,13 @@ +select + Person_Identifier, + First_Name, + Middle_Name, + Last_Name, + Full_Legal_Name, + Nickname, + Suffix_Name, + Birth_Date, + Birth_Place_Name, + Gender_Code, + Prefix_Name +from {{ ref('Person') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql new file mode 100644 index 00000000..f72d7ab0 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql @@ -0,0 +1,8 @@ +select + Policy_Identifier, + Effective_Date, + Expiration_Date, + Policy_Number, + Status_Code, + Geographic_Location_Identifier +from {{ ref('Policy') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql new file mode 100644 index 00000000..12248fbf --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql @@ -0,0 +1,13 @@ +select + Policy_Amount_Identifier, + Geographic_Location_Identifier, + Policy_Identifier, + Effective_Date, + Amount_Type_Code, + Earning_Begin_Date, + Earning_End_Date, + Policy_Coverage_Detail_Identifier, + Policy_Amount, + Insurable_Object_Identifier, + Insurance_Type_Code +from {{ ref('Policy_Amount') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql new file mode 100644 index 00000000..9aa0c87a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql @@ -0,0 +1,11 @@ +select + Effective_Date, + Policy_Coverage_Detail_Identifier, + Coverage_Identifier, + Insurable_Object_Identifier, + Policy_Identifier, + Coverage_Part_Code, + Coverage_Description, + Expiration_Date, + Coverage_Inclusion_Exclusion_Code +from {{ ref('Policy_Coverage_Detail') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql b/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql new file mode 100644 index 00000000..3c4ae05e --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql @@ -0,0 +1,3 @@ +select + Policy_Amount_Identifier +from {{ ref('Premium') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql b/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql new file mode 100644 index 00000000..801d889a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql @@ -0,0 +1,12 @@ +select + Physical_Location_Identifier, + Physical_Location_Name, + Latitude_Value, + Longitude_Value, + Altitude_Value, + Altitude_Mean_Sea_Level_Value, + Horizontal_Accuracy_Value, + Vertical_Accuracy_Value, + Travel_Direction_Description, + Location_Address_Identifier +from {{ ref('Physical_Location') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql new file mode 100644 index 00000000..c48f0a13 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql @@ -0,0 +1,3 @@ +select + Assessment_Result_Identifier +from {{ ref('Underwriting_Assessment') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement.yaml new file mode 100644 index 00000000..ba53fe5b --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement.yaml @@ -0,0 +1,15 @@ +semantic_models: + - name: agreement + model: ref('agreement') + entities: + - name: agreement_type_code + type: primary + - name: product_identifier + type: foreign + dimensions: + - name: agreement_name + type: categorical + - name: agreement_original_inception_date + type: time + type_params: + time_granularity: day diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_assesments.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_assesments.yaml new file mode 100644 index 00000000..4604300e --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_assesments.yaml @@ -0,0 +1,9 @@ +semantic_models: + - name: agreement_assessments + model: ref('agreement_assessment') + primary_entity: agreement_assessment + entities: + - name: agreement_identifier + type: foreign + - name: assessment_identifier + type: foreign diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_party_role.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_party_role.yaml new file mode 100644 index 00000000..293bd178 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/agreement_party_role.yaml @@ -0,0 +1,28 @@ +semantic_models: + - name: agreement_party_role + model: ref('agreement_party_role') + entities: + - name: policy + type: primary + expr: agreement_identifier + - name: party_identifier + description: "Use this in coordination with filter on party_role_code to refer to agent_id or policyholder_id " + type: foreign + dimensions: + - name: party_identifier_dim + description: "Use this in coordination with filter on party_role_code to refer to agent_id or policyholder_id " + type: categorical + expr: party_identifier + - name: effective_date + type: time + type_params: + time_granularity: day + - name: expiration_date + type: time + type_params: + time_granularity: day + - name: party_role_code + description: "Must filter using this dimension if referring to agents or policyholders. If party_role_code = 'PH' then Party_Identifier refers to policy_holder_id, if party_role_code = 'AG' then Party_Identifier refers to agent_id. Should be used in coordination with party_identifier" + type: categorical + + \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment.yaml new file mode 100644 index 00000000..692f8fcc --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment.yaml @@ -0,0 +1,19 @@ +semantic_models: + - name: assessment + model: ref('assessment') + entities: + - name: assessment_identifier + type: primary + dimensions: + - name: assessment_description + type: categorical + - name: begin_date + type: time + type_params: + time_granularity: day + - name: end_date + type: time + type_params: + time_granularity: day + - name: assessment_reason_description + type: categorical diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_party_role.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_party_role.yaml new file mode 100644 index 00000000..119ead41 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_party_role.yaml @@ -0,0 +1,20 @@ +semantic_models: + - name: assessment_party_role + model: ref('assesment_party_role') + primary_entity: assessment_party_role + entities: + - name: party_identifier + type: foreign + - name: assessment_identifier + type: foreign + dimensions: + - name: end_date + type: time + type_params: + time_granularity: day + - name: begin_date + type: time + type_params: + time_granularity: day + - name: party_role_code + type: categorical \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_result.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_result.yaml new file mode 100644 index 00000000..959f8a1a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/assessment_result.yaml @@ -0,0 +1,11 @@ +semantic_models: + - name: assessment_result + model: ref('assessment_result') + entities: + - name: assessment_result_identifier + type: primary + - name: assessment_sdentifier + type: foreign + dimensions: + - name: assessment_result_type_code + type: categorical diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/catastrophe.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/catastrophe.yaml new file mode 100644 index 00000000..a72d9375 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/catastrophe.yaml @@ -0,0 +1,15 @@ +semantic_models: + - name: catastrophe + model: ref('catastrophe') + entities: + - name: catastrophe_identifier + type: primary + dimensions: + - name: catastrophe_type_code + type: categorical + - name: catastrophe_name + type: categorical + - name: industry_catastrophe_code + type: categorical + - name: company_catastrophe_code + type: categorical diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/claim.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim.yaml new file mode 100644 index 00000000..0988f190 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim.yaml @@ -0,0 +1,58 @@ +semantic_models: + - name: claim + model: ref('claim') + defaults: + agg_time_dimension: claims_made_date + entities: + - name: catastrophe_identifier + type: foreign + - name: insurable_object_identifier + type: foreign + - name: occurrence_identifier + type: foreign + - name: claim_identifier + type: primary + dimensions: + - name: claim_description + type: categorical + - name: company_claim_number + type: categorical + - name: company_subclaim_number + type: categorical + - name: claims_made_date + type: time + type_params: + time_granularity: day + - name: entry_into_claims_made_program_date + type: time + type_params: + time_granularity: day + - name: claim_open_date + type: time + type_params: + time_granularity: day + - name: claim_close_date + type: time + type_params: + time_granularity: day + - name: claim_reopen_date + type: time + type_params: + time_granularity: day + - name: claim_status_code + type: time + type_params: + time_granularity: day + - name: claim_reported_date + type: time + type_params: + time_granularity: day + measures: + - name: claims + expr: company_claim_number + agg: count + create_metric: true + - name: avg_time_to_settle_claim + expr: DATEDIFF('day', claim_open_date, claim_close_date) + agg: average + create_metric: true \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_amount.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_amount.yaml new file mode 100644 index 00000000..94553c2b --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_amount.yaml @@ -0,0 +1,50 @@ +semantic_models: + - name: claim_amount + model: ref('claim_amount') + entities: + - name: claim_amount + type: primary + expr: claim_amount_identifier + - name: claim_identifier + type: foreign + - name: claim_offer_identifier + type: foreign + defaults: + agg_time_dimension: event_date + dimensions: + - name: amount_type_code + type: categorical + - name: event_date + type: time + type_params: + time_granularity: day + - name: insurance_type_code + type: categorical + measures: + - name: total_claim_amount + agg: sum + expr: claim_amount +metrics: + - name: loss_payment_amount + type: simple + label: Loss Payment Amount + type_params: + measure: total_claim_amount + filter: | + {{Dimension('claim_amount__has_loss_payment')}} = 1 + - name: loss_reserve_amount + type: simple + label: loss_reserve_amount + type_params: + measure: total_claim_amount + filter: | + {{Dimension('claim_amount__has_loss_reserve')}} = 1 + - name: total_loss_amount + description: Sum of loss_payment_amount and loss_reserve_amount + type: derived + label: Loss Amount + type_params: + expr: loss_payment_amount + loss_reserve_amount + metrics: + - name: loss_reserve_amount + - name: loss_payment_amount diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_coverage.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_coverage.yaml new file mode 100644 index 00000000..e6de3146 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/claim_coverage.yaml @@ -0,0 +1,14 @@ +semantic_models: + - name: claim_coverage + model: ref('claim_coverage') + entities: + - name: policy_coverage_detail + type: foreign + expr: policy_coverage_detail_identifier + - name: claim_identifier + type: primary + dimensions: + - name: effective_date + type: time + type_params: + time_granularity: day \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_payment.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_payment.yaml new file mode 100644 index 00000000..be156025 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_payment.yaml @@ -0,0 +1,12 @@ +semantic_models: + - name: expense_payment + model: ref('expense_payment') + description: "Table containting expense_payment information." + entities: + - name: claim_amount + type: primary + expr: Claim_Amount_Identifier + dimensions: + - name: has_expense_payment + type: categorical + expr: "1" diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_reserve.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_reserve.yaml new file mode 100644 index 00000000..c88176d9 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/expense_reserve.yaml @@ -0,0 +1,12 @@ +semantic_models: + - name: expense_reserve + model: ref('expense_reserve') + description: "Table containting expense_reserve information." + entities: + - name: claim_amount + type: primary + expr: Claim_Amount_Identifier + dimensions: + - name: has_expense_reserve + type: categorical + expr: "1" \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/fire_claim.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/fire_claim.yaml new file mode 100644 index 00000000..98594897 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/fire_claim.yaml @@ -0,0 +1,35 @@ +semantic_models: + - name: fire_claim + model: ref('fire_claim') + description: "A semantic model for fire insurance claims data." + defaults: + agg_time_dimension: year_built + entities: + - name: policy + type: primary + expr: PolicyNo + - name: claim + type: foreign + expr: ClaimNumber + dimensions: + - name: insured_location + type: categorical + expr: InsuredLocation + - name: nearest_firestation_miles + type: categorical + expr: Nearest_Firestation_miles + - name: number_of_firefighters + type: categorical + expr: Number_of_Firefighters + - name: fireplace + type: categorical + expr: Fireplace + - name: year_built + type: time + type_params: + time_granularity: year + measures: + - name: premium + description: "The total premium amount for the policy." + agg: sum + expr: Premium diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/geographic_locations.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/geographic_locations.yaml new file mode 100644 index 00000000..d382ffe8 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/geographic_locations.yaml @@ -0,0 +1,33 @@ +semantic_models: + - name: geographic_location + description: "This semantic model represents various geographic locations along with their identifiers and types." + model: ref('geographic_location') + entities: + - name: geographic_location + type: primary + expr: Geographic_Location_Identifier + - name: location_address + type: foreign + expr: Location_Address_Identifier + dimensions: + - name: parent_geographic_location + type: categorical + expr: Parent_Geographic_Location_Identifier + - name: geographic_location_type + type: categorical + expr: Geographic_Location_Type_Code + - name: location_code + type: categorical + expr: Location_Code + - name: location_name + type: categorical + expr: Location_Name + - name: location_number + type: categorical + expr: Location_Number + - name: state_code + type: categorical + expr: State_Code + - name: physical_location + type: categorical + expr: Physical_Location_Identifier diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/insurable_objects.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/insurable_objects.yaml new file mode 100644 index 00000000..c0a912b9 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/insurable_objects.yaml @@ -0,0 +1,17 @@ +semantic_models: + - name: insurable_object # Semantic model name for insurable objects + model: ref('insurable_object') # The dbt model reference + description: "This table contains information about insurable objects, including their type and geographic location." + + entities: + - name: insurable_object_identifier + type: primary + expr: Insurable_Object_Identifier + - name: geographic_location + type: foreign + expr: Geographic_Location_Identifier + + dimensions: + - name: insurable_object_type + type: categorical + expr: Insurable_Object_Type_Code \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/location_address.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/location_address.yaml new file mode 100644 index 00000000..6a5b3424 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/location_address.yaml @@ -0,0 +1,46 @@ +semantic_models: + - name: location_address + model: ref('location_address') + description: "This table contains address information, including historical data for addresses that can change over time." + defaults: + agg_time_dimension: begin_date + + entities: + - name: location_address + type: primary + expr: location_address_identifier + + dimensions: + - name: line_1_address + type: categorical + expr: line_1_address + + - name: municipality_name + type: categorical + expr: municipality_name + + - name: line_2_address + type: categorical + expr: line_2_address + + - name: postal_code + type: categorical + expr: postal_code + + - name: country_code + type: categorical + expr: country_code + + - name: state_code + type: categorical + expr: state_code + + - name: begin_date + type: time + type_params: + time_granularity: day + + - name: end_date + type: time + type_params: + time_granularity: day \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_payment.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_payment.yaml new file mode 100644 index 00000000..545de3eb --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_payment.yaml @@ -0,0 +1,12 @@ +semantic_models: + - name: loss_payment + model: ref('loss_payment') + description: "Table containting loss_payment information." + entities: + - name: claim_amount + type: primary + expr: Claim_Amount_Identifier + dimensions: + - name: has_loss_payment + type: categorical + expr: "1" diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_reserve.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_reserve.yaml new file mode 100644 index 00000000..94d83b6d --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/loss_reserve.yaml @@ -0,0 +1,12 @@ +semantic_models: + - name: loss_reserve + model: ref('loss_reserve') + description: "Table containting loss_reserve information." + entities: + - name: claim_amount + type: primary + expr: Claim_Amount_Identifier + dimensions: + - name: has_loss_reserve + type: categorical + expr: "1" diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.sql b/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.sql new file mode 100644 index 00000000..78227bcb --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.sql @@ -0,0 +1,24 @@ +{{ + config( + materialized = 'table', + ) +}} + +with days as ( + + {{ + dbt.date_spine( + 'day', + "cast('2000-01-01' as date)", + "cast('2027-01-01' as date)" + ) + }} + +), + +final as ( + select cast(date_day as date) as date_day + from days +) + +select * from final \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/occurences.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/occurences.yaml new file mode 100644 index 00000000..6d3eed77 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/occurences.yaml @@ -0,0 +1,37 @@ +semantic_models: + - name: occurrence_events + model: ref('occurrences') + description: "Details of various occurrences including dates, times, and locations." + defaults: + # Assuming Occurrence_Begin_Date is the most relevant date for aggregation + agg_time_dimension: occurrence_begin_date + entities: + - name: occurrence + type: primary + expr: Occurrence_Identifier + - name: geographic_location_identifier + type: foreign + expr: Geographic_Location_Identifier + dimensions: + - name: catastrophic_event_indicator + type: categorical + expr: Catastrophic_Event_Indicator + - name: occurrence_begin_date + type: time + type_params: + time_granularity: day + - name: occurrence_end_date + type: time + type_params: + time_granularity: day + - name: occurrence_begin_time + type: time + type_params: + time_granularity: day + - name: occurrence_end_time + type: time + type_params: + time_granularity: day + - name: occurrence_name + type: categorical + expr: Occurrence_Name diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/organizations.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/organizations.yaml new file mode 100644 index 00000000..81d90590 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/organizations.yaml @@ -0,0 +1,33 @@ +semantic_models: + - name: organization + model: ref('organizations') + description: "A table containing information about various organizations, including identifiers and industry classifications." + entities: + - name: organization + type: primary + expr: Organization_Identifier + dimensions: + - name: industry_code + type: categorical + expr: Industry_Code + - name: organization_name + type: categorical + expr: Organization_Name + - name: dun_and_bradstreet_identifier + type: categorical + expr: Dun_And_Bradstreet_Identifier + - name: organization_type_code + type: categorical + expr: Organization_Type_Code + - name: alternate_name + type: categorical + expr: Alternate_Name + - name: organization_description + type: categorical + expr: Organization_Description + - name: acronym_name + type: categorical + expr: Acronym_Name + - name: industry_type_code + type: categorical + expr: Industry_Type_Code \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/party.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/party.yaml new file mode 100644 index 00000000..8361741a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/party.yaml @@ -0,0 +1,32 @@ +semantic_models: + - name: party + model: ref('party') + description: "A table containing party information, including names, active dates, and types." + defaults: + agg_time_dimension: begin_date # Assuming Begin_Date is the most relevant time dimension for aggregation + + entities: + - name: party + type: primary + expr: Party_Identifier + + dimensions: + - name: party_name + type: categorical + expr: Party_Name + + - name: begin_date + type: time + type_params: + time_granularity: day + expr: Begin_Date + + - name: end_date + type: time + type_params: + time_granularity: day + expr: End_Date + + - name: party_type_code + type: categorical + expr: Party_Type_Code diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/policy.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy.yaml new file mode 100644 index 00000000..2069dc42 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy.yaml @@ -0,0 +1,35 @@ +semantic_models: + - name: policy + model: ref('policy') + description: "Table containting policy data" + defaults: + # Assuming Occurrence_Begin_Date is the most relevant date for aggregation + agg_time_dimension: policy_effective_date + entities: + - name: policy + type: primary + expr: Policy_Identifier + - name: geographic_location_identifier + type: foreign + expr: Geographic_Location_Identifier + dimensions: + - name: policy_number + type: categorical + - name: status_code + type: categorical + - name: policy_effective_date + type: time + type_params: + time_granularity: day + expr: Effective_Date + - name: policy_expiration_date + type: time + type_params: + time_granularity: day + expr: Expiration_Date + measures: + - name: number_of_policies + description: "The total number of policies." + agg: sum + expr: 1 + create_metric: true \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_amount.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_amount.yaml new file mode 100644 index 00000000..6ff58b2f --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_amount.yaml @@ -0,0 +1,48 @@ +semantic_models: + - name: policy_amount + model: ref('policy_amount') + description: "A model representing the amounts associated with insurance policies, including details of the policy coverage and the insured object." + defaults: + agg_time_dimension: effective_date + entities: + - name: policy_amount + type: primary + expr: Policy_Amount_Identifier + - name: geographic_location + type: foreign + expr: Geographic_Location_Identifier + - name: policy + type: foreign + expr: Policy_Identifier + - name: policy_coverage_detail + type: foreign + expr: Policy_Coverage_Detail_Identifier + - name: insurable_object + type: foreign + expr: Insurable_Object_Identifier + dimensions: + - name: effective_date + type: time + type_params: + time_granularity: day + - name: amount_type_code + type: categorical + - name: earning_begin_date + type: time + type_params: + time_granularity: day + - name: earning_end_date + type: time + type_params: + time_granularity: day + - name: insurance_type_code + type: categorical + - name: policy_amount_dim + type: categorical + expr: Policy_Amount + measures: + - name: total_policy_amount + description: "The total amount associated with the policy." + agg: sum + expr: Policy_Amount + create_metric: true \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_coverage_detail.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_coverage_detail.yaml new file mode 100644 index 00000000..afc574ff --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/policy_coverage_detail.yaml @@ -0,0 +1,36 @@ +semantic_models: + - name: policy_coverage_detail + model: ref('policy_coverage_detail') + description: "This semantic model represents the coverage details of policies including their effective dates, descriptions, and identifiers." + defaults: + agg_time_dimension: effective_date + + entities: + - name: policy_coverage_detail + type: primary + expr: policy_coverage_detail_identifier + - name: coverage + type: foreign + expr: coverage_identifier + - name: insurable_object + type: foreign + expr: insurable_object_identifier + - name: policy + type: foreign + expr: policy_identifier + + dimensions: + - name: effective_date + type: time + type_params: + time_granularity: day + - name: expiration_date + type: time + type_params: + time_granularity: day + - name: coverage_part_code + type: categorical + - name: coverage_description + type: categorical + - name: coverage_inclusion_exclusion_code + type: categorical diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/premium.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/premium.yaml new file mode 100644 index 00000000..6c848403 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/premium.yaml @@ -0,0 +1,13 @@ +semantic_models: + - name: premium + model: ref('premium') + description: "Table containting premium information." + entities: + - name: policy_amount + type: primary + expr: Policy_Amount_Identifier + dimensions: + - name: has_premium + type: categorical + description: "Filter on this to determine if row represents a premium. Filter should evaluate to 'has_premium = 1' if a premium and not if not a premium" + expr: "1" diff --git a/shared/projects/dbt/acme_insurance/packages.yml b/shared/projects/dbt/acme_insurance/packages.yml new file mode 100644 index 00000000..1600223d --- /dev/null +++ b/shared/projects/dbt/acme_insurance/packages.yml @@ -0,0 +1,3 @@ +packages: + - package: dbt-labs/dbt_utils + version: 1.3.3 diff --git a/shared/projects/dbt/acme_insurance/profiles.yml b/shared/projects/dbt/acme_insurance/profiles.yml new file mode 100644 index 00000000..b8369a30 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/profiles.yml @@ -0,0 +1,20 @@ +acme_insurance-duckdb: + target: dev + outputs: + dev: + type: duckdb + path: "./acme_insurance.duckdb" + schema: main + +acme_insurance-snowflake: + target: dev + outputs: + dev: + type: snowflake + account: + user: + password: + role: + database: + schema: + warehouse: diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement.csv new file mode 100644 index 00000000..4eee80ac --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Agreement.csv @@ -0,0 +1,3 @@ +Agreement_Type_Code,Agreement_Name,Agreement_Original_Inception_Date,Product_Identifier,Agreement_Type_Code +1,Policy 31003000336,,, +2,Policy 31003000337,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv new file mode 100644 index 00000000..92e53a8b --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv @@ -0,0 +1,3 @@ +Agreement_Identifier,Assessment_Identifier +1,1 +2,2 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv new file mode 100644 index 00000000..fd5c4443 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv @@ -0,0 +1,5 @@ +Agreement_Identifier,Party_Identifier,Party_Role_Code,Effective_Date,Expiration_Date +1,1,PH,, +1,2,AG,, +2,1,PH,, +2,2,AG,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv new file mode 100644 index 00000000..be07ed8e --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv @@ -0,0 +1,3 @@ +Party_Identifier,Assessment_Identifier,Party_Role_Code,Begin_Date,End_Date +3,1,UW,, +3,2,UW,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Assessment.csv new file mode 100644 index 00000000..8b6a6a6c --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Assessment.csv @@ -0,0 +1,3 @@ +Assessment_Identifier,Begin_Date,Assessment_Description,End_Date,Assessment_Reason_Description +1,2014-11-01,,2014-12-15, +2,2019-05-01,,2019-05-27, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv b/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv new file mode 100644 index 00000000..805a04b2 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv @@ -0,0 +1,3 @@ +Assessment_Result_Identifier,Assessment_Identifier,Assessment_Result_Type_Code +1,1,OK +2,2,OK \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv b/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv new file mode 100644 index 00000000..e56e1844 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv @@ -0,0 +1,5 @@ +Catastrophe_Identifier,Catastrophe_Type_Code,Catastrophe_Name,Industry_Catastrophe_Code,Company_Catastrophe_Code +1,,Hurricane,, +2,,Tornado,, +3,,Flood,, +4,,Fire,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim.csv b/shared/projects/dbt/acme_insurance/seeds/Claim.csv new file mode 100644 index 00000000..e33a1712 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Claim.csv @@ -0,0 +1,3 @@ +Claim_Identifier,Catastrophe_Identifier,Claim_Description,Claims_Made_Date,Company_Claim_Number,Company_Subclaim_Number,Insurable_Object_Identifier,Occurrence_Identifier,Entry_Into_Claims_Made_Program_Date,Claim_Open_Date,Claim_Close_Date,Claim_Reopen_Date,Claim_Status_Code,Claim_Reported_Date +1,4,,,12312701,,1,1,,2019-01-15,2019-01-31,,, +2,4,,,12312702,,2,2,,2019-06-02,2019-06-27,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv b/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv new file mode 100644 index 00000000..26b3ae1b --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv @@ -0,0 +1,9 @@ +Claim_Amount_Identifier,Claim_Identifier,Claim_Offer_Identifier,Amount_Type_Code,Event_Date,Claim_Amount,Insurance_Type_Code +1,1,,,,1000, +2,1,,,,1100, +3,1,,,,1200, +4,1,,,,1300, +5,2,,,,2100, +6,2,,,,2200, +7,2,,,,2300, +8,2,,,,2400, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv b/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv new file mode 100644 index 00000000..edca3022 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv @@ -0,0 +1,3 @@ +Claim_Identifier,Effective_Date,Policy_Coverage_Detail_Identifier +1,2019-01-01,5 +2,2019-01-01,5 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv b/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv new file mode 100644 index 00000000..a93cea95 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv @@ -0,0 +1,3 @@ +Claim_Amount_Identifier +4 +8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv b/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv new file mode 100644 index 00000000..280afba0 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv @@ -0,0 +1,3 @@ +Claim_Amount_Identifier +2 +6 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv b/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv new file mode 100644 index 00000000..473ca583 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv @@ -0,0 +1,821 @@ +PolicyNo,ClaimNumber,Premium,InsuredLocation,Loss_Ratio,Nearest_Firestation_miles,Number_of_Firefighters,Fireplace,Year_Built +,,,,0.8,14,9,no,1999 +,,,,1.1,6,9,no,1988 +,,,,0.6,8,9,yes,2000 +,,,,0.9,10,9,yes,1963 +,,,,1,7,5,no,1999 +,,,,0.7,6,5,no,1983 +,,,,1,13,5,yes,1996 +,,,,0.6,7,6,yes,1982 +,,,,0.4,3,8,no,2016 +,,,,0.5,2,8,no,1975 +,,,,0.4,1,8,yes,2016 +,,,,0.5,2,7,yes,1981 +,,,,0.3,1,6,no,2006 +,,,,0.1,3,4,no,1961 +,,,,0.2,3,4,yes,2014 +,,,,0.4,3,6,yes,1971 +,,,,0.7,17,8,no,2015 +,,,,0.8,13,9,no,1989 +,,,,0.8,8,9,yes,2002 +,,,,1.1,16,10,yes,1993 +,,,,1,15,6,no,2016 +,,,,0.6,11,5,no,1994 +,,,,1.1,9,6,yes,2010 +,,,,0.7,19,5,yes,1983 +,,,,0.5,1,9,no,2007 +,,,,0.1,1,8,no,1987 +,,,,0.5,1,8,yes,2004 +,,,,0.4,2,10,yes,1970 +,,,,0.1,3,6,no,2009 +,,,,0.3,1,6,no,1983 +,,,,0.2,1,6,yes,2015 +,,,,0.3,1,6,yes,1980 +,,,,0.8,18,10,no,2001 +,,,,1,20,7,no,1966 +,,,,1,12,7,yes,2007 +,,,,0.7,20,10,yes,1992 +,,,,0.6,12,6,no,2010 +,,,,0.9,17,5,no,1977 +,,,,0.8,9,5,yes,2007 +,,,,0.7,7,6,yes,1981 +,,,,0.3,1,9,no,2011 +,,,,0.1,1,7,no,1989 +,,,,0.3,3,10,yes,1997 +,,,,0.3,2,9,yes,1964 +,,,,0.4,4,5,no,2018 +,,,,0.1,4,5,no,1965 +,,,,0.3,3,4,yes,2016 +,,,,0.2,2,4,yes,1982 +,,,,1.1,8,8,no,2015 +,,,,0.8,20,7,no,1975 +,,,,1,14,7,yes,2000 +,,,,0.6,15,10,yes,1973 +,,,,0.6,18,5,no,2015 +,,,,0.8,8,4,no,1991 +,,,,0.6,9,4,yes,2002 +,,,,0.9,8,4,yes,1983 +,,,,0.4,3,9,no,2020 +,,,,0.5,4,8,no,1984 +,,,,0.1,2,7,yes,2018 +,,,,0.4,3,8,yes,1969 +,,,,0.2,3,4,no,2000 +,,,,0.3,4,4,no,1963 +,,,,0.2,2,6,yes,2007 +,,,,0.3,4,4,yes,1994 +,,,,0.8,16,7,no,2012 +,,,,0.7,6,9,no,1968 +,,,,0.7,7,9,yes,2002 +,,,,1.1,17,9,yes,1992 +,,,,0.6,9,6,no,2006 +,,,,0.9,12,6,no,1978 +,,,,1,18,5,yes,2002 +,,,,0.8,12,6,yes,1977 +,,,,0.4,4,7,no,1998 +,,,,0.2,2,9,no,1979 +,,,,0.3,4,10,yes,2003 +,,,,0.1,3,9,yes,1992 +,,,,0.4,1,4,no,2020 +,,,,0.1,1,5,no,1990 +,,,,0.2,1,4,yes,2007 +,,,,0.4,2,5,yes,1977 +,,,,0.7,12,8,no,2018 +,,,,0.6,17,9,no,1961 +,,,,1.1,19,8,yes,2014 +,,,,0.9,13,8,yes,1968 +,,,,0.6,6,4,no,2007 +,,,,0.8,6,5,no,1964 +,,,,1.1,17,5,yes,2004 +,,,,0.9,17,6,yes,1982 +,,,,0.1,1,7,no,2008 +,,,,0.5,2,8,no,1961 +,,,,0.2,4,7,yes,1996 +,,,,0.3,2,7,yes,1982 +,,,,0.2,3,4,no,2018 +,,,,0.4,3,6,no,1994 +,,,,0.5,4,4,yes,2004 +,,,,0.1,2,6,yes,1971 +,,,,0.6,17,7,no,2004 +,,,,1.1,9,9,no,1977 +,,,,0.6,15,10,yes,2003 +,,,,0.7,8,8,yes,1962 +,,,,0.6,11,6,no,1997 +,,,,0.6,17,6,no,1988 +,,,,0.7,13,6,yes,1997 +,,,,1.1,20,5,yes,1982 +,,,,0.4,1,9,no,1997 +,,,,0.1,1,7,no,1970 +,,,,0.2,2,10,yes,2018 +,,,,0.4,1,8,yes,1989 +,,,,0.2,3,5,no,2007 +,,,,0.1,3,5,no,1993 +,,,,0.4,1,6,yes,2015 +,,,,0.1,4,5,yes,1963 +,,,,0.9,10,9,no,2017 +,,,,0.6,17,9,no,1987 +,,,,0.9,20,10,yes,1995 +,,,,0.7,5,8,yes,1963 +,,,,0.6,14,5,no,2009 +,,,,1,18,6,no,1968 +,,,,0.7,14,5,yes,2014 +,,,,1.1,5,5,yes,1986 +,,,,0.4,1,8,no,2009 +,,,,0.3,1,9,no,1993 +,,,,0.3,2,10,yes,1995 +,,,,0.1,3,7,yes,1975 +,,,,0.5,2,5,no,2013 +,,,,0.4,1,4,no,1990 +,,,,0.5,2,6,yes,2013 +,,,,0.1,2,6,yes,1980 +,,,,0.7,18,10,no,2011 +,,,,0.9,11,9,no,1964 +,,,,1,9,7,yes,2010 +,,,,1,8,7,yes,1994 +,,,,0.9,19,6,no,2015 +,,,,1,9,6,no,1966 +,,,,1.1,10,6,yes,2011 +,,,,1,11,5,yes,1977 +,,,,0.5,3,8,no,2010 +,,,,0.5,3,7,no,1964 +,,,,0.1,3,10,yes,2020 +,,,,0.3,2,9,yes,1992 +,,,,0.5,1,6,no,2009 +,,,,0.2,4,5,no,1967 +,,,,0.2,4,5,yes,2010 +,,,,0.2,3,6,yes,1981 +,,,,1.1,15,7,no,2009 +,,,,0.6,15,8,no,1979 +,,,,1.1,7,9,yes,1996 +,,,,1,5,9,yes,1960 +,,,,0.8,7,5,no,2019 +,,,,1,10,4,no,1976 +,,,,0.9,14,6,yes,2001 +,,,,0.6,6,6,yes,1972 +,,,,0.3,2,8,no,2017 +,,,,0.4,2,8,no,1971 +,,,,0.1,4,8,yes,2003 +,,,,0.4,1,9,yes,1976 +,,,,0.3,1,6,no,2014 +,,,,0.1,4,6,no,1986 +,,,,0.1,2,6,yes,1998 +,,,,0.3,2,5,yes,1978 +,,,,0.8,19,7,no,2017 +,,,,0.7,16,10,no,1989 +,,,,1.1,17,7,yes,1995 +,,,,1.1,17,8,yes,1970 +,,,,0.8,14,6,no,2008 +,,,,0.6,12,4,no,1994 +,,,,0.8,9,5,yes,2012 +,,,,0.7,18,4,yes,1979 +,,,,0.5,1,7,no,1996 +,,,,0.2,4,7,no,1966 +,,,,0.5,1,7,yes,2004 +,,,,0.1,1,9,yes,1976 +,,,,0.4,1,4,no,2001 +,,,,0.5,4,6,no,1969 +,,,,0.3,4,5,yes,2020 +,,,,0.4,1,6,yes,1984 +,,,,1.1,16,10,no,2019 +,,,,0.8,5,10,no,1977 +,,,,1,17,9,yes,2000 +,,,,0.6,5,9,yes,1972 +,,,,0.8,16,5,no,2004 +,,,,0.7,18,5,no,1971 +,,,,1,13,6,yes,1996 +,,,,1,19,4,yes,1968 +,,,,0.2,4,9,no,2014 +,,,,0.5,4,8,no,1970 +,,,,0.4,1,9,yes,1996 +,,,,0.1,1,7,yes,1961 +,,,,0.4,1,4,no,1998 +,,,,0.3,3,5,no,1980 +,,,,0.4,1,5,yes,2003 +,,,,0.4,1,5,yes,1989 +,,,,1,19,9,no,1997 +,,,,0.8,16,10,no,1967 +,,,,0.6,16,7,yes,2012 +,,,,1.1,18,8,yes,1969 +,,,,0.6,15,4,no,2008 +,,,,1.1,14,5,no,1971 +,,,,0.8,10,4,yes,1996 +,,,,0.9,10,5,yes,1967 +,,,,0.5,2,9,no,2001 +,,,,0.1,3,7,no,1986 +,,,,0.2,3,8,yes,1996 +,,,,0.3,3,9,yes,1968 +,,,,0.2,1,6,no,1998 +,,,,0.4,2,4,no,1976 +,,,,0.1,2,6,yes,2003 +,,,,0.2,4,4,yes,1969 +,,,,0.6,18,7,no,2011 +,,,,0.7,12,10,no,1994 +,,,,1,16,7,yes,2020 +,,,,0.6,16,10,yes,1966 +,,,,1,8,4,no,2009 +,,,,1.1,16,4,no,1970 +,,,,0.8,15,6,yes,2009 +,,,,0.8,13,4,yes,1972 +,,,,0.4,1,8,no,1996 +,,,,0.2,3,10,no,1990 +,,,,0.1,3,10,yes,1999 +,,,,0.4,4,9,yes,1991 +,,,,0.3,2,4,no,2006 +,,,,0.5,4,5,no,1984 +,,,,0.2,3,5,yes,1999 +,,,,0.5,2,5,yes,1985 +,,,,0.9,10,10,no,1997 +,,,,0.6,12,8,no,1962 +,,,,0.9,11,7,yes,2014 +,,,,0.9,11,9,yes,1976 +,,,,0.7,14,6,no,1996 +,,,,0.9,18,4,no,1969 +,,,,1,16,5,yes,2000 +,,,,0.6,9,6,yes,1990 +,,,,0.3,2,10,no,2012 +,,,,0.5,1,9,no,1978 +,,,,0.2,1,8,yes,2013 +,,,,0.5,1,9,yes,1971 +,,,,0.1,4,5,no,2005 +,,,,0.5,1,6,no,1963 +,,,,0.5,4,6,yes,2001 +,,,,0.1,4,5,yes,1979 +,,,,0.7,12,10,no,2006 +,,,,1.1,7,10,no,1978 +,,,,0.6,12,10,yes,2010 +,,,,1,16,7,yes,1974 +,,,,0.6,13,5,no,2009 +,,,,0.6,5,6,no,1988 +,,,,1,18,4,yes,2003 +,,,,0.7,7,4,yes,1981 +,,,,0.5,4,10,no,2017 +,,,,0.4,1,10,no,1987 +,,,,0.4,1,10,yes,2005 +,,,,0.4,4,7,yes,1981 +,,,,0.1,2,4,no,2003 +,,,,0.4,1,5,no,1984 +,,,,0.3,2,4,yes,1995 +,,,,0.4,3,6,yes,1969 +,,,,1,15,10,yes,2013 +,,,,0.8,8,10,yes,1970 +,,,,1,13,10,yes,1971 +,,,,1,8,10,yes,1994 +,,,,0.7,13,7,yes,2004 +,,,,0.7,6,8,yes,1986 +,,,,0.7,19,10,yes,1983 +,,,,0.7,11,9,yes,1982 +,,,,0.7,8,10,yes,1998 +,,,,0.7,6,7,yes,1963 +,,,,0.6,15,8,yes,1970 +,,,,0.6,14,8,yes,1988 +,,,,1.1,20,7,yes,1998 +,,,,1.1,6,9,yes,1989 +,,,,1,11,10,yes,1981 +,,,,0.9,14,8,yes,1972 +,,,,0.9,9,10,yes,2005 +,,,,0.7,8,7,yes,1970 +,,,,0.6,20,8,yes,1966 +,,,,0.8,12,9,yes,1985 +,,,,0.9,8,8,yes,2001 +,,,,1,18,9,yes,1981 +,,,,0.9,16,9,yes,1973 +,,,,0.7,13,10,yes,1990 +,,,,0.8,7,10,yes,2016 +,,,,0.7,19,8,yes,1986 +,,,,0.9,10,8,yes,1988 +,,,,0.8,15,10,yes,1990 +,,,,0.6,11,10,yes,2003 +,,,,1.1,20,9,yes,1976 +,,,,0.9,16,8,yes,1974 +,,,,1,18,10,yes,1979 +,,,,0.9,7,8,yes,2004 +,,,,0.9,10,7,yes,1986 +,,,,0.7,20,9,yes,1987 +,,,,0.7,18,9,yes,1978 +,,,,1.1,16,10,yes,2013 +,,,,0.8,10,10,yes,1964 +,,,,1.1,9,7,yes,1961 +,,,,1.1,15,8,yes,1987 +,,,,1.1,15,10,yes,2008 +,,,,0.6,8,8,yes,1992 +,,,,0.7,18,8,yes,1970 +,,,,0.8,20,7,yes,1961 +,,,,0.8,17,8,yes,2013 +,,,,0.9,9,9,yes,1974 +,,,,0.6,6,8,yes,1976 +,,,,0.9,18,8,yes,1977 +,,,,1,15,8,yes,2013 +,,,,1.1,7,7,yes,1982 +,,,,1.1,7,9,yes,1969 +,,,,0.8,16,9,yes,1972 +,,,,0.8,14,7,yes,1998 +,,,,0.7,15,10,yes,1964 +,,,,0.7,12,8,yes,1984 +,,,,0.6,17,10,yes,1971 +,,,,0.9,6,9,yes,2012 +,,,,0.8,18,9,yes,1990 +,,,,1.1,16,7,yes,1974 +,,,,0.6,14,9,yes,1975 +,,,,0.7,5,9,yes,1998 +,,,,0.7,11,10,yes,1980 +,,,,0.6,6,7,yes,1983 +,,,,0.9,11,7,yes,1984 +,,,,0.8,19,7,yes,2016 +,,,,0.7,20,10,yes,1977 +,,,,1.1,18,10,yes,1962 +,,,,0.6,8,8,yes,1964 +,,,,0.7,6,10,yes,2017 +,,,,0.7,16,8,yes,1981 +,,,,0.8,11,10,yes,1964 +,,,,0.8,14,10,yes,1990 +,,,,1,9,7,yes,1995 +,,,,0.7,14,9,yes,1963 +,,,,1,11,7,yes,1994 +,,,,0.9,8,8,yes,1990 +,,,,0.7,8,10,yes,2009 +,,,,0.8,19,8,yes,1978 +,,,,0.9,12,7,yes,1986 +,,,,0.7,17,7,yes,1987 +,,,,0.8,9,8,yes,2006 +,,,,1,14,9,yes,1994 +,,,,1.1,18,9,yes,1966 +,,,,1.1,19,10,yes,1971 +,,,,0.9,20,8,yes,2008 +,,,,0.9,16,9,yes,1971 +,,,,1,11,8,yes,1994 +,,,,1,9,9,yes,1966 +,,,,0.9,13,7,yes,2018 +,,,,1,5,9,yes,1966 +,,,,1.1,12,10,yes,1961 +,,,,0.6,14,7,yes,1991 +,,,,0.6,9,7,yes,2014 +,,,,0.6,17,8,yes,1985 +,,,,0.9,8,10,yes,1966 +,,,,1.1,12,7,yes,1970 +,,,,0.9,8,8,yes,2000 +,,,,0.7,20,9,yes,1968 +,,,,1,13,9,yes,1985 +,,,,1,10,9,yes,1992 +,,,,0.7,11,9,yes,2017 +,,,,0.9,18,7,yes,1974 +,,,,0.6,11,9,yes,1969 +,,,,1.1,18,9,yes,1989 +,,,,0.8,14,7,yes,2006 +,,,,1.1,19,7,yes,1989 +,,,,0.9,8,8,yes,1990 +,,,,0.7,15,10,yes,1968 +,,,,0.7,6,10,yes,2001 +,,,,1,20,8,yes,1965 +,,,,0.6,15,9,yes,1990 +,,,,0.6,19,8,yes,1986 +,,,,0.7,8,9,yes,2019 +,,,,0.9,5,8,yes,1988 +,,,,0.9,6,7,yes,1963 +,,,,0.8,20,10,yes,1991 +,,,,1,12,10,yes,2011 +,,,,0.6,6,9,yes,1982 +,,,,0.7,7,9,yes,1982 +,,,,1.1,12,8,yes,1972 +,,,,0.9,7,7,yes,2012 +,,,,1.1,8,7,yes,1984 +,,,,0.7,12,10,yes,1982 +,,,,0.9,13,8,yes,1965 +,,,,1,6,7,yes,2002 +,,,,1.1,10,8,yes,1984 +,,,,1,6,8,yes,1982 +,,,,1,17,9,yes,1961 +,,,,1.1,8,5,yes,1971 +,,,,1.1,17,5,yes,1965 +,,,,0.8,14,5,yes,1978 +,,,,1.1,17,5,yes,1965 +,,,,0.8,9,6,yes,1989 +,,,,0.7,10,5,yes,1979 +,,,,0.7,16,5,yes,1961 +,,,,1.1,8,4,yes,1982 +,,,,0.8,14,5,yes,1981 +,,,,1.1,6,5,yes,1960 +,,,,0.7,7,5,yes,1983 +,,,,0.9,7,5,yes,1969 +,,,,0.8,17,6,yes,1983 +,,,,1.1,12,5,yes,1989 +,,,,0.6,14,4,yes,1982 +,,,,1,19,6,yes,1966 +,,,,1.1,5,4,yes,1985 +,,,,0.9,9,5,yes,1965 +,,,,0.9,19,6,yes,1960 +,,,,1,10,5,yes,1963 +,,,,1,16,6,yes,1971 +,,,,1,16,4,yes,1971 +,,,,0.8,20,4,yes,1965 +,,,,0.7,6,5,yes,1981 +,,,,0.6,9,6,yes,1963 +,,,,1.1,5,6,yes,1976 +,,,,1,20,6,yes,1980 +,,,,1.1,20,6,yes,1983 +,,,,0.9,13,4,yes,1986 +,,,,0.9,6,4,yes,1969 +,,,,0.6,10,5,yes,1979 +,,,,0.7,17,5,yes,1980 +,,,,0.7,12,6,yes,1962 +,,,,0.7,19,5,yes,1988 +,,,,0.6,7,6,yes,1960 +,,,,1,12,5,yes,1976 +,,,,0.8,19,5,yes,1973 +,,,,0.7,10,6,yes,1980 +,,,,1,20,4,yes,1965 +,,,,0.9,7,4,yes,1985 +,,,,1,19,5,yes,1978 +,,,,1,15,5,yes,1986 +,,,,1,20,6,yes,1963 +,,,,0.8,9,6,yes,1964 +,,,,0.9,17,5,yes,1976 +,,,,0.9,14,4,yes,1978 +,,,,1.1,7,4,yes,1979 +,,,,0.7,5,5,yes,1976 +,,,,0.8,6,6,yes,1990 +,,,,1.1,16,6,yes,1964 +,,,,0.6,6,4,yes,1965 +,,,,0.7,10,6,yes,1990 +,,,,0.9,20,6,yes,1991 +,,,,0.9,16,5,yes,1988 +,,,,1,5,5,yes,1974 +,,,,1.1,20,5,yes,1990 +,,,,0.8,11,6,yes,1983 +,,,,0.9,19,6,yes,1963 +,,,,1,7,6,yes,1973 +,,,,0.7,11,4,yes,1975 +,,,,1,12,6,yes,1968 +,,,,0.9,18,4,yes,1984 +,,,,0.9,9,5,yes,1967 +,,,,0.8,10,5,yes,1988 +,,,,0.9,6,5,yes,1975 +,,,,0.6,13,5,yes,1970 +,,,,0.6,5,4,yes,1985 +,,,,0.7,11,5,yes,1979 +,,,,0.7,11,4,yes,1984 +,,,,1.1,13,5,yes,1989 +,,,,1.1,6,5,yes,1976 +,,,,1,16,4,yes,1964 +,,,,0.9,10,4,yes,1965 +,,,,0.7,5,4,yes,1985 +,,,,1.1,16,6,yes,1974 +,,,,0.7,12,5,yes,1976 +,,,,0.9,20,5,yes,1994 +,,,,1,5,5,yes,1973 +,,,,1.1,16,4,yes,1966 +,,,,1,19,4,yes,1976 +,,,,0.7,12,6,yes,1967 +,,,,0.7,6,6,yes,1987 +,,,,1.1,11,5,yes,1979 +,,,,1.1,13,4,yes,1962 +,,,,1.1,13,5,yes,1961 +,,,,0.6,20,5,yes,1983 +,,,,0.9,15,4,yes,1983 +,,,,0.7,14,4,yes,1990 +,,,,0.8,8,6,yes,1961 +,,,,0.6,19,4,yes,1970 +,,,,1,6,4,yes,1981 +,,,,0.8,13,4,yes,1987 +,,,,0.8,16,4,yes,1967 +,,,,0.8,19,6,yes,1967 +,,,,0.6,17,6,yes,1984 +,,,,0.9,7,6,yes,1960 +,,,,0.8,11,4,yes,1970 +,,,,0.7,7,4,yes,1990 +,,,,0.8,7,5,yes,1968 +,,,,0.8,19,5,yes,1990 +,,,,0.9,8,4,yes,1978 +,,,,0.7,14,4,yes,1986 +,,,,0.9,17,5,yes,1978 +,,,,1,15,6,yes,1985 +,,,,0.9,12,6,yes,1960 +,,,,0.6,19,4,yes,1967 +,,,,1,12,5,yes,1987 +,,,,0.8,15,6,yes,1963 +,,,,0.7,16,4,yes,1961 +,,,,0.8,13,4,yes,1961 +,,,,0.7,18,6,yes,1991 +,,,,0.8,8,6,yes,1976 +,,,,0.7,18,6,yes,1960 +,,,,0.7,12,4,yes,1966 +,,,,0.6,5,4,yes,1993 +,,,,0.8,13,4,yes,1994 +,,,,1,6,5,yes,1968 +,,,,1.1,8,5,yes,1973 +,,,,0.9,19,4,yes,1975 +,,,,0.7,20,4,yes,1991 +,,,,1,19,5,yes,1991 +,,,,0.8,11,5,yes,1989 +,,,,1.1,6,4,yes,1962 +,,,,0.8,16,5,yes,1983 +,,,,1,14,6,yes,1967 +,,,,1,14,4,yes,1985 +,,,,0.9,17,4,yes,1964 +,,,,0.7,8,5,yes,1988 +,,,,0.8,19,4,yes,1988 +,,,,0.6,15,6,yes,1979 +,,,,0.9,20,6,yes,1985 +,,,,1,20,6,yes,1983 +,,,,0.9,6,6,yes,1994 +,,,,1.1,10,6,yes,1977 +,,,,0.8,7,4,yes,1964 +,,,,1,12,6,yes,1977 +,,,,0.8,7,4,yes,1979 +,,,,1.1,14,4,yes,1987 +,,,,0.8,18,5,yes,1967 +,,,,0.6,12,6,yes,1990 +,,,,0.9,12,4,yes,1969 +,,,,1,13,5,yes,1964 +,,,,0.9,9,5,yes,1987 +,,,,1,20,5,yes,1979 +,,,,0.7,13,4,yes,1960 +,,,,0.8,10,6,yes,1988 +,,,,0.6,19,4,yes,1992 +,,,,1.1,6,6,yes,1994 +,,,,0.7,20,6,yes,1968 +,,,,0.7,16,5,yes,1987 +,,,,1.1,8,4,yes,1985 +,,,,0.7,6,4,yes,1993 +,,,,0.6,16,4,yes,1967 +,,,,0.7,5,4,yes,1988 +,,,,0.7,5,4,yes,1965 +,,,,0.8,8,5,yes,1968 +,,,,1.1,13,6,yes,1981 +,,,,0.7,19,6,yes,1964 +,,,,1.1,19,4,yes,1972 +,,,,0.8,14,6,yes,1989 +,,,,0.7,13,5,yes,1994 +,,,,0.7,19,4,yes,1964 +,,,,0.8,20,5,yes,1982 +,,,,0.9,5,4,yes,1975 +,,,,1.1,12,6,yes,1987 +,,,,0.8,16,6,yes,1992 +,,,,0.6,18,5,yes,1967 +,,,,1.1,8,5,yes,1977 +,,,,0.7,10,6,yes,1965 +,,,,0.9,17,6,yes,1961 +,,,,0.6,9,6,yes,1977 +,,,,0.6,19,4,yes,1982 +,,,,0.6,13,5,yes,1983 +,,,,0.6,13,4,yes,1987 +,,,,1,7,5,yes,1992 +,,,,0.9,16,5,yes,1992 +,,,,0.9,5,5,yes,1972 +,,,,0.7,6,6,yes,1963 +,,,,1.1,8,4,yes,1963 +,,,,0.7,13,5,yes,1976 +,,,,0.9,18,5,yes,1961 +,,,,0.7,20,6,yes,1976 +,,,,0.6,17,4,yes,1984 +,,,,0.8,16,4,yes,1960 +,,,,0.6,13,4,yes,1987 +,,,,0.6,18,5,yes,1988 +,,,,0.7,5,6,yes,1980 +,,,,0.9,16,5,yes,1977 +,,,,0.6,15,5,yes,1992 +,,,,1.1,9,4,yes,1974 +,,,,1.1,8,4,yes,1986 +,,,,0.7,10,5,yes,1992 +,,,,0.8,14,5,yes,1971 +,,,,0.6,5,5,yes,1974 +,,,,0.8,9,4,yes,1987 +,,,,0.9,14,5,yes,1968 +,,,,1,10,6,yes,1980 +,,,,0.6,15,5,yes,1980 +,,,,0.6,17,4,yes,1960 +,,,,0.8,9,4,yes,1981 +,,,,0.9,16,5,yes,1965 +,,,,0.8,5,5,yes,1981 +,,,,0.6,11,5,yes,1977 +,,,,0.8,5,4,yes,1986 +,,,,1,8,5,yes,1969 +,,,,0.7,19,5,yes,1986 +,,,,0.6,13,6,yes,1984 +,,,,0.6,9,5,yes,1993 +,,,,1.1,16,5,yes,1966 +,,,,1.1,18,5,yes,1971 +,,,,1.1,17,4,yes,1992 +,,,,1,16,6,yes,1994 +,,,,0.9,8,6,yes,1986 +,,,,1,7,5,yes,1979 +,,,,0.7,11,5,yes,1968 +,,,,0.8,9,6,yes,1983 +,,,,0.6,19,6,yes,1987 +,,,,0.8,7,5,yes,1989 +,,,,1,13,5,yes,1972 +,,,,0.8,6,4,yes,1971 +,,,,0.9,13,6,yes,1994 +,,,,0.8,9,6,yes,1970 +,,,,0.9,11,5,yes,1969 +,,,,0.9,14,4,yes,1981 +,,,,0.6,6,4,yes,1994 +,,,,1,9,4,yes,1982 +,,,,0.8,10,5,yes,1975 +,,,,0.8,15,4,yes,1985 +,,,,1.1,9,5,yes,1986 +,,,,0.7,10,5,yes,1966 +,,,,1,5,6,yes,1974 +,,,,1,8,5,yes,1987 +,,,,1.1,17,5,yes,1964 +,,,,1,13,5,yes,1978 +,,,,1,12,5,yes,1988 +,,,,1.1,15,6,yes,1982 +,,,,0.8,17,6,yes,1965 +,,,,0.9,18,6,yes,1976 +,,,,1.1,6,6,yes,1983 +,,,,0.8,12,5,yes,1992 +,,,,0.7,18,5,yes,1968 +,,,,0.8,7,6,yes,1983 +,,,,0.7,7,4,yes,1975 +,,,,0.8,13,4,yes,1985 +,,,,0.9,8,6,yes,1994 +,,,,0.7,5,6,yes,1986 +,,,,0.8,11,6,yes,1965 +,,,,1,20,5,yes,1992 +,,,,1,13,5,yes,1993 +,,,,0.8,19,6,yes,1962 +,,,,1.1,10,4,yes,1987 +,,,,0.7,18,4,yes,1983 +,,,,1,6,6,yes,1984 +,,,,0.9,19,4,yes,1962 +,,,,1.1,7,4,yes,1985 +,,,,1.1,13,5,yes,1980 +,,,,0.1,1,7,yes,2020 +,,,,0.1,2,10,yes,1972 +,,,,0.1,3,8,yes,2019 +,,,,0.4,1,9,yes,1962 +,,,,0.2,2,9,yes,2004 +,,,,0.4,3,7,yes,1966 +,,,,0.3,2,7,yes,2011 +,,,,0.3,2,9,yes,1981 +,,,,0.1,3,8,yes,2011 +,,,,0.2,3,10,yes,1984 +,,,,0.4,1,7,yes,2005 +,,,,0.4,4,9,yes,1984 +,,,,0.1,2,8,yes,2014 +,,,,0.2,4,8,yes,1981 +,,,,0.5,1,10,yes,2005 +,,,,0.3,2,7,yes,1977 +,,,,0.3,2,8,yes,2013 +,,,,0.3,2,9,yes,1982 +,,,,0.3,3,8,yes,2005 +,,,,0.4,2,10,yes,1964 +,,,,0.2,4,8,yes,2006 +,,,,0.2,1,8,yes,1978 +,,,,0.4,1,10,yes,2003 +,,,,0.3,2,9,yes,1971 +,,,,0.4,2,8,yes,2009 +,,,,0.1,4,10,yes,1962 +,,,,0.1,1,10,yes,1996 +,,,,0.2,4,10,yes,1963 +,,,,0.2,3,8,yes,2016 +,,,,0.3,1,8,yes,1984 +,,,,0.2,3,10,yes,2006 +,,,,0.1,3,7,yes,1988 +,,,,0.4,1,8,yes,2013 +,,,,0.1,1,8,yes,1964 +,,,,0.5,4,7,yes,2003 +,,,,0.4,4,9,yes,1968 +,,,,0.1,2,10,yes,2000 +,,,,0.2,3,7,yes,1985 +,,,,0.5,3,7,yes,1997 +,,,,0.3,1,7,yes,1991 +,,,,0.3,1,8,yes,2019 +,,,,0.2,3,7,yes,1982 +,,,,0.4,1,7,yes,2015 +,,,,0.4,1,8,yes,1973 +,,,,0.5,3,10,yes,2000 +,,,,0.3,2,9,yes,1983 +,,,,0.1,4,7,yes,2012 +,,,,0.5,4,8,yes,1966 +,,,,0.4,1,8,yes,2005 +,,,,0.4,1,10,yes,1980 +,,,,0.2,3,8,yes,2012 +,,,,0.1,4,8,yes,1992 +,,,,0.3,2,10,yes,2012 +,,,,0.5,3,8,yes,1983 +,,,,0.4,3,8,yes,2000 +,,,,0.2,2,10,yes,1966 +,,,,0.3,4,9,yes,1997 +,,,,0.4,1,8,yes,1964 +,,,,0.4,3,7,yes,2015 +,,,,0.1,4,8,yes,1977 +,,,,0.4,1,10,yes,1999 +,,,,0.3,1,9,yes,1994 +,,,,0.4,3,10,yes,1998 +,,,,0.3,3,10,yes,1978 +,,,,0.3,1,8,yes,2016 +,,,,0.1,1,9,yes,1961 +,,,,0.2,4,8,yes,2004 +,,,,0.1,4,7,yes,1982 +,,,,0.1,4,10,yes,2003 +,,,,0.1,2,7,yes,1983 +,,,,0.1,1,8,yes,2009 +,,,,0.3,4,9,yes,1984 +,,,,0.4,1,10,yes,1997 +,,,,0.3,2,7,yes,1982 +,,,,0.1,2,10,yes,2000 +,,,,0.3,3,10,yes,1976 +,,,,0.5,3,7,yes,2003 +,,,,0.4,4,8,yes,1994 +,,,,0.2,3,7,yes,1996 +,,,,0.2,3,7,yes,1960 +,,,,0.3,4,8,yes,2002 +,,,,0.2,3,8,yes,1981 +,,,,0.1,3,7,yes,2013 +,,,,0.5,2,9,yes,1965 +,,,,0.2,2,7,yes,1999 +,,,,0.2,3,10,yes,1961 +,,,,0.4,3,9,yes,2013 +,,,,0.4,4,10,yes,1972 +,,,,0.3,3,9,yes,2016 +,,,,0.4,4,7,yes,1961 +,,,,0.4,1,8,yes,1996 +,,,,0.2,4,10,yes,1962 +,,,,0.1,2,10,yes,2019 +,,,,0.5,4,10,yes,1971 +,,,,0.4,1,7,yes,2015 +,,,,0.4,3,10,yes,1981 +,,,,0.5,2,7,yes,1998 +,,,,0.2,2,7,yes,1993 +,,,,0.2,1,8,yes,2015 +,,,,0.2,3,10,yes,1993 +,,,,0.5,3,7,yes,2014 +,,,,0.1,4,10,yes,1963 +,,,,0.1,2,7,yes,2006 +,,,,0.4,1,9,yes,1977 +,,,,0.1,1,10,yes,2004 +,,,,0.2,2,9,yes,1993 +,,,,0.4,4,7,yes,2004 +,,,,0.3,2,9,yes,1991 +,,,,0.3,2,8,yes,2004 +,,,,0.3,1,8,yes,1991 +,,,,0.5,4,10,yes,2004 +,,,,0.1,2,10,yes,1985 +,,,,0.5,4,10,yes,2016 +,,,,0.4,3,10,yes,1980 +,,,,0.2,3,8,yes,2011 +,,,,0.4,4,7,yes,1986 +,,,,0.1,1,10,yes,2012 +,,,,0.4,3,9,yes,1978 +,,,,0.5,4,8,yes,1995 +,,,,0.1,3,9,yes,1989 +,,,,0.2,2,9,yes,2017 +,,,,0.3,1,7,yes,1993 +,,,,0.2,3,10,yes,2008 +,,,,0.5,1,7,yes,1981 +,,,,0.5,2,10,yes,2003 +,,,,0.5,2,10,yes,1973 +,,,,0.5,3,9,yes,1999 +,,,,0.4,2,8,yes,1974 +,,,,0.1,1,8,yes,2019 +,,,,0.2,2,7,yes,1975 +,,,,0.2,4,7,yes,2013 +,,,,0.2,2,10,yes,1993 +,,,,0.3,3,8,yes,2003 +,,,,0.2,4,8,yes,1989 +,,,,0.5,4,7,yes,2012 +,,,,0.4,3,8,yes,1983 +,,,,0.1,4,8,yes,2014 +,,,,0.2,3,9,yes,1973 +,,,,0.4,3,8,yes,2018 +,,,,0.4,2,10,yes,1976 +,,,,0.4,4,8,yes,2006 +,,,,0.2,4,8,yes,1967 +,,,,0.2,2,9,yes,2018 +,,,,0.5,3,8,yes,1990 +,,,,0.4,3,7,yes,2002 +,,,,0.3,4,9,yes,1981 +,,,,0.2,2,9,yes,1996 +,,,,0.3,1,7,yes,1963 +,,,,0.5,1,9,yes,2014 +,,,,0.1,4,10,yes,1973 +,,,,0.3,1,7,yes,1997 +,,,,0.4,4,9,yes,1962 +,,,,0.2,2,8,yes,2003 +,,,,0.5,4,7,yes,1977 +,,,,0.4,1,8,yes,2012 +,,,,0.5,2,10,yes,1992 +,,,,0.3,3,9,yes,2006 +,,,,0.3,4,8,yes,1968 +,,,,0.3,2,10,yes,2001 +,,,,0.5,3,10,yes,1973 +,,,,0.4,4,9,yes,2010 +,,,,0.1,3,7,yes,1977 +,,,,0.1,2,9,yes,2008 +,,,,0.5,3,8,yes,1964 +,,,,0.5,3,10,yes,2020 +,,,,0.4,2,7,yes,1974 +,,,,0.5,4,9,yes,2001 +,,,,0.5,1,9,yes,1968 +,,,,0.3,3,10,yes,2016 +,,,,0.1,3,8,yes,1962 +,,,,0.4,1,8,yes,2014 +,,,,0.5,4,7,yes,1992 +,,,,0.5,2,7,yes,2018 +,,,,0.4,4,9,yes,1989 +,,,,0.5,1,7,yes,2006 +,,,,0.3,4,7,yes,1976 +,,,,0.2,2,7,yes,2010 +,,,,0.4,3,10,yes,1979 +,,,,0.4,4,10,yes,2014 +,,,,0.4,3,7,yes,1960 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv b/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv new file mode 100644 index 00000000..a5363021 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv @@ -0,0 +1,9 @@ +Geographic_Location_Identifier,Parent_Geographic_Location_Identifier,Geographic_Location_Type_Code,Location_Code,Location_Name,Location_Number,State_Code,Location_Address_Identifier,Physical_Location_Identifier +1,,,,,,TX,1,1 +2,,,,,,TX,2,2 +3,,,,,,TX,3,3 +4,,,,,,TX,4,4 +5,,,,,,TX,5,5 +6,,,,,,TX,6,6 +7,,,,,,TX,7,7 +8,,,,,,TX,8,8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv b/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv new file mode 100644 index 00000000..4f788d05 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv @@ -0,0 +1,3 @@ +Insurable_Object_Identifier,Geographic_Location_Identifier,Insurable_Object_Type_Code +1,1, +2,2, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv b/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv new file mode 100644 index 00000000..74d52396 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv @@ -0,0 +1,9 @@ +Location_Address_Identifier,Line_1_Address,Municipality_Name,Line_2_Address,Postal_Code,Country_Code,State_Code,Begin_Date,End_Date +1,5315 Martin Ave,Austin,,78751,USA,TX,, +2,13017 Zen Gardens Way,Austin,,78732,USA,TX,, +3,6303 Indian Canyon Drive,Austin,,78756,USA,TX,, +4,1603 East 14th Street,Austin,,78702,USA,TX,, +5,309 East 11th Street,Austin,,78701,USA,TX,, +6,801 Post Oak Drive,Austin,,78704,USA,TX,, +7,721 Barton Springs Road,Austin,,78704,USA,TX,, +8,3801 Peak Lookout Drive,Austin,,78738,USA,TX,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv b/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv new file mode 100644 index 00000000..23fe6f4b --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv @@ -0,0 +1,3 @@ +Claim_Amount_Identifier +3 +7 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv b/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv new file mode 100644 index 00000000..c80f64fe --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv @@ -0,0 +1,3 @@ +Claim_Amount_Identifier +1 +5 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv b/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv new file mode 100644 index 00000000..8f91cf33 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv @@ -0,0 +1,3 @@ +Occurrence_Identifier,Catastrophic_Event_Indicator,Geographic_Location_Identifier,Occurrence_Begin_Date,Occurrence_End_Date,Occurrence_Begin_Time,Occurrence_End_Time,Occurrence_Name +1,,,2019-01-14,2019-01-14,,, +2,,,2019-06-01,2019-06-01,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Organization.csv b/shared/projects/dbt/acme_insurance/seeds/Organization.csv new file mode 100644 index 00000000..5edab73d --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Organization.csv @@ -0,0 +1,2 @@ +Organization_Identifier,Industry_Code,Organization_Name,Dun_And_Bradstreet_Identifier,Organization_Type_Code,Alternate_Name,Organization_Description,Acronym_Name,Industry_Type_Code +100,,Mesa Underwriters Specialty Insurance Company,,,MUSIC,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Party.csv b/shared/projects/dbt/acme_insurance/seeds/Party.csv new file mode 100644 index 00000000..054aa6d7 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Party.csv @@ -0,0 +1,31 @@ +Party_Identifier,Party_Name,Begin_Date,End_Date,Party_Type_Code +1,,,, +2,,,, +3,,,, +100,,,, +4,,,, +5,,,, +6,,,, +7,,,, +8,,,, +9,,,, +10,,,, +11,,,, +12,,,, +13,,,, +14,,,, +15,,,, +16,,,, +17,,,, +18,,,, +19,,,, +20,,,, +21,,,, +22,,,, +23,,,, +24,,,, +25,,,, +26,,,, +27,,,, +28,,,, +29,,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv new file mode 100644 index 00000000..32169602 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv @@ -0,0 +1,4 @@ +Party_Role_Code,Party_Role_Name,Party_Role_Description +AG,Agent, +UW,Underwriter, +PH,PolicyHolder, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Person.csv b/shared/projects/dbt/acme_insurance/seeds/Person.csv new file mode 100644 index 00000000..672b9e45 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Person.csv @@ -0,0 +1,30 @@ +Person_Identifier,First_Name,Middle_Name,Last_Name,Full_Legal_Name,Nickname,Suffix_Name,Birth_Date,Birth_Place_Name,Gender_Code,Prefix_Name +1,Mary,Policy,Holder,,,,,,, +2,Bob,Insurance,Agent,,,,,,, +3,Alice,Under,Writer,,,,,,, +4,,,,,,,,,, +5,,,,,,,,,, +6,,,,,,,,,, +7,,,,,,,,,, +8,,,,,,,,,, +9,,,,,,,,,, +10,,,,,,,,,, +11,,,,,,,,,, +12,,,,,,,,,, +13,,,,,,,,,, +14,,,,,,,,,, +15,,,,,,,,,, +16,,,,,,,,,, +17,,,,,,,,,, +18,,,,,,,,,, +19,,,,,,,,,, +20,,,,,,,,,, +21,,,,,,,,,, +22,,,,,,,,,, +23,,,,,,,,,, +24,,,,,,,,,, +25,,,,,,,,,, +26,,,,,,,,,, +27,,,,,,,,,, +28,,,,,,,,,, +29,,,,,,,,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv b/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv new file mode 100644 index 00000000..3e978250 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv @@ -0,0 +1,9 @@ +Physical_Location_Identifier,Physical_Location_Name,Latitude_Value,Longitude_Value,Altitude_Value,Altitude_Mean_Sea_Level_Value,Horizontal_Accuracy_Value,Vertical_Accuracy_Value,Travel_Direction_Description,Location_Address_Identifier +1,,30.31639,-97.71592,,,,,,1 +2,,30.34149,-97.92346,,,,,,2 +3,,30.28677,-97.8371,,,,,,3 +4,,30.27515,-97.72294,,,,,,4 +5,,30.27161,-97.73814,,,,,,5 +6,,30.25798,-97.75495,,,,,,6 +7,,30.258621,-97.751981,,,,,,7 +8,,30.327888,-97.973917,,,,,,8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy.csv b/shared/projects/dbt/acme_insurance/seeds/Policy.csv new file mode 100644 index 00000000..7b4c7b7e --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Policy.csv @@ -0,0 +1,3 @@ +Policy_Identifier,Effective_Date,Expiration_Date,Policy_Number,Status_Code,Geographic_Location_Identifier +1,2015-01-01,2019-12-31,31003000336,, +2,2019-06-01,2020-05-31,31003000337,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv b/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv new file mode 100644 index 00000000..976b30e1 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv @@ -0,0 +1,13 @@ +Policy_Amount_Identifier,Geographic_Location_Identifier,Policy_Identifier,Effective_Date,Amount_Type_Code,Earning_Begin_Date,Earning_End_Date,Policy_Coverage_Detail_Identifier,Policy_Amount,Insurable_Object_Identifier,Insurance_Type_Code +1,,1,2015-01-01,,,,1,1000000,, +2,,1,2015-01-01,Year,,,1,15000,, +3,,1,2016-01-01,,,,2,1000000,, +4,,1,2016-01-01,Year,,,2,16000,, +5,,1,2017-01-01,,,,3,1000000,, +6,,1,2017-01-01,Year,,,3,17000,, +7,,1,2018-01-01,,,,4,1000000,, +8,,1,2018-01-01,Year,,,4,18000,, +9,,1,2019-01-01,,,,5,1000000,, +10,,1,2019-01-01,Year,,,5,20000,, +11,,2,2019-06-01,,,,6,600000,, +12,,2,2019-06-01,Year,,,6,12000,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv b/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv new file mode 100644 index 00000000..1bb57384 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv @@ -0,0 +1,7 @@ +Effective_Date,Policy_Coverage_Detail_Identifier,Coverage_Identifier,Insurable_Object_Identifier,Policy_Identifier,Coverage_Part_Code,Coverage_Description,Expiration_Date,Coverage_Inclusion_Exclusion_Code +2015-01-01,1,,1,1,,,2015-12-31, +2016-01-01,2,,1,1,,,2016-12-31, +2017-01-01,3,,1,1,,,2017-12-31, +2018-01-01,4,,1,1,,,2018-12-31, +2019-01-01,5,,1,1,,,2019-12-31, +2019-06-01,6,,2,2,,,2020-05-31, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Premium.csv b/shared/projects/dbt/acme_insurance/seeds/Premium.csv new file mode 100644 index 00000000..7e40581a --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Premium.csv @@ -0,0 +1,7 @@ +Policy_Amount_Identifier +2 +4 +6 +8 +10 +12 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv new file mode 100644 index 00000000..9088c5d4 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv @@ -0,0 +1,3 @@ +Assessment_Result_Identifier +1 +2 \ No newline at end of file diff --git a/shared/projects/dbt/airbnb/package-lock.yml b/shared/projects/dbt/airbnb/package-lock.yml index c0e4c1ad..521bb7a9 100644 --- a/shared/projects/dbt/airbnb/package-lock.yml +++ b/shared/projects/dbt/airbnb/package-lock.yml @@ -1,5 +1,5 @@ packages: - - name: dbt_utils - package: dbt-labs/dbt_utils - version: 1.3.2 -sha1_hash: ccc8b17d4482f52f5cce6cf4ab0518ae8c147118 +- package: dbt-labs/dbt_utils + name: dbt_utils + version: 1.3.2 +sha1_hash: 0f4de24c53379b20795e3fc20ee5d190b39e54d5 diff --git a/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv new file mode 100644 index 00000000..9e8c8a99 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,NoOfClaims,AvgLoss +31003000336,2,6800.0 diff --git a/tasks/free_text_acme_hqhs_001/solution.sh b/tasks/free_text_acme_hqhs_001/solution.sh new file mode 100755 index 00000000..1d5ce590 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/solution.sh @@ -0,0 +1,23 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + count(claim.claim_identifier) as NoOfClaims, + AVG(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as AvgLoss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier +group by policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_001/task.yaml b/tasks/free_text_acme_hqhs_001/task.yaml new file mode 100644 index 00000000..94a58da9 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_hqhs_001 +status: ready +description: 'HQHS: AVG-COUNT-Policy-Coverage-Claim-Loss Payment&Expense Payment&Expense + Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What is the average loss of each policy by policy number and number of + claims where loss is the sum of loss payment, loss reserve, expense payment, expense + reserve amounts? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the average loss of each policy by policy number and number of claims + where loss is the sum of loss payment, loss reserve, expense payment, expense + reserve amounts? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv new file mode 100644 index 00000000..23f1a463 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,Catastrophe_Name,TotalLoss +31003000336,Fire,13600 diff --git a/tasks/free_text_acme_hqhs_002/solution.sh b/tasks/free_text_acme_hqhs_002/solution.sh new file mode 100755 index 00000000..6ceac193 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/solution.sh @@ -0,0 +1,24 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + catastrophe_name, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as TotalLoss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier +group by policy_number, catastrophe_name +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_002/task.yaml b/tasks/free_text_acme_hqhs_002/task.yaml new file mode 100644 index 00000000..54d8d929 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/task.yaml @@ -0,0 +1,37 @@ +task_id: free_text_acme_hqhs_002 +status: ready +description: 'HQHS: SUM-Policy - Coverage - Claim - Catastrophe - Loss Payment&Expense + Payment&Expense Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What are the total loss, which is the sum of loss payment, loss reserve, + expense payment, expense reserve amount by catastrophe and policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the total loss, which is the sum of loss payment, loss reserve, expense + payment, expense reserve amount by catastrophe and policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv new file mode 100644 index 00000000..56c1614b --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,Company_Claim_Number,Catastrophe_Name,Loss +31003000336,12312701,Fire,4600 +31003000336,12312702,Fire,9000 diff --git a/tasks/free_text_acme_hqhs_003/solution.sh b/tasks/free_text_acme_hqhs_003/solution.sh new file mode 100755 index 00000000..a5a92428 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/solution.sh @@ -0,0 +1,25 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + company_claim_number, + catastrophe_name, + (ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as Loss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_003/task.yaml b/tasks/free_text_acme_hqhs_003/task.yaml new file mode 100644 index 00000000..3765d2d8 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_hqhs_003 +status: ready +description: 'HQHS: Policy - Coverage - Claim - Catastrophe - Loss Payment&Expense + Payment&Expense Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What are the total loss, which is the sum of loss payment, loss reserve, + expense payment, expense reserve amount by claim number, catastrophe and corresponding + policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the total loss, which is the sum of loss payment, loss reserve, expense + payment, expense reserve amount by claim number, catastrophe and corresponding + policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv new file mode 100644 index 00000000..f7667081 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,Party_Identifier,LossRatio +31003000336,2,0.68 diff --git a/tasks/free_text_acme_hqhs_004/solution.sh b/tasks/free_text_acme_hqhs_004/solution.sh new file mode 100755 index 00000000..85bb00ac --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/solution.sh @@ -0,0 +1,27 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + agreement_party_role.party_identifier, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount)/policy_amount as LossRatio +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'AG' +group by policy_number, policy_amount, party_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_004/task.yaml b/tasks/free_text_acme_hqhs_004/task.yaml new file mode 100644 index 00000000..b43a4448 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/task.yaml @@ -0,0 +1,37 @@ +task_id: free_text_acme_hqhs_004 +status: ready +description: 'HQHS: 2Agent - Policy - Coverage - Claim - Loss Payment&Expense Payment&Expense + Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What is the loss ratio of each policy and agent who sold it by policy number + and agent id? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the loss ratio of each policy and agent who sold it by policy number and + agent id? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv new file mode 100644 index 00000000..761e527b --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv @@ -0,0 +1,2 @@ +AgentID,Total_Loss +2,13600 diff --git a/tasks/free_text_acme_hqhs_005/solution.sh b/tasks/free_text_acme_hqhs_005/solution.sh new file mode 100755 index 00000000..017a60bc --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/solution.sh @@ -0,0 +1,24 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as Total_Loss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'AG' +group by party_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_005/task.yaml b/tasks/free_text_acme_hqhs_005/task.yaml new file mode 100644 index 00000000..d586cc12 --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_hqhs_005 +status: ready +description: 'HQHS: Agent - Policy - Coverage - Claim - Loss Payment&Expense Payment&Expense + Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What is the total loss of each policy that an agent has sold by agent id + where total loss is the sum of loss payment, loss reserve, expense payment, expense + reserve amounts? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total loss of each policy that an agent has sold by agent id where + total loss is the sum of loss payment, loss reserve, expense payment, expense + reserve amounts? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv new file mode 100644 index 00000000..f2729331 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,Total_Loss +12312701,4600 +12312702,9000 diff --git a/tasks/free_text_acme_hqhs_006/solution.sh b/tasks/free_text_acme_hqhs_006/solution.sh new file mode 100755 index 00000000..9544788a --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/solution.sh @@ -0,0 +1,19 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + (ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as Total_Loss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_006/task.yaml b/tasks/free_text_acme_hqhs_006/task.yaml new file mode 100644 index 00000000..78c83d16 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_hqhs_006 +status: ready +description: 'HQHS: What is the total loss by claim number?' +prompts: +- key: base + prompt: 'What is the total loss of each claim by claim number where total loss is + the sum of loss payment, loss reserve, expense payment, expense reserve amount? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total loss of each claim by claim number where total loss is the sum + of loss payment, loss reserve, expense payment, expense reserve amount? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv new file mode 100644 index 00000000..553036f1 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,premium,NoOfClaims,TotalLoss,LossRatio +31003000336,20000,2,13600,0.68 diff --git a/tasks/free_text_acme_hqhs_007/solution.sh b/tasks/free_text_acme_hqhs_007/solution.sh new file mode 100755 index 00000000..8adfe3cc --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/solution.sh @@ -0,0 +1,27 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + policy_amount as premium, + count(company_claim_number) as NoOfClaims, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as TotalLoss, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount)/policy_amount as LossRatio +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +group by policy_number, policy_amount +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_007/task.yaml b/tasks/free_text_acme_hqhs_007/task.yaml new file mode 100644 index 00000000..8dab3f38 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/task.yaml @@ -0,0 +1,38 @@ +task_id: free_text_acme_hqhs_007 +status: ready +description: 'HQHS: What is the loss ratio by policy number?' +prompts: +- key: base + prompt: 'What is the loss ratio, number of claims, total loss by policy number and + premium where total loss is the sum of loss payment, loss reserve, expense payment, + expense reserve amount and loss ratio is total loss divided by premium? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the loss ratio, number of claims, total loss by policy number and premium + where total loss is the sum of loss payment, loss reserve, expense payment, expense + reserve amount and loss ratio is total loss divided by premium? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv new file mode 100644 index 00000000..1f6bb516 --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,AvgLoss +31003000336,6800.0 diff --git a/tasks/free_text_acme_hqhs_008/solution.sh b/tasks/free_text_acme_hqhs_008/solution.sh new file mode 100755 index 00000000..d421769f --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/solution.sh @@ -0,0 +1,22 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + AVG(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as AvgLoss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier +group by policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_008/task.yaml b/tasks/free_text_acme_hqhs_008/task.yaml new file mode 100644 index 00000000..4104c82f --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/task.yaml @@ -0,0 +1,37 @@ +task_id: free_text_acme_hqhs_008 +status: ready +description: 'HQHS: AVG-Policy-Coverage-Claim-Loss Payment&Expense Payment&Expense + Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What is the average loss of each policy by policy number where loss is + the sum of loss payment, loss reserve, expense payment, expense reserve amounts? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the average loss of each policy by policy number where loss is the sum + of loss payment, loss reserve, expense payment, expense reserve amounts? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv new file mode 100644 index 00000000..585c7b4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,Total_Loss +31003000336,13600 diff --git a/tasks/free_text_acme_hqhs_009/solution.sh b/tasks/free_text_acme_hqhs_009/solution.sh new file mode 100755 index 00000000..d1fc6fd7 --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/solution.sh @@ -0,0 +1,22 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + policy_number, + sum(ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as Total_Loss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier +group by policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_009/task.yaml b/tasks/free_text_acme_hqhs_009/task.yaml new file mode 100644 index 00000000..304b6c2c --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_hqhs_009 +status: ready +description: 'HQHS: What is the total loss by policy number?' +prompts: +- key: base + prompt: 'What is the total loss of each policy by policy number where total loss + is the sum of loss payment, loss reserve, expense payment, expense reserve amounts? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total loss of each policy by policy number where total loss is the + sum of loss payment, loss reserve, expense payment, expense reserve amounts? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv new file mode 100644 index 00000000..11277a4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Party_Identifier,Policy_Number,premium,Company_Claim_Number,Loss +1,31003000336,20000,12312701,4600 +1,31003000336,20000,12312702,9000 diff --git a/tasks/free_text_acme_hqhs_010/solution.sh b/tasks/free_text_acme_hqhs_010/solution.sh new file mode 100755 index 00000000..fec3964d --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/solution.sh @@ -0,0 +1,28 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier, + policy_number, + policy_amount as premium, + company_claim_number, + (ca_lp.claim_amount + ca_lr.claim_amount + ca_ep.claim_amount + ca_er.claim_amount) as Loss +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'PH' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqhs_010/task.yaml b/tasks/free_text_acme_hqhs_010/task.yaml new file mode 100644 index 00000000..f468427b --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_hqhs_010 +status: ready +description: 'HQHS: What are the total loss by claim number and corresponding policy + number, policy holder and premium amount paid?' +prompts: +- key: base + prompt: 'What are the total loss, which is the sum of loss payment, loss reserve, + expense payment, expense reserve amount by claim number and corresponding policy + number, policy holder and premium amount paid? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the total loss, which is the sum of loss payment, loss reserve, expense + payment, expense reserve amount by claim number and corresponding policy number, + policy holder and premium amount paid? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_001/seeds/solution__result.csv b/tasks/free_text_acme_hqls_001/seeds/solution__result.csv new file mode 100644 index 00000000..fca58e6e --- /dev/null +++ b/tasks/free_text_acme_hqls_001/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,NoOfClaims +31003000336,2 diff --git a/tasks/free_text_acme_hqls_001/solution.sh b/tasks/free_text_acme_hqls_001/solution.sh new file mode 100755 index 00000000..6006b693 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/solution.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, count(company_claim_number) as NoOfClaims +from + policy + inner join policy_coverage_detail on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join claim_coverage on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join claim on claim.claim_identifier = claim_coverage.claim_identifier +group by policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_001/task.yaml b/tasks/free_text_acme_hqls_001/task.yaml new file mode 100644 index 00000000..a75fa916 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_001 +status: ready +description: 'HQLS: Policy - Coverage - Claim' +prompts: +- key: base + prompt: 'How many claims have been placed by policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + How many claims have been placed by policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_002/seeds/solution__result.csv b/tasks/free_text_acme_hqls_002/seeds/solution__result.csv new file mode 100644 index 00000000..147e4733 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Policy_Number,"avg(datediff('day', claim_open_date, claim_close_date))" +31003000336,20.5 diff --git a/tasks/free_text_acme_hqls_002/solution.sh b/tasks/free_text_acme_hqls_002/solution.sh new file mode 100755 index 00000000..32cf8733 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/solution.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, avg(datediff('day', claim_open_date, claim_close_date)) +from claim +inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier +inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier +inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier +where claim_close_date IS NOT NULL +group by policy_number + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_002/task.yaml b/tasks/free_text_acme_hqls_002/task.yaml new file mode 100644 index 00000000..22acfd7c --- /dev/null +++ b/tasks/free_text_acme_hqls_002/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_002 +status: ready +description: 'HQLS: What is the average time to settle a claim by policy number?' +prompts: +- key: base + prompt: 'What is the average time to settle a claim by policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the average time to settle a claim by policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_003/seeds/solution__result.csv b/tasks/free_text_acme_hqls_003/seeds/solution__result.csv new file mode 100644 index 00000000..258a6ffa --- /dev/null +++ b/tasks/free_text_acme_hqls_003/seeds/solution__result.csv @@ -0,0 +1,2 @@ +agentid,NoOfPolicies +2,2 diff --git a/tasks/free_text_acme_hqls_003/solution.sh b/tasks/free_text_acme_hqls_003/solution.sh new file mode 100755 index 00000000..7d20101f --- /dev/null +++ b/tasks/free_text_acme_hqls_003/solution.sh @@ -0,0 +1,10 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select party_identifier as agentid, count(policy.policy_number) as NoOfPolicies +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'AG' +group by party_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_003/task.yaml b/tasks/free_text_acme_hqls_003/task.yaml new file mode 100644 index 00000000..37a2273b --- /dev/null +++ b/tasks/free_text_acme_hqls_003/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_003 +status: ready +description: 'HQLS: Policy - Agent' +prompts: +- key: base + prompt: 'How many policies have agents sold by agent id? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + How many policies have agents sold by agent id? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_004/seeds/solution__result.csv b/tasks/free_text_acme_hqls_004/seeds/solution__result.csv new file mode 100644 index 00000000..3427725a --- /dev/null +++ b/tasks/free_text_acme_hqls_004/seeds/solution__result.csv @@ -0,0 +1,2 @@ +avgPolicySize +49000.0 diff --git a/tasks/free_text_acme_hqls_004/solution.sh b/tasks/free_text_acme_hqls_004/solution.sh new file mode 100755 index 00000000..ed17953d --- /dev/null +++ b/tasks/free_text_acme_hqls_004/solution.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + SUM(policy_amount)/COUNT(DISTINCT policy_number) AS avgPolicySize +FROM + policy_coverage_detail + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_004/task.yaml b/tasks/free_text_acme_hqls_004/task.yaml new file mode 100644 index 00000000..8c59e90b --- /dev/null +++ b/tasks/free_text_acme_hqls_004/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_hqls_004 +status: ready +description: 'HQLS: Policy - Coverage - Premium' +prompts: +- key: base + prompt: 'What is the average policy size which is the the total amount of premium + divided by the number of policies? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the average policy size which is the the total amount of premium divided + by the number of policies? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_005/seeds/solution__result.csv b/tasks/free_text_acme_hqls_005/seeds/solution__result.csv new file mode 100644 index 00000000..81a537fc --- /dev/null +++ b/tasks/free_text_acme_hqls_005/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,TotalPremiumAmount +31003000336,86000 +31003000337,12000 diff --git a/tasks/free_text_acme_hqls_005/solution.sh b/tasks/free_text_acme_hqls_005/solution.sh new file mode 100755 index 00000000..32da01e2 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/solution.sh @@ -0,0 +1,11 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, sum(policy_amount) as TotalPremiumAmount +from + policy + inner join policy_amount on policy.policy_identifier = policy_amount.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +group by policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_005/task.yaml b/tasks/free_text_acme_hqls_005/task.yaml new file mode 100644 index 00000000..c10553d0 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_005 +status: ready +description: 'HQLS: What is the total amount of premiums paid by policy number?' +prompts: +- key: base + prompt: 'What is the total amount of premiums paid by policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total amount of premiums paid by policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_006/seeds/solution__result.csv b/tasks/free_text_acme_hqls_006/seeds/solution__result.csv new file mode 100644 index 00000000..b17b096c --- /dev/null +++ b/tasks/free_text_acme_hqls_006/seeds/solution__result.csv @@ -0,0 +1,2 @@ +NoOfClaims +2 diff --git a/tasks/free_text_acme_hqls_006/solution.sh b/tasks/free_text_acme_hqls_006/solution.sh new file mode 100755 index 00000000..16b39a9a --- /dev/null +++ b/tasks/free_text_acme_hqls_006/solution.sh @@ -0,0 +1,7 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT COUNT(*) AS NoOfClaims +FROM claim +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_006/task.yaml b/tasks/free_text_acme_hqls_006/task.yaml new file mode 100644 index 00000000..56aa10ad --- /dev/null +++ b/tasks/free_text_acme_hqls_006/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_006 +status: ready +description: 'HQLS: Claim' +prompts: +- key: base + prompt: 'How many claims do we have? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + How many claims do we have? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_007/seeds/solution__result.csv b/tasks/free_text_acme_hqls_007/seeds/solution__result.csv new file mode 100644 index 00000000..7599f2c3 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Party_Identifier,sum(policy_amount) +1,98000 diff --git a/tasks/free_text_acme_hqls_007/solution.sh b/tasks/free_text_acme_hqls_007/solution.sh new file mode 100755 index 00000000..d90f06ff --- /dev/null +++ b/tasks/free_text_acme_hqls_007/solution.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select party_identifier, sum(policy_amount) +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +inner join policy_amount on policy.policy_identifier = policy_amount.policy_identifier +inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'PH' +group by party_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_007/task.yaml b/tasks/free_text_acme_hqls_007/task.yaml new file mode 100644 index 00000000..cff1a247 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/task.yaml @@ -0,0 +1,35 @@ +task_id: free_text_acme_hqls_007 +status: ready +description: 'HQLS: What is the total amount of premiums that a policy holder has + paid?' +prompts: +- key: base + prompt: 'What is the total amount of premiums that a policy holder has paid? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total amount of premiums that a policy holder has paid? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_008/seeds/solution__result.csv b/tasks/free_text_acme_hqls_008/seeds/solution__result.csv new file mode 100644 index 00000000..e70289e7 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,LossAmount +12312701,2200 +12312702,4400 diff --git a/tasks/free_text_acme_hqls_008/solution.sh b/tasks/free_text_acme_hqls_008/solution.sh new file mode 100755 index 00000000..9b53854c --- /dev/null +++ b/tasks/free_text_acme_hqls_008/solution.sh @@ -0,0 +1,15 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + (ca_lp.claim_amount + ca_lr.claim_amount ) as LossAmount +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_008/task.yaml b/tasks/free_text_acme_hqls_008/task.yaml new file mode 100644 index 00000000..226e4892 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_hqls_008 +status: ready +description: 'HQLS: Claim - Loss Payment&Loss Reserve' +prompts: +- key: base + prompt: 'What is the total loss amounts, which is the sum of loss payment, loss + reserve amount by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total loss amounts, which is the sum of loss payment, loss reserve + amount by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_009/seeds/solution__result.csv b/tasks/free_text_acme_hqls_009/seeds/solution__result.csv new file mode 100644 index 00000000..aad4be04 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Party_Identifier,Policy_Number,sum(policy_amount) +1,31003000336,86000 +1,31003000337,12000 diff --git a/tasks/free_text_acme_hqls_009/solution.sh b/tasks/free_text_acme_hqls_009/solution.sh new file mode 100755 index 00000000..35689d01 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/solution.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select party_identifier, policy_number, sum(policy_amount) +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +inner join policy_amount on policy.policy_identifier = policy_amount.policy_identifier +inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'PH' +group by party_identifier, policy_number +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_009/task.yaml b/tasks/free_text_acme_hqls_009/task.yaml new file mode 100644 index 00000000..6a0bdc7f --- /dev/null +++ b/tasks/free_text_acme_hqls_009/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_hqls_009 +status: ready +description: 'HQLS: What is the total amount of premiums that a policy holder has + paid by policy number?' +prompts: +- key: base + prompt: 'What is the total amount of premiums that a policy holder has paid by policy + number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the total amount of premiums that a policy holder has paid by policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_010/seeds/solution__result.csv b/tasks/free_text_acme_hqls_010/seeds/solution__result.csv new file mode 100644 index 00000000..c72744f2 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/seeds/solution__result.csv @@ -0,0 +1,2 @@ +NoOfPolicy +2 diff --git a/tasks/free_text_acme_hqls_010/solution.sh b/tasks/free_text_acme_hqls_010/solution.sh new file mode 100755 index 00000000..0d8da212 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/solution.sh @@ -0,0 +1,7 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT COUNT(*) AS NoOfPolicy +FROM policy +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_010/task.yaml b/tasks/free_text_acme_hqls_010/task.yaml new file mode 100644 index 00000000..1967c1f1 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_010 +status: ready +description: 'HQLS: Policy' +prompts: +- key: base + prompt: 'How many policies do we have? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + How many policies do we have? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_011/seeds/solution__result.csv b/tasks/free_text_acme_hqls_011/seeds/solution__result.csv new file mode 100644 index 00000000..7396b658 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/seeds/solution__result.csv @@ -0,0 +1,2 @@ +Party_Identifier,NoOfPolicies +1,2 diff --git a/tasks/free_text_acme_hqls_011/solution.sh b/tasks/free_text_acme_hqls_011/solution.sh new file mode 100755 index 00000000..52ec3e4f --- /dev/null +++ b/tasks/free_text_acme_hqls_011/solution.sh @@ -0,0 +1,10 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select party_identifier, count( policy.policy_number) as NoOfPolicies +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'PH' +group by party_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_hqls_011/task.yaml b/tasks/free_text_acme_hqls_011/task.yaml new file mode 100644 index 00000000..54f83514 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_hqls_011 +status: ready +description: 'HQLS: Policy - Policy Holder' +prompts: +- key: base + prompt: 'How many policies does each policy holder have by policy holder id? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + How many policies does each policy holder have by policy holder id? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- hqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv new file mode 100644 index 00000000..cdc49186 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name +1,31003000336,12312702,Fire +1,31003000336,12312701,Fire diff --git a/tasks/free_text_acme_lqhs_001/solution.sh b/tasks/free_text_acme_lqhs_001/solution.sh new file mode 100755 index 00000000..74c1c9d0 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/solution.sh @@ -0,0 +1,18 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + catastrophe_name +FROM + Claim + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'PH' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_001/task.yaml b/tasks/free_text_acme_lqhs_001/task.yaml new file mode 100644 index 00000000..4894b5ab --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/task.yaml @@ -0,0 +1,35 @@ +task_id: free_text_acme_lqhs_001 +status: ready +description: 'LQHS: Policy Holder - Policy - Coverage - Claim - Catastrophe' +prompts: +- key: base + prompt: 'Return policy holders and the claims they have made and the correspoinding + catastrophe + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return policy holders and the claims they have made and the correspoinding catastrophe + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv new file mode 100644 index 00000000..4b4c9835 --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Expense_Reserve_Amount +2,31003000336,12312702,2200 +2,31003000336,12312701,1100 diff --git a/tasks/free_text_acme_lqhs_002/solution.sh b/tasks/free_text_acme_lqhs_002/solution.sh new file mode 100755 index 00000000..71a9c336 --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/solution.sh @@ -0,0 +1,20 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + claim_amount.claim_amount as Expense_Reserve_Amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN expense_reserve ON claim_amount.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_002/task.yaml b/tasks/free_text_acme_lqhs_002/task.yaml new file mode 100644 index 00000000..5766657e --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_002 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Expense Reserve' +prompts: +- key: base + prompt: 'Return agents and the policy they have sold that have had a claim and the + corresponding expense reserve amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policy they have sold that have had a claim and the corresponding + expense reserve amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv new file mode 100644 index 00000000..4f3026cb --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Loss_Reserve_Amount +2,31003000336,12312702,2100 +2,31003000336,12312701,1000 diff --git a/tasks/free_text_acme_lqhs_003/solution.sh b/tasks/free_text_acme_lqhs_003/solution.sh new file mode 100755 index 00000000..ceda5f94 --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/solution.sh @@ -0,0 +1,20 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + claim_amount.claim_amount as Loss_Reserve_Amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN loss_reserve ON claim_amount.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_003/task.yaml b/tasks/free_text_acme_lqhs_003/task.yaml new file mode 100644 index 00000000..66031e2b --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_003 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Loss Reserve' +prompts: +- key: base + prompt: 'Return agents and the policy they have sold that have had a claim and the + corresponding loss reserve amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policy they have sold that have had a claim and the corresponding + loss reserve amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv new file mode 100644 index 00000000..bc756a6a --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,PolicyHolderID,Policy_Number,premium,Catastrophe_Name,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +2,1,31003000336,20000,Fire,12312701,1200,1000,1300,1100 +2,1,31003000336,20000,Fire,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_004/solution.sh b/tasks/free_text_acme_lqhs_004/solution.sh new file mode 100755 index 00000000..075ac94e --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/solution.sh @@ -0,0 +1,35 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + apr2.party_identifier as AgentID, + apr1.party_identifier as PolicyHolderID, + policy_number, + policy_amount as premium, + catastrophe_name, + company_claim_number, + ca_lp.claim_amount as Loss_Payment_Amount, + ca_lr.claim_amount as Loss_Reserve_Amount, + ca_ep.claim_amount as Expense_Payment_Amount, + ca_er.claim_amount as Expense_Reserve_Amount +FROM + Claim + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role apr1 on apr1.agreement_identifier = policy.policy_identifier + inner join agreement_party_role apr2 on apr2.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where apr1.party_role_code = 'PH' and apr2.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_004/task.yaml b/tasks/free_text_acme_lqhs_004/task.yaml new file mode 100644 index 00000000..cf2950ea --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_lqhs_004 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Premium - Claim - Catastrophe - Loss + Payment&Expense Payment&Expense Reserve&Loss Rese' +prompts: +- key: base + prompt: 'What are the loss payment, loss reserve, expense payment, expense reserve + amount by claim number and corresponding policy number, policy holder, premium + amount paid, the catastrophe it had, and the agent who sold it? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss payment, loss reserve, expense payment, expense reserve amount + by claim number and corresponding policy number, policy holder, premium amount + paid, the catastrophe it had, and the agent who sold it? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv new file mode 100644 index 00000000..db34cef2 --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv @@ -0,0 +1,3 @@ +PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +1,31003000336,20000,12312701,1200,1000,1300,1100 +1,31003000336,20000,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_005/solution.sh b/tasks/free_text_acme_lqhs_005/solution.sh new file mode 100755 index 00000000..89edc3ef --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/solution.sh @@ -0,0 +1,31 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as PolicyHolderID, + policy_number, + policy_amount as premium, + company_claim_number, + ca_lp.claim_amount as Loss_Payment_Amount, + ca_lr.claim_amount as Loss_Reserve_Amount, + ca_ep.claim_amount as Expense_Payment_Amount, + ca_er.claim_amount as Expense_Reserve_Amount +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'PH' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_005/task.yaml b/tasks/free_text_acme_lqhs_005/task.yaml new file mode 100644 index 00000000..25fb3ba2 --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_lqhs_005 +status: ready +description: 'LQHS: Policy - Coverage - Premium - Claim - Loss Payment&Expense Payment&Expense + Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What are the loss payment, loss reserve, expense payment, expense reserve + amount by claim number and corresponding policy number, policy holder and premium + amount paid? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss payment, loss reserve, expense payment, expense reserve amount + by claim number and corresponding policy number, policy holder and premium amount + paid? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv new file mode 100644 index 00000000..2f756367 --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +12312701,1200,1000,1300,1100 +12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_006/solution.sh b/tasks/free_text_acme_lqhs_006/solution.sh new file mode 100755 index 00000000..135016ba --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/solution.sh @@ -0,0 +1,21 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + ca_lp.claim_amount as Loss_Payment_Amount, + ca_lr.claim_amount as Loss_Reserve_Amount, + ca_ep.claim_amount as Expense_Payment_Amount, + ca_er.claim_amount as Expense_Reserve_Amount +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_006/task.yaml b/tasks/free_text_acme_lqhs_006/task.yaml new file mode 100644 index 00000000..a123048c --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_006 +status: ready +description: 'LQHS: Claim - Loss Payment&Expense Payment&Expense Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What are the loss payment, loss reserve, expense payment, expense reserve + amount by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss payment, loss reserve, expense payment, expense reserve amount + by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv new file mode 100644 index 00000000..a73012e9 --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Expense_Payment_Amount +2,31003000336,12312702,2400 +2,31003000336,12312701,1300 diff --git a/tasks/free_text_acme_lqhs_007/solution.sh b/tasks/free_text_acme_lqhs_007/solution.sh new file mode 100755 index 00000000..7d4fcd7e --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/solution.sh @@ -0,0 +1,22 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' + + +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + claim_amount.claim_amount as Expense_Payment_Amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN expense_payment ON claim_amount.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_007/task.yaml b/tasks/free_text_acme_lqhs_007/task.yaml new file mode 100644 index 00000000..0a08f7cb --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_007 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Expense Payment' +prompts: +- key: base + prompt: 'Return agents and the policy they have sold that have had a claim and the + corresponding expense payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policy they have sold that have had a claim and the corresponding + expense payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv new file mode 100644 index 00000000..c50ae486 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +2,1,31003000336,20000,12312701,1200,1000,1300,1100 +2,1,31003000336,20000,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_008/solution.sh b/tasks/free_text_acme_lqhs_008/solution.sh new file mode 100755 index 00000000..d95e0d4f --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/solution.sh @@ -0,0 +1,33 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + apr2.party_identifier as AgentID, + apr1.party_identifier as PolicyHolderID, + policy_number, + policy_amount as premium, + company_claim_number, + ca_lp.claim_amount as Loss_Payment_Amount, + ca_lr.claim_amount as Loss_Reserve_Amount, + ca_ep.claim_amount as Expense_Payment_Amount, + ca_er.claim_amount as Expense_Reserve_Amount +FROM + Claim + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role apr1 on apr1.agreement_identifier = policy.policy_identifier + inner join agreement_party_role apr2 on apr2.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where apr1.party_role_code = 'PH' and apr2.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_008/task.yaml b/tasks/free_text_acme_lqhs_008/task.yaml new file mode 100644 index 00000000..ca9df722 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/task.yaml @@ -0,0 +1,39 @@ +task_id: free_text_acme_lqhs_008 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Premium - Claim - Loss Payment&Expense + Payment&Expense Reserve&Loss Reserve' +prompts: +- key: base + prompt: 'What are the loss payment, loss reserve, expense payment, expense reserve + amount by claim number and corresponding policy number, policy holder, premium + amount paid and the agent who sold it? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss payment, loss reserve, expense payment, expense reserve amount + by claim number and corresponding policy number, policy holder, premium amount + paid and the agent who sold it? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv new file mode 100644 index 00000000..4ec9c408 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount +2,31003000336,12312701,1200 +2,31003000336,12312702,2300 diff --git a/tasks/free_text_acme_lqhs_009/solution.sh b/tasks/free_text_acme_lqhs_009/solution.sh new file mode 100755 index 00000000..489d53e7 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/solution.sh @@ -0,0 +1,32 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + apr2.party_identifier as AgentID, +-- apr1.party_identifier as PolicyHolderID, + policy_number, + -- policy_amount as premium, + -- catastrophe_name, + company_claim_number, + ca_lp.claim_amount as Loss_Payment_Amount +FROM + Claim + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier + inner join claim_amount ca_lp on claim.claim_identifier = ca_lp.claim_identifier + inner JOIN loss_payment ON ca_lp.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_amount ca_lr on claim.claim_identifier = ca_lr.claim_identifier + inner JOIN loss_reserve ON ca_lr.claim_amount_identifier = loss_reserve.claim_amount_identifier + inner join claim_amount ca_ep on claim.claim_identifier = ca_ep.claim_identifier + inner JOIN expense_payment ON ca_ep.claim_amount_identifier = expense_payment.claim_amount_identifier + inner join claim_amount ca_er on claim.claim_identifier = ca_er.claim_identifier + inner JOIN expense_reserve ON ca_er.claim_amount_identifier = expense_reserve.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join agreement_party_role apr1 on apr1.agreement_identifier = policy.policy_identifier + inner join agreement_party_role apr2 on apr2.agreement_identifier = policy.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where apr1.party_role_code = 'PH' and apr2.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_009/task.yaml b/tasks/free_text_acme_lqhs_009/task.yaml new file mode 100644 index 00000000..692e56d8 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_009 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Loss Payment' +prompts: +- key: base + prompt: 'Return agents and the policies they have sold that have had a claim and + the corresponding loss payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policies they have sold that have had a claim and the corresponding + loss payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv new file mode 100644 index 00000000..44e5aa1e --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount +2,31003000336,12312702,2300 +2,31003000336,12312701,1200 diff --git a/tasks/free_text_acme_lqhs_010/solution.sh b/tasks/free_text_acme_lqhs_010/solution.sh new file mode 100755 index 00000000..b4e17d05 --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/solution.sh @@ -0,0 +1,20 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + claim_amount.claim_amount as Loss_Payment_Amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN loss_payment ON claim_amount.claim_amount_identifier = loss_payment.claim_amount_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier + +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_010/task.yaml b/tasks/free_text_acme_lqhs_010/task.yaml new file mode 100644 index 00000000..1514cffe --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_010 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Loss Payment' +prompts: +- key: base + prompt: 'Return agents and the policies they have sold that have had a claim and + the corresponding loss payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policies they have sold that have had a claim and the corresponding + loss payment amount by agent id, policy number and claim number + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv new file mode 100644 index 00000000..cc0326ba --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv @@ -0,0 +1,3 @@ +AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name +2,31003000336,12312702,Fire +2,31003000336,12312701,Fire diff --git a/tasks/free_text_acme_lqhs_011/solution.sh b/tasks/free_text_acme_lqhs_011/solution.sh new file mode 100755 index 00000000..e78e1d5d --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/solution.sh @@ -0,0 +1,18 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + party_identifier as AgentID, + policy_number, + company_claim_number, + catastrophe_name +FROM + Claim + inner join catastrophe on claim.catastrophe_identifier = catastrophe.catastrophe_identifier + inner join claim_coverage on claim.claim_identifier = claim_coverage.claim_identifier + inner join policy_coverage_detail on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join policy on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join agreement_party_role on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqhs_011/task.yaml b/tasks/free_text_acme_lqhs_011/task.yaml new file mode 100644 index 00000000..f8ab56c8 --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqhs_011 +status: ready +description: 'LQHS: Agent - Policy - Coverage - Claim - Coverage' +prompts: +- key: base + prompt: 'Return agents and the policy they have sold that have had a claim and the + corresponding catastrophe it had. + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return agents and the policy they have sold that have had a claim and the corresponding + catastrophe it had. + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: hard +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqhs +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_001/seeds/solution__result.csv b/tasks/free_text_acme_lqls_001/seeds/solution__result.csv new file mode 100644 index 00000000..64afe16c --- /dev/null +++ b/tasks/free_text_acme_lqls_001/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,Party_Identifier +31003000336,1 +31003000337,1 diff --git a/tasks/free_text_acme_lqls_001/solution.sh b/tasks/free_text_acme_lqls_001/solution.sh new file mode 100755 index 00000000..4ce67252 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/solution.sh @@ -0,0 +1,9 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy.policy_number, party_identifier +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'PH' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_001/task.yaml b/tasks/free_text_acme_lqls_001/task.yaml new file mode 100644 index 00000000..57c7fce1 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_001 +status: ready +description: 'LQLS: Return all the policies and their policy holder by id' +prompts: +- key: base + prompt: 'Return all the policies and their policy holder by id + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return all the policies and their policy holder by id + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_002/seeds/solution__result.csv b/tasks/free_text_acme_lqls_002/seeds/solution__result.csv new file mode 100644 index 00000000..f3d0e39a --- /dev/null +++ b/tasks/free_text_acme_lqls_002/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,loss_reserve_amount +12312701,1000 +12312702,2100 diff --git a/tasks/free_text_acme_lqls_002/solution.sh b/tasks/free_text_acme_lqls_002/solution.sh new file mode 100755 index 00000000..032cbfb6 --- /dev/null +++ b/tasks/free_text_acme_lqls_002/solution.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + claim_amount as loss_reserve_amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN loss_reserve ON claim_amount.claim_amount_identifier = loss_reserve.claim_amount_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_002/task.yaml b/tasks/free_text_acme_lqls_002/task.yaml new file mode 100644 index 00000000..727b61cc --- /dev/null +++ b/tasks/free_text_acme_lqls_002/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_002 +status: ready +description: 'LQLS: Claim - Loss Reserve' +prompts: +- key: base + prompt: 'What are the loss reserve amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss reserve amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_003/seeds/solution__result.csv b/tasks/free_text_acme_lqls_003/seeds/solution__result.csv new file mode 100644 index 00000000..22cf72da --- /dev/null +++ b/tasks/free_text_acme_lqls_003/seeds/solution__result.csv @@ -0,0 +1,7 @@ +Policy_Number,Party_Identifier,Policy_Amount +31003000336,1,15000 +31003000336,1,16000 +31003000336,1,17000 +31003000336,1,18000 +31003000336,1,20000 +31003000337,1,12000 diff --git a/tasks/free_text_acme_lqls_003/solution.sh b/tasks/free_text_acme_lqls_003/solution.sh new file mode 100755 index 00000000..ea9a7c0d --- /dev/null +++ b/tasks/free_text_acme_lqls_003/solution.sh @@ -0,0 +1,11 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy.policy_number, party_identifier, policy_amount +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +inner join policy_amount on policy.policy_identifier = policy_amount.policy_identifier +inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +where agreement_party_role.party_role_code = 'PH' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_003/task.yaml b/tasks/free_text_acme_lqls_003/task.yaml new file mode 100644 index 00000000..9e30f507 --- /dev/null +++ b/tasks/free_text_acme_lqls_003/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_003 +status: ready +description: 'LQLS: What are all the premiums that have been paid by policy holders?' +prompts: +- key: base + prompt: 'What are all the premiums that have been paid by policy holders? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are all the premiums that have been paid by policy holders? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_004/seeds/solution__result.csv b/tasks/free_text_acme_lqls_004/seeds/solution__result.csv new file mode 100644 index 00000000..4972f1d1 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number +12312701 +12312702 diff --git a/tasks/free_text_acme_lqls_004/solution.sh b/tasks/free_text_acme_lqls_004/solution.sh new file mode 100755 index 00000000..0b3ff142 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/solution.sh @@ -0,0 +1,8 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT company_claim_number +FROM claim +where claim_close_date >= '2019-01-01' and claim_close_date <= '2019-12-31' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_004/task.yaml b/tasks/free_text_acme_lqls_004/task.yaml new file mode 100644 index 00000000..550f74f4 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_004 +status: ready +description: 'LQLS: Return all the claims by claim number that were closed in 2019' +prompts: +- key: base + prompt: 'Return all the claims by claim number that were closed in 2019 + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return all the claims by claim number that were closed in 2019 + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_005/seeds/solution__result.csv b/tasks/free_text_acme_lqls_005/seeds/solution__result.csv new file mode 100644 index 00000000..b558d3ed --- /dev/null +++ b/tasks/free_text_acme_lqls_005/seeds/solution__result.csv @@ -0,0 +1,7 @@ +Policy_Number,Effective_Date,Expiration_Date,Policy_Amount +31003000336,2015-01-01,2015-12-31,15000 +31003000336,2016-01-01,2016-12-31,16000 +31003000336,2017-01-01,2017-12-31,17000 +31003000336,2018-01-01,2018-12-31,18000 +31003000336,2019-01-01,2019-12-31,20000 +31003000337,2019-06-01,2020-05-31,12000 diff --git a/tasks/free_text_acme_lqls_005/solution.sh b/tasks/free_text_acme_lqls_005/solution.sh new file mode 100755 index 00000000..c67b16b0 --- /dev/null +++ b/tasks/free_text_acme_lqls_005/solution.sh @@ -0,0 +1,11 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, policy_coverage_detail.effective_date, policy_coverage_detail.expiration_date, policy_amount +from + policy + inner join policy_coverage_detail on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join policy_amount on policy_coverage_detail.policy_coverage_detail_identifier = policy_amount.policy_coverage_detail_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_005/task.yaml b/tasks/free_text_acme_lqls_005/task.yaml new file mode 100644 index 00000000..34f3782a --- /dev/null +++ b/tasks/free_text_acme_lqls_005/task.yaml @@ -0,0 +1,37 @@ +task_id: free_text_acme_lqls_005 +status: ready +description: 'LQLS: What is the premium amount of all policies by policy number, coverage + effective date and coverage expiration date' +prompts: +- key: base + prompt: 'What is the premium amount of all policies by policy number, coverage effective + date and coverage expiration date + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the premium amount of all policies by policy number, coverage effective + date and coverage expiration date + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_006/seeds/solution__result.csv b/tasks/free_text_acme_lqls_006/seeds/solution__result.csv new file mode 100644 index 00000000..009bb0d8 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,Company_Claim_Number +31003000336,12312701 +31003000336,12312702 diff --git a/tasks/free_text_acme_lqls_006/solution.sh b/tasks/free_text_acme_lqls_006/solution.sh new file mode 100755 index 00000000..7ee80772 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/solution.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, company_claim_number +from + policy + inner join policy_coverage_detail on policy.policy_identifier = policy_coverage_detail.policy_identifier + inner join claim_coverage on claim_coverage.policy_coverage_detail_identifier = policy_coverage_detail.policy_coverage_detail_identifier + inner join claim on claim.claim_identifier = claim_coverage.claim_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_006/task.yaml b/tasks/free_text_acme_lqls_006/task.yaml new file mode 100644 index 00000000..b5c42bff --- /dev/null +++ b/tasks/free_text_acme_lqls_006/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqls_006 +status: ready +description: 'LQLS: Policy - Coverage - Claim' +prompts: +- key: base + prompt: 'What are all our policies that have a claim associated to them by policy + and claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are all our policies that have a claim associated to them by policy and claim + number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_007/seeds/solution__result.csv b/tasks/free_text_acme_lqls_007/seeds/solution__result.csv new file mode 100644 index 00000000..1a729cc9 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,agentid +31003000336,2 +31003000337,2 diff --git a/tasks/free_text_acme_lqls_007/solution.sh b/tasks/free_text_acme_lqls_007/solution.sh new file mode 100755 index 00000000..c3c02bff --- /dev/null +++ b/tasks/free_text_acme_lqls_007/solution.sh @@ -0,0 +1,9 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy.policy_number, party_identifier as agentid +from agreement_party_role +join policy on agreement_party_role.agreement_identifier = policy.policy_identifier +where agreement_party_role.party_role_code = 'AG' +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_007/task.yaml b/tasks/free_text_acme_lqls_007/task.yaml new file mode 100644 index 00000000..a373d426 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqls_007 +status: ready +description: 'LQLS: Policy - Agent' +prompts: +- key: base + prompt: 'Return all the policies and the agents that sold them by policy number + and agent id + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return all the policies and the agents that sold them by policy number and agent + id + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_008/seeds/solution__result.csv b/tasks/free_text_acme_lqls_008/seeds/solution__result.csv new file mode 100644 index 00000000..1b68fe35 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,expense_payment_amount +12312701,1300 +12312702,2400 diff --git a/tasks/free_text_acme_lqls_008/solution.sh b/tasks/free_text_acme_lqls_008/solution.sh new file mode 100755 index 00000000..807ffe27 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/solution.sh @@ -0,0 +1,14 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + claim_amount as expense_payment_amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN expense_payment ON claim_amount.claim_amount_identifier = expense_payment.claim_amount_identifier + + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_008/task.yaml b/tasks/free_text_acme_lqls_008/task.yaml new file mode 100644 index 00000000..42d3dba3 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_008 +status: ready +description: 'LQLS: Claim - Expense Payment' +prompts: +- key: base + prompt: 'What are the expense payment amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the expense payment amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_009/seeds/solution__result.csv b/tasks/free_text_acme_lqls_009/seeds/solution__result.csv new file mode 100644 index 00000000..a3522fe0 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,expense_reserve_amount +12312701,1100 +12312702,2200 diff --git a/tasks/free_text_acme_lqls_009/solution.sh b/tasks/free_text_acme_lqls_009/solution.sh new file mode 100755 index 00000000..d6e32287 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/solution.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + claim_amount as expense_reserve_amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN expense_reserve ON claim_amount.claim_amount_identifier = expense_reserve.claim_amount_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_009/task.yaml b/tasks/free_text_acme_lqls_009/task.yaml new file mode 100644 index 00000000..1eb9aa26 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_009 +status: ready +description: 'LQLS: Claim - Expense Reserve' +prompts: +- key: base + prompt: 'What are the expense reserve amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the expense reserve amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_010/seeds/solution__result.csv b/tasks/free_text_acme_lqls_010/seeds/solution__result.csv new file mode 100644 index 00000000..8757094d --- /dev/null +++ b/tasks/free_text_acme_lqls_010/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,Claim_Open_Date,Claim_Close_Date +12312701,2019-01-15,2019-01-31 +12312702,2019-06-02,2019-06-27 diff --git a/tasks/free_text_acme_lqls_010/solution.sh b/tasks/free_text_acme_lqls_010/solution.sh new file mode 100755 index 00000000..a548ff03 --- /dev/null +++ b/tasks/free_text_acme_lqls_010/solution.sh @@ -0,0 +1,8 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT company_claim_number, claim_open_date, claim_close_date +FROM claim + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_010/task.yaml b/tasks/free_text_acme_lqls_010/task.yaml new file mode 100644 index 00000000..c231069e --- /dev/null +++ b/tasks/free_text_acme_lqls_010/task.yaml @@ -0,0 +1,35 @@ +task_id: free_text_acme_lqls_010 +status: ready +description: 'LQLS: Return all the claims we have by claim number, open date and close + date?' +prompts: +- key: base + prompt: 'Return all the claims we have by claim number, open date and close date? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return all the claims we have by claim number, open date and close date? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_011/seeds/solution__result.csv b/tasks/free_text_acme_lqls_011/seeds/solution__result.csv new file mode 100644 index 00000000..188095d9 --- /dev/null +++ b/tasks/free_text_acme_lqls_011/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Policy_Number,Effective_Date,Expiration_Date +31003000336,2015-01-01,2019-12-31 +31003000337,2019-06-01,2020-05-31 diff --git a/tasks/free_text_acme_lqls_011/solution.sh b/tasks/free_text_acme_lqls_011/solution.sh new file mode 100755 index 00000000..eca4498e --- /dev/null +++ b/tasks/free_text_acme_lqls_011/solution.sh @@ -0,0 +1,8 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, policy.effective_date, policy.expiration_date +from policy + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_011/task.yaml b/tasks/free_text_acme_lqls_011/task.yaml new file mode 100644 index 00000000..25a1cf0e --- /dev/null +++ b/tasks/free_text_acme_lqls_011/task.yaml @@ -0,0 +1,36 @@ +task_id: free_text_acme_lqls_011 +status: ready +description: 'LQLS: Policy' +prompts: +- key: base + prompt: 'Return all the policies we have by policy number, effective date and expiration + date? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + Return all the policies we have by policy number, effective date and expiration + date? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: easy +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_012/seeds/solution__result.csv b/tasks/free_text_acme_lqls_012/seeds/solution__result.csv new file mode 100644 index 00000000..557b16c4 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/seeds/solution__result.csv @@ -0,0 +1,3 @@ +Company_Claim_Number,Loss_Payment_Amount +12312701,1200 +12312702,2300 diff --git a/tasks/free_text_acme_lqls_012/solution.sh b/tasks/free_text_acme_lqls_012/solution.sh new file mode 100755 index 00000000..7d01afc3 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/solution.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +SELECT + company_claim_number, + claim_amount as Loss_Payment_Amount +FROM + Claim + inner join claim_amount on claim.claim_identifier = claim_amount.claim_identifier + inner JOIN loss_payment ON claim_amount.claim_amount_identifier = loss_payment.claim_amount_identifier + +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_012/task.yaml b/tasks/free_text_acme_lqls_012/task.yaml new file mode 100644 index 00000000..f5d9d580 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_012 +status: ready +description: 'LQLS: What are the loss payment amount of all claims by claim number?' +prompts: +- key: base + prompt: 'What are the loss payment amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What are the loss payment amount of all claims by claim number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_013/seeds/solution__result.csv b/tasks/free_text_acme_lqls_013/seeds/solution__result.csv new file mode 100644 index 00000000..4686517f --- /dev/null +++ b/tasks/free_text_acme_lqls_013/seeds/solution__result.csv @@ -0,0 +1,7 @@ +Policy_Number,Policy_Amount +31003000336,15000 +31003000336,16000 +31003000336,17000 +31003000336,18000 +31003000336,20000 +31003000337,12000 diff --git a/tasks/free_text_acme_lqls_013/solution.sh b/tasks/free_text_acme_lqls_013/solution.sh new file mode 100755 index 00000000..54fd56bb --- /dev/null +++ b/tasks/free_text_acme_lqls_013/solution.sh @@ -0,0 +1,10 @@ +#!/bin/bash +cat > models/result.sql << 'GOLD_SQL' +select policy_number, policy_amount +from + policy + inner join policy_amount on policy.policy_identifier = policy_amount.policy_identifier + inner join premium on premium.policy_amount_identifier = policy_amount.policy_amount_identifier +GOLD_SQL + +dbt run --select result diff --git a/tasks/free_text_acme_lqls_013/task.yaml b/tasks/free_text_acme_lqls_013/task.yaml new file mode 100644 index 00000000..bbcc2f20 --- /dev/null +++ b/tasks/free_text_acme_lqls_013/task.yaml @@ -0,0 +1,34 @@ +task_id: free_text_acme_lqls_013 +status: ready +description: 'LQLS: What is the premium amount of all policies by policy number?' +prompts: +- key: base + prompt: 'What is the premium amount of all policies by policy number? + + + Write a model called result.sql containing your answer.' +- key: with_sl + prompt: 'Using the dbt semantic layer, answer this question: + + + What is the premium amount of all policies by policy number? + + + Write a model called result.sql containing your answer.' +author_name: dbt-labs +author_email: noreply@getdbt.com +difficulty: medium +tags: +- semantic-layer +- metricflow +- free-text +- acme-insurance +- lqls +test_setup: dbt run --select result +solution_seeds: +- table_name: result +variants: +- db_type: duckdb + db_name: acme_insurance + project_type: dbt + project_name: acme_insurance From c0e1482daf23a01dd559d979a3c9d29a2328a71f Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 11 Feb 2026 15:36:49 +1300 Subject: [PATCH 2/6] Change to sources --- .../dbt/acme_insurance/dbt_project.yml | 8 - .../models/omg_models/agreement.sql | 2 +- .../omg_models/agreement_assessment.sql | 2 +- .../omg_models/agreement_party_role.sql | 2 +- .../omg_models/assesment_party_role.sql | 2 +- .../models/omg_models/assessment.sql | 2 +- .../models/omg_models/assessment_result.sql | 2 +- .../models/omg_models/catastrophe.sql | 2 +- .../models/omg_models/claim.sql | 2 +- .../models/omg_models/claim_amount.sql | 2 +- .../models/omg_models/claim_coverage.sql | 2 +- .../models/omg_models/expense_payment.sql | 2 +- .../models/omg_models/expense_reserve.sql | 2 +- .../models/omg_models/fire_claim.sql | 2 +- .../models/omg_models/geographic_location.sql | 2 +- .../models/omg_models/insurable_object.sql | 2 +- .../models/omg_models/location_address.sql | 2 +- .../models/omg_models/loss_payment.sql | 2 +- .../models/omg_models/loss_reserve.sql | 2 +- .../models/omg_models/occurrences.sql | 2 +- .../models/omg_models/organizations.sql | 2 +- .../models/omg_models/party.sql | 2 +- .../models/omg_models/party_role.sql | 2 +- .../models/omg_models/person.sql | 2 +- .../models/omg_models/policy.sql | 2 +- .../models/omg_models/policy_amount.sql | 2 +- .../omg_models/policy_coverage_detail.sql | 2 +- .../models/omg_models/premium.sql | 2 +- .../models/omg_models/pysical_location.sql | 2 +- .../omg_models/underwriting_assessment.sql | 2 +- .../dbt/acme_insurance/models/sources.yml | 35 + .../dbt/acme_insurance/seeds/Agreement.csv | 3 - .../seeds/Agreement_Assessment.csv | 3 - .../seeds/Agreement_Party_Role.csv | 5 - .../seeds/Assesment_Party_Role.csv | 3 - .../dbt/acme_insurance/seeds/Assessment.csv | 3 - .../seeds/Assessment_Result.csv | 3 - .../dbt/acme_insurance/seeds/Catastrophe.csv | 5 - .../dbt/acme_insurance/seeds/Claim.csv | 3 - .../dbt/acme_insurance/seeds/Claim_Amount.csv | 9 - .../acme_insurance/seeds/Claim_Coverage.csv | 3 - .../acme_insurance/seeds/Expense_Payment.csv | 3 - .../acme_insurance/seeds/Expense_Reserve.csv | 3 - .../dbt/acme_insurance/seeds/FireClaim.csv | 821 ------------------ .../seeds/Geographic_Location.csv | 9 - .../acme_insurance/seeds/Insurable_Object.csv | 3 - .../acme_insurance/seeds/Location_Address.csv | 9 - .../dbt/acme_insurance/seeds/Loss_Payment.csv | 3 - .../dbt/acme_insurance/seeds/Loss_Reserve.csv | 3 - .../dbt/acme_insurance/seeds/Occurrence.csv | 3 - .../dbt/acme_insurance/seeds/Organization.csv | 2 - .../dbt/acme_insurance/seeds/Party.csv | 31 - .../dbt/acme_insurance/seeds/Party_Role.csv | 4 - .../dbt/acme_insurance/seeds/Person.csv | 30 - .../seeds/Physical_Location.csv | 9 - .../dbt/acme_insurance/seeds/Policy.csv | 3 - .../acme_insurance/seeds/Policy_Amount.csv | 13 - .../seeds/Policy_Coverage_Detail.csv | 7 - .../dbt/acme_insurance/seeds/Premium.csv | 7 - .../seeds/Underwriting_Assessment.csv | 3 - tasks/free_text_acme_hqhs_001/setup.sh | 2 + tasks/free_text_acme_hqhs_002/setup.sh | 2 + tasks/free_text_acme_hqhs_003/setup.sh | 2 + tasks/free_text_acme_hqhs_004/setup.sh | 2 + tasks/free_text_acme_hqhs_005/setup.sh | 2 + tasks/free_text_acme_hqhs_006/setup.sh | 2 + tasks/free_text_acme_hqhs_007/setup.sh | 2 + tasks/free_text_acme_hqhs_008/setup.sh | 2 + tasks/free_text_acme_hqhs_009/setup.sh | 2 + tasks/free_text_acme_hqhs_010/setup.sh | 2 + tasks/free_text_acme_hqls_001/setup.sh | 2 + tasks/free_text_acme_hqls_002/setup.sh | 2 + tasks/free_text_acme_hqls_003/setup.sh | 2 + tasks/free_text_acme_hqls_004/setup.sh | 2 + tasks/free_text_acme_hqls_005/setup.sh | 2 + tasks/free_text_acme_hqls_006/setup.sh | 2 + tasks/free_text_acme_hqls_007/setup.sh | 2 + tasks/free_text_acme_hqls_008/setup.sh | 2 + tasks/free_text_acme_hqls_009/setup.sh | 2 + tasks/free_text_acme_hqls_010/setup.sh | 2 + tasks/free_text_acme_hqls_011/setup.sh | 2 + tasks/free_text_acme_lqhs_001/setup.sh | 2 + tasks/free_text_acme_lqhs_002/setup.sh | 2 + tasks/free_text_acme_lqhs_003/setup.sh | 2 + tasks/free_text_acme_lqhs_004/setup.sh | 2 + tasks/free_text_acme_lqhs_005/setup.sh | 2 + tasks/free_text_acme_lqhs_006/setup.sh | 2 + tasks/free_text_acme_lqhs_007/setup.sh | 2 + tasks/free_text_acme_lqhs_008/setup.sh | 2 + tasks/free_text_acme_lqhs_009/setup.sh | 2 + tasks/free_text_acme_lqhs_010/setup.sh | 2 + tasks/free_text_acme_lqhs_011/setup.sh | 2 + tasks/free_text_acme_lqls_001/setup.sh | 2 + tasks/free_text_acme_lqls_002/setup.sh | 2 + tasks/free_text_acme_lqls_003/setup.sh | 2 + tasks/free_text_acme_lqls_004/setup.sh | 2 + tasks/free_text_acme_lqls_005/setup.sh | 2 + tasks/free_text_acme_lqls_006/setup.sh | 2 + tasks/free_text_acme_lqls_007/setup.sh | 2 + tasks/free_text_acme_lqls_008/setup.sh | 2 + tasks/free_text_acme_lqls_009/setup.sh | 2 + tasks/free_text_acme_lqls_010/setup.sh | 2 + tasks/free_text_acme_lqls_011/setup.sh | 2 + tasks/free_text_acme_lqls_012/setup.sh | 2 + tasks/free_text_acme_lqls_013/setup.sh | 2 + 105 files changed, 154 insertions(+), 1043 deletions(-) create mode 100644 shared/projects/dbt/acme_insurance/models/sources.yml delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Assessment.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/FireClaim.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Location_Address.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Occurrence.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Organization.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Party.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Party_Role.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Person.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Premium.csv delete mode 100644 shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv create mode 100755 tasks/free_text_acme_hqhs_001/setup.sh create mode 100755 tasks/free_text_acme_hqhs_002/setup.sh create mode 100755 tasks/free_text_acme_hqhs_003/setup.sh create mode 100755 tasks/free_text_acme_hqhs_004/setup.sh create mode 100755 tasks/free_text_acme_hqhs_005/setup.sh create mode 100755 tasks/free_text_acme_hqhs_006/setup.sh create mode 100755 tasks/free_text_acme_hqhs_007/setup.sh create mode 100755 tasks/free_text_acme_hqhs_008/setup.sh create mode 100755 tasks/free_text_acme_hqhs_009/setup.sh create mode 100755 tasks/free_text_acme_hqhs_010/setup.sh create mode 100755 tasks/free_text_acme_hqls_001/setup.sh create mode 100755 tasks/free_text_acme_hqls_002/setup.sh create mode 100755 tasks/free_text_acme_hqls_003/setup.sh create mode 100755 tasks/free_text_acme_hqls_004/setup.sh create mode 100755 tasks/free_text_acme_hqls_005/setup.sh create mode 100755 tasks/free_text_acme_hqls_006/setup.sh create mode 100755 tasks/free_text_acme_hqls_007/setup.sh create mode 100755 tasks/free_text_acme_hqls_008/setup.sh create mode 100755 tasks/free_text_acme_hqls_009/setup.sh create mode 100755 tasks/free_text_acme_hqls_010/setup.sh create mode 100755 tasks/free_text_acme_hqls_011/setup.sh create mode 100755 tasks/free_text_acme_lqhs_001/setup.sh create mode 100755 tasks/free_text_acme_lqhs_002/setup.sh create mode 100755 tasks/free_text_acme_lqhs_003/setup.sh create mode 100755 tasks/free_text_acme_lqhs_004/setup.sh create mode 100755 tasks/free_text_acme_lqhs_005/setup.sh create mode 100755 tasks/free_text_acme_lqhs_006/setup.sh create mode 100755 tasks/free_text_acme_lqhs_007/setup.sh create mode 100755 tasks/free_text_acme_lqhs_008/setup.sh create mode 100755 tasks/free_text_acme_lqhs_009/setup.sh create mode 100755 tasks/free_text_acme_lqhs_010/setup.sh create mode 100755 tasks/free_text_acme_lqhs_011/setup.sh create mode 100755 tasks/free_text_acme_lqls_001/setup.sh create mode 100755 tasks/free_text_acme_lqls_002/setup.sh create mode 100755 tasks/free_text_acme_lqls_003/setup.sh create mode 100755 tasks/free_text_acme_lqls_004/setup.sh create mode 100755 tasks/free_text_acme_lqls_005/setup.sh create mode 100755 tasks/free_text_acme_lqls_006/setup.sh create mode 100755 tasks/free_text_acme_lqls_007/setup.sh create mode 100755 tasks/free_text_acme_lqls_008/setup.sh create mode 100755 tasks/free_text_acme_lqls_009/setup.sh create mode 100755 tasks/free_text_acme_lqls_010/setup.sh create mode 100755 tasks/free_text_acme_lqls_011/setup.sh create mode 100755 tasks/free_text_acme_lqls_012/setup.sh create mode 100755 tasks/free_text_acme_lqls_013/setup.sh diff --git a/shared/projects/dbt/acme_insurance/dbt_project.yml b/shared/projects/dbt/acme_insurance/dbt_project.yml index a9d540d3..16934dc7 100644 --- a/shared/projects/dbt/acme_insurance/dbt_project.yml +++ b/shared/projects/dbt/acme_insurance/dbt_project.yml @@ -6,7 +6,6 @@ profile: 'acme_insurance-duckdb' model-paths: ["models"] analysis-paths: ["analyses"] -seed-paths: ["seeds"] macro-paths: ["macros"] snapshot-paths: ["snapshots"] @@ -17,10 +16,3 @@ clean-targets: models: +materialized: table - -seeds: - +schema: main - acme_insurance: - Policy: - +column_types: - Policy_Number: "BIGINT" diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql index 8275f27a..33558a35 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement.sql @@ -4,4 +4,4 @@ select Agreement_Original_Inception_Date, Product_Identifier from - {{ ref('Agreement') }} + {{ source('acme_raw', 'Agreement') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql index 0a4134f6..f54c5399 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_assessment.sql @@ -1,4 +1,4 @@ select Agreement_Identifier, Assessment_Identifier -from {{ ref('Agreement_Assessment') }} \ No newline at end of file +from {{ source('acme_raw', 'Agreement_Assessment') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql index 63f381c9..0de26420 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/agreement_party_role.sql @@ -5,4 +5,4 @@ select Effective_Date, Expiration_Date from - {{ ref('Agreement_Party_Role') }} \ No newline at end of file + {{ source('acme_raw', 'Agreement_Party_Role') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql index e81b487f..bffc25a3 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assesment_party_role.sql @@ -4,4 +4,4 @@ select Party_Role_Code, Begin_Date, End_Date -from {{ ref('Assesment_Party_Role') }} +from {{ source('acme_raw', 'Assesment_Party_Role') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql index 872544f3..d9217bef 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assessment.sql @@ -4,4 +4,4 @@ select Assessment_Description, End_Date, Assessment_Reason_Description -from {{ ref('Assessment') }} \ No newline at end of file +from {{ source('acme_raw', 'Assessment') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql b/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql index b5449776..559eda62 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/assessment_result.sql @@ -3,4 +3,4 @@ select Assessment_Identifier, Assessment_Result_Type_Code from - {{ ref('Assessment_Result') }} \ No newline at end of file + {{ source('acme_raw', 'Assessment_Result') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql b/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql index 75f66a79..ef5724c6 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/catastrophe.sql @@ -4,4 +4,4 @@ select Catastrophe_Name, Industry_Catastrophe_Code, Company_Catastrophe_Code -from {{ ref('Catastrophe') }} \ No newline at end of file +from {{ source('acme_raw', 'Catastrophe') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql index 378bacea..42716bae 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim.sql @@ -14,4 +14,4 @@ select Claim_Status_Code, Claim_Reported_Date from - {{ ref('Claim') }} + {{ source('acme_raw', 'Claim') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql index 9253a04a..3a9f4061 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim_amount.sql @@ -7,4 +7,4 @@ select Claim_Amount, Insurance_Type_Code from - {{ ref('Claim_Amount') }} \ No newline at end of file + {{ source('acme_raw', 'Claim_Amount') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql b/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql index 29846379..5bec3113 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/claim_coverage.sql @@ -2,4 +2,4 @@ select Claim_Identifier, Effective_Date, Policy_Coverage_Detail_Identifier -from {{ ref('Claim_Coverage') }} +from {{ source('acme_raw', 'Claim_Coverage') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql index 329c7e77..dd14020b 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/expense_payment.sql @@ -1,4 +1,4 @@ select Claim_Amount_Identifier from - {{ ref('Expense_Payment') }} + {{ source('acme_raw', 'Expense_Payment') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql b/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql index 4c25b5f1..c6668e9f 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/expense_reserve.sql @@ -1,3 +1,3 @@ select Claim_Amount_Identifier -from {{ ref('Expense_Reserve') }} \ No newline at end of file +from {{ source('acme_raw', 'Expense_Reserve') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql b/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql index 62f4c3e6..55ce0fe4 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/fire_claim.sql @@ -8,4 +8,4 @@ select Number_of_Firefighters, Fireplace, Year_Built -from {{ ref('FireClaim') }} \ No newline at end of file +from {{ source('acme_raw', 'FireClaim') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql b/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql index 1ef8e792..d45c61cd 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/geographic_location.sql @@ -8,4 +8,4 @@ select State_Code, Location_Address_Identifier, Physical_Location_Identifier -from {{ ref('Geographic_Location') }} \ No newline at end of file +from {{ source('acme_raw', 'Geographic_Location') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql b/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql index e8c2cf60..90a57c4b 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/insurable_object.sql @@ -2,4 +2,4 @@ select Insurable_Object_Identifier, Geographic_Location_Identifier, Insurable_Object_Type_Code -from {{ ref('Insurable_Object') }} +from {{ source('acme_raw', 'Insurable_Object') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql b/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql index 3c58d4da..df1ceb16 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/location_address.sql @@ -8,4 +8,4 @@ Country_Code, State_Code, Begin_Date, End_Date -from {{ ref('Location_Address') }} \ No newline at end of file +from {{ source('acme_raw', 'Location_Address') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql index 87b740b3..eab07a8f 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/loss_payment.sql @@ -1,3 +1,3 @@ select Claim_Amount_Identifier -from {{ ref('Loss_Payment') }} +from {{ source('acme_raw', 'Loss_Payment') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql b/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql index c944e3df..8b488da2 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/loss_reserve.sql @@ -1,3 +1,3 @@ select Claim_Amount_Identifier -from {{ ref('Loss_Reserve') }} \ No newline at end of file +from {{ source('acme_raw', 'Loss_Reserve') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql b/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql index a9b6782a..fa67fbfb 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/occurrences.sql @@ -7,4 +7,4 @@ select Occurrence_Begin_Time, Occurrence_End_Time, Occurrence_Name -from {{ ref('Occurrence') }} \ No newline at end of file +from {{ source('acme_raw', 'Occurrence') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql b/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql index 88399521..0744bb1a 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/organizations.sql @@ -8,4 +8,4 @@ select Organization_Description, Acronym_Name, Industry_Type_Code -from {{ ref('Organization') }} \ No newline at end of file +from {{ source('acme_raw', 'Organization') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/party.sql b/shared/projects/dbt/acme_insurance/models/omg_models/party.sql index a0eb3206..175209fc 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/party.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/party.sql @@ -4,4 +4,4 @@ select Begin_Date, End_Date, Party_Type_Code -from {{ ref('Party') }} \ No newline at end of file +from {{ source('acme_raw', 'Party') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql b/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql index e781247a..4ab903e0 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/party_role.sql @@ -2,4 +2,4 @@ select Party_Role_Code, Party_Role_Name, Party_Role_Description -from {{ ref('Party_Role') }} \ No newline at end of file +from {{ source('acme_raw', 'Party_Role') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/person.sql b/shared/projects/dbt/acme_insurance/models/omg_models/person.sql index c36898de..5500dbd6 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/person.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/person.sql @@ -10,4 +10,4 @@ select Birth_Place_Name, Gender_Code, Prefix_Name -from {{ ref('Person') }} \ No newline at end of file +from {{ source('acme_raw', 'Person') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql index f72d7ab0..a5ecdeb4 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy.sql @@ -5,4 +5,4 @@ select Policy_Number, Status_Code, Geographic_Location_Identifier -from {{ ref('Policy') }} \ No newline at end of file +from {{ source('acme_raw', 'Policy') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql index 12248fbf..ff1e6625 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy_amount.sql @@ -10,4 +10,4 @@ select Policy_Amount, Insurable_Object_Identifier, Insurance_Type_Code -from {{ ref('Policy_Amount') }} \ No newline at end of file +from {{ source('acme_raw', 'Policy_Amount') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql b/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql index 9aa0c87a..aca79431 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/policy_coverage_detail.sql @@ -8,4 +8,4 @@ select Coverage_Description, Expiration_Date, Coverage_Inclusion_Exclusion_Code -from {{ ref('Policy_Coverage_Detail') }} +from {{ source('acme_raw', 'Policy_Coverage_Detail') }} diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql b/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql index 3c4ae05e..5a40fcc2 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/premium.sql @@ -1,3 +1,3 @@ select Policy_Amount_Identifier -from {{ ref('Premium') }} \ No newline at end of file +from {{ source('acme_raw', 'Premium') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql b/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql index 801d889a..8c385439 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/pysical_location.sql @@ -9,4 +9,4 @@ select Vertical_Accuracy_Value, Travel_Direction_Description, Location_Address_Identifier -from {{ ref('Physical_Location') }} \ No newline at end of file +from {{ source('acme_raw', 'Physical_Location') }} \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql b/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql index c48f0a13..5953df7d 100644 --- a/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql +++ b/shared/projects/dbt/acme_insurance/models/omg_models/underwriting_assessment.sql @@ -1,3 +1,3 @@ select Assessment_Result_Identifier -from {{ ref('Underwriting_Assessment') }} +from {{ source('acme_raw', 'Underwriting_Assessment') }} diff --git a/shared/projects/dbt/acme_insurance/models/sources.yml b/shared/projects/dbt/acme_insurance/models/sources.yml new file mode 100644 index 00000000..ae7f44f9 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/sources.yml @@ -0,0 +1,35 @@ +version: 2 + +sources: + - name: acme_raw + schema: main + tables: + - name: Agreement + - name: Agreement_Assessment + - name: Agreement_Party_Role + - name: Assesment_Party_Role + - name: Assessment + - name: Assessment_Result + - name: Catastrophe + - name: Claim + - name: Claim_Amount + - name: Claim_Coverage + - name: Expense_Payment + - name: Expense_Reserve + - name: FireClaim + - name: Geographic_Location + - name: Insurable_Object + - name: Location_Address + - name: Loss_Payment + - name: Loss_Reserve + - name: Occurrence + - name: Organization + - name: Party + - name: Party_Role + - name: Person + - name: Physical_Location + - name: Policy + - name: Policy_Amount + - name: Policy_Coverage_Detail + - name: Premium + - name: Underwriting_Assessment diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement.csv deleted file mode 100644 index 4eee80ac..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Agreement.csv +++ /dev/null @@ -1,3 +0,0 @@ -Agreement_Type_Code,Agreement_Name,Agreement_Original_Inception_Date,Product_Identifier,Agreement_Type_Code -1,Policy 31003000336,,, -2,Policy 31003000337,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv deleted file mode 100644 index 92e53a8b..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Agreement_Assessment.csv +++ /dev/null @@ -1,3 +0,0 @@ -Agreement_Identifier,Assessment_Identifier -1,1 -2,2 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv deleted file mode 100644 index fd5c4443..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Agreement_Party_Role.csv +++ /dev/null @@ -1,5 +0,0 @@ -Agreement_Identifier,Party_Identifier,Party_Role_Code,Effective_Date,Expiration_Date -1,1,PH,, -1,2,AG,, -2,1,PH,, -2,2,AG,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv deleted file mode 100644 index be07ed8e..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Assesment_Party_Role.csv +++ /dev/null @@ -1,3 +0,0 @@ -Party_Identifier,Assessment_Identifier,Party_Role_Code,Begin_Date,End_Date -3,1,UW,, -3,2,UW,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Assessment.csv deleted file mode 100644 index 8b6a6a6c..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Assessment.csv +++ /dev/null @@ -1,3 +0,0 @@ -Assessment_Identifier,Begin_Date,Assessment_Description,End_Date,Assessment_Reason_Description -1,2014-11-01,,2014-12-15, -2,2019-05-01,,2019-05-27, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv b/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv deleted file mode 100644 index 805a04b2..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Assessment_Result.csv +++ /dev/null @@ -1,3 +0,0 @@ -Assessment_Result_Identifier,Assessment_Identifier,Assessment_Result_Type_Code -1,1,OK -2,2,OK \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv b/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv deleted file mode 100644 index e56e1844..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Catastrophe.csv +++ /dev/null @@ -1,5 +0,0 @@ -Catastrophe_Identifier,Catastrophe_Type_Code,Catastrophe_Name,Industry_Catastrophe_Code,Company_Catastrophe_Code -1,,Hurricane,, -2,,Tornado,, -3,,Flood,, -4,,Fire,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim.csv b/shared/projects/dbt/acme_insurance/seeds/Claim.csv deleted file mode 100644 index e33a1712..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Claim.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Identifier,Catastrophe_Identifier,Claim_Description,Claims_Made_Date,Company_Claim_Number,Company_Subclaim_Number,Insurable_Object_Identifier,Occurrence_Identifier,Entry_Into_Claims_Made_Program_Date,Claim_Open_Date,Claim_Close_Date,Claim_Reopen_Date,Claim_Status_Code,Claim_Reported_Date -1,4,,,12312701,,1,1,,2019-01-15,2019-01-31,,, -2,4,,,12312702,,2,2,,2019-06-02,2019-06-27,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv b/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv deleted file mode 100644 index 26b3ae1b..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Claim_Amount.csv +++ /dev/null @@ -1,9 +0,0 @@ -Claim_Amount_Identifier,Claim_Identifier,Claim_Offer_Identifier,Amount_Type_Code,Event_Date,Claim_Amount,Insurance_Type_Code -1,1,,,,1000, -2,1,,,,1100, -3,1,,,,1200, -4,1,,,,1300, -5,2,,,,2100, -6,2,,,,2200, -7,2,,,,2300, -8,2,,,,2400, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv b/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv deleted file mode 100644 index edca3022..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Claim_Coverage.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Identifier,Effective_Date,Policy_Coverage_Detail_Identifier -1,2019-01-01,5 -2,2019-01-01,5 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv b/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv deleted file mode 100644 index a93cea95..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Expense_Payment.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Amount_Identifier -4 -8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv b/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv deleted file mode 100644 index 280afba0..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Expense_Reserve.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Amount_Identifier -2 -6 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv b/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv deleted file mode 100644 index 473ca583..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/FireClaim.csv +++ /dev/null @@ -1,821 +0,0 @@ -PolicyNo,ClaimNumber,Premium,InsuredLocation,Loss_Ratio,Nearest_Firestation_miles,Number_of_Firefighters,Fireplace,Year_Built -,,,,0.8,14,9,no,1999 -,,,,1.1,6,9,no,1988 -,,,,0.6,8,9,yes,2000 -,,,,0.9,10,9,yes,1963 -,,,,1,7,5,no,1999 -,,,,0.7,6,5,no,1983 -,,,,1,13,5,yes,1996 -,,,,0.6,7,6,yes,1982 -,,,,0.4,3,8,no,2016 -,,,,0.5,2,8,no,1975 -,,,,0.4,1,8,yes,2016 -,,,,0.5,2,7,yes,1981 -,,,,0.3,1,6,no,2006 -,,,,0.1,3,4,no,1961 -,,,,0.2,3,4,yes,2014 -,,,,0.4,3,6,yes,1971 -,,,,0.7,17,8,no,2015 -,,,,0.8,13,9,no,1989 -,,,,0.8,8,9,yes,2002 -,,,,1.1,16,10,yes,1993 -,,,,1,15,6,no,2016 -,,,,0.6,11,5,no,1994 -,,,,1.1,9,6,yes,2010 -,,,,0.7,19,5,yes,1983 -,,,,0.5,1,9,no,2007 -,,,,0.1,1,8,no,1987 -,,,,0.5,1,8,yes,2004 -,,,,0.4,2,10,yes,1970 -,,,,0.1,3,6,no,2009 -,,,,0.3,1,6,no,1983 -,,,,0.2,1,6,yes,2015 -,,,,0.3,1,6,yes,1980 -,,,,0.8,18,10,no,2001 -,,,,1,20,7,no,1966 -,,,,1,12,7,yes,2007 -,,,,0.7,20,10,yes,1992 -,,,,0.6,12,6,no,2010 -,,,,0.9,17,5,no,1977 -,,,,0.8,9,5,yes,2007 -,,,,0.7,7,6,yes,1981 -,,,,0.3,1,9,no,2011 -,,,,0.1,1,7,no,1989 -,,,,0.3,3,10,yes,1997 -,,,,0.3,2,9,yes,1964 -,,,,0.4,4,5,no,2018 -,,,,0.1,4,5,no,1965 -,,,,0.3,3,4,yes,2016 -,,,,0.2,2,4,yes,1982 -,,,,1.1,8,8,no,2015 -,,,,0.8,20,7,no,1975 -,,,,1,14,7,yes,2000 -,,,,0.6,15,10,yes,1973 -,,,,0.6,18,5,no,2015 -,,,,0.8,8,4,no,1991 -,,,,0.6,9,4,yes,2002 -,,,,0.9,8,4,yes,1983 -,,,,0.4,3,9,no,2020 -,,,,0.5,4,8,no,1984 -,,,,0.1,2,7,yes,2018 -,,,,0.4,3,8,yes,1969 -,,,,0.2,3,4,no,2000 -,,,,0.3,4,4,no,1963 -,,,,0.2,2,6,yes,2007 -,,,,0.3,4,4,yes,1994 -,,,,0.8,16,7,no,2012 -,,,,0.7,6,9,no,1968 -,,,,0.7,7,9,yes,2002 -,,,,1.1,17,9,yes,1992 -,,,,0.6,9,6,no,2006 -,,,,0.9,12,6,no,1978 -,,,,1,18,5,yes,2002 -,,,,0.8,12,6,yes,1977 -,,,,0.4,4,7,no,1998 -,,,,0.2,2,9,no,1979 -,,,,0.3,4,10,yes,2003 -,,,,0.1,3,9,yes,1992 -,,,,0.4,1,4,no,2020 -,,,,0.1,1,5,no,1990 -,,,,0.2,1,4,yes,2007 -,,,,0.4,2,5,yes,1977 -,,,,0.7,12,8,no,2018 -,,,,0.6,17,9,no,1961 -,,,,1.1,19,8,yes,2014 -,,,,0.9,13,8,yes,1968 -,,,,0.6,6,4,no,2007 -,,,,0.8,6,5,no,1964 -,,,,1.1,17,5,yes,2004 -,,,,0.9,17,6,yes,1982 -,,,,0.1,1,7,no,2008 -,,,,0.5,2,8,no,1961 -,,,,0.2,4,7,yes,1996 -,,,,0.3,2,7,yes,1982 -,,,,0.2,3,4,no,2018 -,,,,0.4,3,6,no,1994 -,,,,0.5,4,4,yes,2004 -,,,,0.1,2,6,yes,1971 -,,,,0.6,17,7,no,2004 -,,,,1.1,9,9,no,1977 -,,,,0.6,15,10,yes,2003 -,,,,0.7,8,8,yes,1962 -,,,,0.6,11,6,no,1997 -,,,,0.6,17,6,no,1988 -,,,,0.7,13,6,yes,1997 -,,,,1.1,20,5,yes,1982 -,,,,0.4,1,9,no,1997 -,,,,0.1,1,7,no,1970 -,,,,0.2,2,10,yes,2018 -,,,,0.4,1,8,yes,1989 -,,,,0.2,3,5,no,2007 -,,,,0.1,3,5,no,1993 -,,,,0.4,1,6,yes,2015 -,,,,0.1,4,5,yes,1963 -,,,,0.9,10,9,no,2017 -,,,,0.6,17,9,no,1987 -,,,,0.9,20,10,yes,1995 -,,,,0.7,5,8,yes,1963 -,,,,0.6,14,5,no,2009 -,,,,1,18,6,no,1968 -,,,,0.7,14,5,yes,2014 -,,,,1.1,5,5,yes,1986 -,,,,0.4,1,8,no,2009 -,,,,0.3,1,9,no,1993 -,,,,0.3,2,10,yes,1995 -,,,,0.1,3,7,yes,1975 -,,,,0.5,2,5,no,2013 -,,,,0.4,1,4,no,1990 -,,,,0.5,2,6,yes,2013 -,,,,0.1,2,6,yes,1980 -,,,,0.7,18,10,no,2011 -,,,,0.9,11,9,no,1964 -,,,,1,9,7,yes,2010 -,,,,1,8,7,yes,1994 -,,,,0.9,19,6,no,2015 -,,,,1,9,6,no,1966 -,,,,1.1,10,6,yes,2011 -,,,,1,11,5,yes,1977 -,,,,0.5,3,8,no,2010 -,,,,0.5,3,7,no,1964 -,,,,0.1,3,10,yes,2020 -,,,,0.3,2,9,yes,1992 -,,,,0.5,1,6,no,2009 -,,,,0.2,4,5,no,1967 -,,,,0.2,4,5,yes,2010 -,,,,0.2,3,6,yes,1981 -,,,,1.1,15,7,no,2009 -,,,,0.6,15,8,no,1979 -,,,,1.1,7,9,yes,1996 -,,,,1,5,9,yes,1960 -,,,,0.8,7,5,no,2019 -,,,,1,10,4,no,1976 -,,,,0.9,14,6,yes,2001 -,,,,0.6,6,6,yes,1972 -,,,,0.3,2,8,no,2017 -,,,,0.4,2,8,no,1971 -,,,,0.1,4,8,yes,2003 -,,,,0.4,1,9,yes,1976 -,,,,0.3,1,6,no,2014 -,,,,0.1,4,6,no,1986 -,,,,0.1,2,6,yes,1998 -,,,,0.3,2,5,yes,1978 -,,,,0.8,19,7,no,2017 -,,,,0.7,16,10,no,1989 -,,,,1.1,17,7,yes,1995 -,,,,1.1,17,8,yes,1970 -,,,,0.8,14,6,no,2008 -,,,,0.6,12,4,no,1994 -,,,,0.8,9,5,yes,2012 -,,,,0.7,18,4,yes,1979 -,,,,0.5,1,7,no,1996 -,,,,0.2,4,7,no,1966 -,,,,0.5,1,7,yes,2004 -,,,,0.1,1,9,yes,1976 -,,,,0.4,1,4,no,2001 -,,,,0.5,4,6,no,1969 -,,,,0.3,4,5,yes,2020 -,,,,0.4,1,6,yes,1984 -,,,,1.1,16,10,no,2019 -,,,,0.8,5,10,no,1977 -,,,,1,17,9,yes,2000 -,,,,0.6,5,9,yes,1972 -,,,,0.8,16,5,no,2004 -,,,,0.7,18,5,no,1971 -,,,,1,13,6,yes,1996 -,,,,1,19,4,yes,1968 -,,,,0.2,4,9,no,2014 -,,,,0.5,4,8,no,1970 -,,,,0.4,1,9,yes,1996 -,,,,0.1,1,7,yes,1961 -,,,,0.4,1,4,no,1998 -,,,,0.3,3,5,no,1980 -,,,,0.4,1,5,yes,2003 -,,,,0.4,1,5,yes,1989 -,,,,1,19,9,no,1997 -,,,,0.8,16,10,no,1967 -,,,,0.6,16,7,yes,2012 -,,,,1.1,18,8,yes,1969 -,,,,0.6,15,4,no,2008 -,,,,1.1,14,5,no,1971 -,,,,0.8,10,4,yes,1996 -,,,,0.9,10,5,yes,1967 -,,,,0.5,2,9,no,2001 -,,,,0.1,3,7,no,1986 -,,,,0.2,3,8,yes,1996 -,,,,0.3,3,9,yes,1968 -,,,,0.2,1,6,no,1998 -,,,,0.4,2,4,no,1976 -,,,,0.1,2,6,yes,2003 -,,,,0.2,4,4,yes,1969 -,,,,0.6,18,7,no,2011 -,,,,0.7,12,10,no,1994 -,,,,1,16,7,yes,2020 -,,,,0.6,16,10,yes,1966 -,,,,1,8,4,no,2009 -,,,,1.1,16,4,no,1970 -,,,,0.8,15,6,yes,2009 -,,,,0.8,13,4,yes,1972 -,,,,0.4,1,8,no,1996 -,,,,0.2,3,10,no,1990 -,,,,0.1,3,10,yes,1999 -,,,,0.4,4,9,yes,1991 -,,,,0.3,2,4,no,2006 -,,,,0.5,4,5,no,1984 -,,,,0.2,3,5,yes,1999 -,,,,0.5,2,5,yes,1985 -,,,,0.9,10,10,no,1997 -,,,,0.6,12,8,no,1962 -,,,,0.9,11,7,yes,2014 -,,,,0.9,11,9,yes,1976 -,,,,0.7,14,6,no,1996 -,,,,0.9,18,4,no,1969 -,,,,1,16,5,yes,2000 -,,,,0.6,9,6,yes,1990 -,,,,0.3,2,10,no,2012 -,,,,0.5,1,9,no,1978 -,,,,0.2,1,8,yes,2013 -,,,,0.5,1,9,yes,1971 -,,,,0.1,4,5,no,2005 -,,,,0.5,1,6,no,1963 -,,,,0.5,4,6,yes,2001 -,,,,0.1,4,5,yes,1979 -,,,,0.7,12,10,no,2006 -,,,,1.1,7,10,no,1978 -,,,,0.6,12,10,yes,2010 -,,,,1,16,7,yes,1974 -,,,,0.6,13,5,no,2009 -,,,,0.6,5,6,no,1988 -,,,,1,18,4,yes,2003 -,,,,0.7,7,4,yes,1981 -,,,,0.5,4,10,no,2017 -,,,,0.4,1,10,no,1987 -,,,,0.4,1,10,yes,2005 -,,,,0.4,4,7,yes,1981 -,,,,0.1,2,4,no,2003 -,,,,0.4,1,5,no,1984 -,,,,0.3,2,4,yes,1995 -,,,,0.4,3,6,yes,1969 -,,,,1,15,10,yes,2013 -,,,,0.8,8,10,yes,1970 -,,,,1,13,10,yes,1971 -,,,,1,8,10,yes,1994 -,,,,0.7,13,7,yes,2004 -,,,,0.7,6,8,yes,1986 -,,,,0.7,19,10,yes,1983 -,,,,0.7,11,9,yes,1982 -,,,,0.7,8,10,yes,1998 -,,,,0.7,6,7,yes,1963 -,,,,0.6,15,8,yes,1970 -,,,,0.6,14,8,yes,1988 -,,,,1.1,20,7,yes,1998 -,,,,1.1,6,9,yes,1989 -,,,,1,11,10,yes,1981 -,,,,0.9,14,8,yes,1972 -,,,,0.9,9,10,yes,2005 -,,,,0.7,8,7,yes,1970 -,,,,0.6,20,8,yes,1966 -,,,,0.8,12,9,yes,1985 -,,,,0.9,8,8,yes,2001 -,,,,1,18,9,yes,1981 -,,,,0.9,16,9,yes,1973 -,,,,0.7,13,10,yes,1990 -,,,,0.8,7,10,yes,2016 -,,,,0.7,19,8,yes,1986 -,,,,0.9,10,8,yes,1988 -,,,,0.8,15,10,yes,1990 -,,,,0.6,11,10,yes,2003 -,,,,1.1,20,9,yes,1976 -,,,,0.9,16,8,yes,1974 -,,,,1,18,10,yes,1979 -,,,,0.9,7,8,yes,2004 -,,,,0.9,10,7,yes,1986 -,,,,0.7,20,9,yes,1987 -,,,,0.7,18,9,yes,1978 -,,,,1.1,16,10,yes,2013 -,,,,0.8,10,10,yes,1964 -,,,,1.1,9,7,yes,1961 -,,,,1.1,15,8,yes,1987 -,,,,1.1,15,10,yes,2008 -,,,,0.6,8,8,yes,1992 -,,,,0.7,18,8,yes,1970 -,,,,0.8,20,7,yes,1961 -,,,,0.8,17,8,yes,2013 -,,,,0.9,9,9,yes,1974 -,,,,0.6,6,8,yes,1976 -,,,,0.9,18,8,yes,1977 -,,,,1,15,8,yes,2013 -,,,,1.1,7,7,yes,1982 -,,,,1.1,7,9,yes,1969 -,,,,0.8,16,9,yes,1972 -,,,,0.8,14,7,yes,1998 -,,,,0.7,15,10,yes,1964 -,,,,0.7,12,8,yes,1984 -,,,,0.6,17,10,yes,1971 -,,,,0.9,6,9,yes,2012 -,,,,0.8,18,9,yes,1990 -,,,,1.1,16,7,yes,1974 -,,,,0.6,14,9,yes,1975 -,,,,0.7,5,9,yes,1998 -,,,,0.7,11,10,yes,1980 -,,,,0.6,6,7,yes,1983 -,,,,0.9,11,7,yes,1984 -,,,,0.8,19,7,yes,2016 -,,,,0.7,20,10,yes,1977 -,,,,1.1,18,10,yes,1962 -,,,,0.6,8,8,yes,1964 -,,,,0.7,6,10,yes,2017 -,,,,0.7,16,8,yes,1981 -,,,,0.8,11,10,yes,1964 -,,,,0.8,14,10,yes,1990 -,,,,1,9,7,yes,1995 -,,,,0.7,14,9,yes,1963 -,,,,1,11,7,yes,1994 -,,,,0.9,8,8,yes,1990 -,,,,0.7,8,10,yes,2009 -,,,,0.8,19,8,yes,1978 -,,,,0.9,12,7,yes,1986 -,,,,0.7,17,7,yes,1987 -,,,,0.8,9,8,yes,2006 -,,,,1,14,9,yes,1994 -,,,,1.1,18,9,yes,1966 -,,,,1.1,19,10,yes,1971 -,,,,0.9,20,8,yes,2008 -,,,,0.9,16,9,yes,1971 -,,,,1,11,8,yes,1994 -,,,,1,9,9,yes,1966 -,,,,0.9,13,7,yes,2018 -,,,,1,5,9,yes,1966 -,,,,1.1,12,10,yes,1961 -,,,,0.6,14,7,yes,1991 -,,,,0.6,9,7,yes,2014 -,,,,0.6,17,8,yes,1985 -,,,,0.9,8,10,yes,1966 -,,,,1.1,12,7,yes,1970 -,,,,0.9,8,8,yes,2000 -,,,,0.7,20,9,yes,1968 -,,,,1,13,9,yes,1985 -,,,,1,10,9,yes,1992 -,,,,0.7,11,9,yes,2017 -,,,,0.9,18,7,yes,1974 -,,,,0.6,11,9,yes,1969 -,,,,1.1,18,9,yes,1989 -,,,,0.8,14,7,yes,2006 -,,,,1.1,19,7,yes,1989 -,,,,0.9,8,8,yes,1990 -,,,,0.7,15,10,yes,1968 -,,,,0.7,6,10,yes,2001 -,,,,1,20,8,yes,1965 -,,,,0.6,15,9,yes,1990 -,,,,0.6,19,8,yes,1986 -,,,,0.7,8,9,yes,2019 -,,,,0.9,5,8,yes,1988 -,,,,0.9,6,7,yes,1963 -,,,,0.8,20,10,yes,1991 -,,,,1,12,10,yes,2011 -,,,,0.6,6,9,yes,1982 -,,,,0.7,7,9,yes,1982 -,,,,1.1,12,8,yes,1972 -,,,,0.9,7,7,yes,2012 -,,,,1.1,8,7,yes,1984 -,,,,0.7,12,10,yes,1982 -,,,,0.9,13,8,yes,1965 -,,,,1,6,7,yes,2002 -,,,,1.1,10,8,yes,1984 -,,,,1,6,8,yes,1982 -,,,,1,17,9,yes,1961 -,,,,1.1,8,5,yes,1971 -,,,,1.1,17,5,yes,1965 -,,,,0.8,14,5,yes,1978 -,,,,1.1,17,5,yes,1965 -,,,,0.8,9,6,yes,1989 -,,,,0.7,10,5,yes,1979 -,,,,0.7,16,5,yes,1961 -,,,,1.1,8,4,yes,1982 -,,,,0.8,14,5,yes,1981 -,,,,1.1,6,5,yes,1960 -,,,,0.7,7,5,yes,1983 -,,,,0.9,7,5,yes,1969 -,,,,0.8,17,6,yes,1983 -,,,,1.1,12,5,yes,1989 -,,,,0.6,14,4,yes,1982 -,,,,1,19,6,yes,1966 -,,,,1.1,5,4,yes,1985 -,,,,0.9,9,5,yes,1965 -,,,,0.9,19,6,yes,1960 -,,,,1,10,5,yes,1963 -,,,,1,16,6,yes,1971 -,,,,1,16,4,yes,1971 -,,,,0.8,20,4,yes,1965 -,,,,0.7,6,5,yes,1981 -,,,,0.6,9,6,yes,1963 -,,,,1.1,5,6,yes,1976 -,,,,1,20,6,yes,1980 -,,,,1.1,20,6,yes,1983 -,,,,0.9,13,4,yes,1986 -,,,,0.9,6,4,yes,1969 -,,,,0.6,10,5,yes,1979 -,,,,0.7,17,5,yes,1980 -,,,,0.7,12,6,yes,1962 -,,,,0.7,19,5,yes,1988 -,,,,0.6,7,6,yes,1960 -,,,,1,12,5,yes,1976 -,,,,0.8,19,5,yes,1973 -,,,,0.7,10,6,yes,1980 -,,,,1,20,4,yes,1965 -,,,,0.9,7,4,yes,1985 -,,,,1,19,5,yes,1978 -,,,,1,15,5,yes,1986 -,,,,1,20,6,yes,1963 -,,,,0.8,9,6,yes,1964 -,,,,0.9,17,5,yes,1976 -,,,,0.9,14,4,yes,1978 -,,,,1.1,7,4,yes,1979 -,,,,0.7,5,5,yes,1976 -,,,,0.8,6,6,yes,1990 -,,,,1.1,16,6,yes,1964 -,,,,0.6,6,4,yes,1965 -,,,,0.7,10,6,yes,1990 -,,,,0.9,20,6,yes,1991 -,,,,0.9,16,5,yes,1988 -,,,,1,5,5,yes,1974 -,,,,1.1,20,5,yes,1990 -,,,,0.8,11,6,yes,1983 -,,,,0.9,19,6,yes,1963 -,,,,1,7,6,yes,1973 -,,,,0.7,11,4,yes,1975 -,,,,1,12,6,yes,1968 -,,,,0.9,18,4,yes,1984 -,,,,0.9,9,5,yes,1967 -,,,,0.8,10,5,yes,1988 -,,,,0.9,6,5,yes,1975 -,,,,0.6,13,5,yes,1970 -,,,,0.6,5,4,yes,1985 -,,,,0.7,11,5,yes,1979 -,,,,0.7,11,4,yes,1984 -,,,,1.1,13,5,yes,1989 -,,,,1.1,6,5,yes,1976 -,,,,1,16,4,yes,1964 -,,,,0.9,10,4,yes,1965 -,,,,0.7,5,4,yes,1985 -,,,,1.1,16,6,yes,1974 -,,,,0.7,12,5,yes,1976 -,,,,0.9,20,5,yes,1994 -,,,,1,5,5,yes,1973 -,,,,1.1,16,4,yes,1966 -,,,,1,19,4,yes,1976 -,,,,0.7,12,6,yes,1967 -,,,,0.7,6,6,yes,1987 -,,,,1.1,11,5,yes,1979 -,,,,1.1,13,4,yes,1962 -,,,,1.1,13,5,yes,1961 -,,,,0.6,20,5,yes,1983 -,,,,0.9,15,4,yes,1983 -,,,,0.7,14,4,yes,1990 -,,,,0.8,8,6,yes,1961 -,,,,0.6,19,4,yes,1970 -,,,,1,6,4,yes,1981 -,,,,0.8,13,4,yes,1987 -,,,,0.8,16,4,yes,1967 -,,,,0.8,19,6,yes,1967 -,,,,0.6,17,6,yes,1984 -,,,,0.9,7,6,yes,1960 -,,,,0.8,11,4,yes,1970 -,,,,0.7,7,4,yes,1990 -,,,,0.8,7,5,yes,1968 -,,,,0.8,19,5,yes,1990 -,,,,0.9,8,4,yes,1978 -,,,,0.7,14,4,yes,1986 -,,,,0.9,17,5,yes,1978 -,,,,1,15,6,yes,1985 -,,,,0.9,12,6,yes,1960 -,,,,0.6,19,4,yes,1967 -,,,,1,12,5,yes,1987 -,,,,0.8,15,6,yes,1963 -,,,,0.7,16,4,yes,1961 -,,,,0.8,13,4,yes,1961 -,,,,0.7,18,6,yes,1991 -,,,,0.8,8,6,yes,1976 -,,,,0.7,18,6,yes,1960 -,,,,0.7,12,4,yes,1966 -,,,,0.6,5,4,yes,1993 -,,,,0.8,13,4,yes,1994 -,,,,1,6,5,yes,1968 -,,,,1.1,8,5,yes,1973 -,,,,0.9,19,4,yes,1975 -,,,,0.7,20,4,yes,1991 -,,,,1,19,5,yes,1991 -,,,,0.8,11,5,yes,1989 -,,,,1.1,6,4,yes,1962 -,,,,0.8,16,5,yes,1983 -,,,,1,14,6,yes,1967 -,,,,1,14,4,yes,1985 -,,,,0.9,17,4,yes,1964 -,,,,0.7,8,5,yes,1988 -,,,,0.8,19,4,yes,1988 -,,,,0.6,15,6,yes,1979 -,,,,0.9,20,6,yes,1985 -,,,,1,20,6,yes,1983 -,,,,0.9,6,6,yes,1994 -,,,,1.1,10,6,yes,1977 -,,,,0.8,7,4,yes,1964 -,,,,1,12,6,yes,1977 -,,,,0.8,7,4,yes,1979 -,,,,1.1,14,4,yes,1987 -,,,,0.8,18,5,yes,1967 -,,,,0.6,12,6,yes,1990 -,,,,0.9,12,4,yes,1969 -,,,,1,13,5,yes,1964 -,,,,0.9,9,5,yes,1987 -,,,,1,20,5,yes,1979 -,,,,0.7,13,4,yes,1960 -,,,,0.8,10,6,yes,1988 -,,,,0.6,19,4,yes,1992 -,,,,1.1,6,6,yes,1994 -,,,,0.7,20,6,yes,1968 -,,,,0.7,16,5,yes,1987 -,,,,1.1,8,4,yes,1985 -,,,,0.7,6,4,yes,1993 -,,,,0.6,16,4,yes,1967 -,,,,0.7,5,4,yes,1988 -,,,,0.7,5,4,yes,1965 -,,,,0.8,8,5,yes,1968 -,,,,1.1,13,6,yes,1981 -,,,,0.7,19,6,yes,1964 -,,,,1.1,19,4,yes,1972 -,,,,0.8,14,6,yes,1989 -,,,,0.7,13,5,yes,1994 -,,,,0.7,19,4,yes,1964 -,,,,0.8,20,5,yes,1982 -,,,,0.9,5,4,yes,1975 -,,,,1.1,12,6,yes,1987 -,,,,0.8,16,6,yes,1992 -,,,,0.6,18,5,yes,1967 -,,,,1.1,8,5,yes,1977 -,,,,0.7,10,6,yes,1965 -,,,,0.9,17,6,yes,1961 -,,,,0.6,9,6,yes,1977 -,,,,0.6,19,4,yes,1982 -,,,,0.6,13,5,yes,1983 -,,,,0.6,13,4,yes,1987 -,,,,1,7,5,yes,1992 -,,,,0.9,16,5,yes,1992 -,,,,0.9,5,5,yes,1972 -,,,,0.7,6,6,yes,1963 -,,,,1.1,8,4,yes,1963 -,,,,0.7,13,5,yes,1976 -,,,,0.9,18,5,yes,1961 -,,,,0.7,20,6,yes,1976 -,,,,0.6,17,4,yes,1984 -,,,,0.8,16,4,yes,1960 -,,,,0.6,13,4,yes,1987 -,,,,0.6,18,5,yes,1988 -,,,,0.7,5,6,yes,1980 -,,,,0.9,16,5,yes,1977 -,,,,0.6,15,5,yes,1992 -,,,,1.1,9,4,yes,1974 -,,,,1.1,8,4,yes,1986 -,,,,0.7,10,5,yes,1992 -,,,,0.8,14,5,yes,1971 -,,,,0.6,5,5,yes,1974 -,,,,0.8,9,4,yes,1987 -,,,,0.9,14,5,yes,1968 -,,,,1,10,6,yes,1980 -,,,,0.6,15,5,yes,1980 -,,,,0.6,17,4,yes,1960 -,,,,0.8,9,4,yes,1981 -,,,,0.9,16,5,yes,1965 -,,,,0.8,5,5,yes,1981 -,,,,0.6,11,5,yes,1977 -,,,,0.8,5,4,yes,1986 -,,,,1,8,5,yes,1969 -,,,,0.7,19,5,yes,1986 -,,,,0.6,13,6,yes,1984 -,,,,0.6,9,5,yes,1993 -,,,,1.1,16,5,yes,1966 -,,,,1.1,18,5,yes,1971 -,,,,1.1,17,4,yes,1992 -,,,,1,16,6,yes,1994 -,,,,0.9,8,6,yes,1986 -,,,,1,7,5,yes,1979 -,,,,0.7,11,5,yes,1968 -,,,,0.8,9,6,yes,1983 -,,,,0.6,19,6,yes,1987 -,,,,0.8,7,5,yes,1989 -,,,,1,13,5,yes,1972 -,,,,0.8,6,4,yes,1971 -,,,,0.9,13,6,yes,1994 -,,,,0.8,9,6,yes,1970 -,,,,0.9,11,5,yes,1969 -,,,,0.9,14,4,yes,1981 -,,,,0.6,6,4,yes,1994 -,,,,1,9,4,yes,1982 -,,,,0.8,10,5,yes,1975 -,,,,0.8,15,4,yes,1985 -,,,,1.1,9,5,yes,1986 -,,,,0.7,10,5,yes,1966 -,,,,1,5,6,yes,1974 -,,,,1,8,5,yes,1987 -,,,,1.1,17,5,yes,1964 -,,,,1,13,5,yes,1978 -,,,,1,12,5,yes,1988 -,,,,1.1,15,6,yes,1982 -,,,,0.8,17,6,yes,1965 -,,,,0.9,18,6,yes,1976 -,,,,1.1,6,6,yes,1983 -,,,,0.8,12,5,yes,1992 -,,,,0.7,18,5,yes,1968 -,,,,0.8,7,6,yes,1983 -,,,,0.7,7,4,yes,1975 -,,,,0.8,13,4,yes,1985 -,,,,0.9,8,6,yes,1994 -,,,,0.7,5,6,yes,1986 -,,,,0.8,11,6,yes,1965 -,,,,1,20,5,yes,1992 -,,,,1,13,5,yes,1993 -,,,,0.8,19,6,yes,1962 -,,,,1.1,10,4,yes,1987 -,,,,0.7,18,4,yes,1983 -,,,,1,6,6,yes,1984 -,,,,0.9,19,4,yes,1962 -,,,,1.1,7,4,yes,1985 -,,,,1.1,13,5,yes,1980 -,,,,0.1,1,7,yes,2020 -,,,,0.1,2,10,yes,1972 -,,,,0.1,3,8,yes,2019 -,,,,0.4,1,9,yes,1962 -,,,,0.2,2,9,yes,2004 -,,,,0.4,3,7,yes,1966 -,,,,0.3,2,7,yes,2011 -,,,,0.3,2,9,yes,1981 -,,,,0.1,3,8,yes,2011 -,,,,0.2,3,10,yes,1984 -,,,,0.4,1,7,yes,2005 -,,,,0.4,4,9,yes,1984 -,,,,0.1,2,8,yes,2014 -,,,,0.2,4,8,yes,1981 -,,,,0.5,1,10,yes,2005 -,,,,0.3,2,7,yes,1977 -,,,,0.3,2,8,yes,2013 -,,,,0.3,2,9,yes,1982 -,,,,0.3,3,8,yes,2005 -,,,,0.4,2,10,yes,1964 -,,,,0.2,4,8,yes,2006 -,,,,0.2,1,8,yes,1978 -,,,,0.4,1,10,yes,2003 -,,,,0.3,2,9,yes,1971 -,,,,0.4,2,8,yes,2009 -,,,,0.1,4,10,yes,1962 -,,,,0.1,1,10,yes,1996 -,,,,0.2,4,10,yes,1963 -,,,,0.2,3,8,yes,2016 -,,,,0.3,1,8,yes,1984 -,,,,0.2,3,10,yes,2006 -,,,,0.1,3,7,yes,1988 -,,,,0.4,1,8,yes,2013 -,,,,0.1,1,8,yes,1964 -,,,,0.5,4,7,yes,2003 -,,,,0.4,4,9,yes,1968 -,,,,0.1,2,10,yes,2000 -,,,,0.2,3,7,yes,1985 -,,,,0.5,3,7,yes,1997 -,,,,0.3,1,7,yes,1991 -,,,,0.3,1,8,yes,2019 -,,,,0.2,3,7,yes,1982 -,,,,0.4,1,7,yes,2015 -,,,,0.4,1,8,yes,1973 -,,,,0.5,3,10,yes,2000 -,,,,0.3,2,9,yes,1983 -,,,,0.1,4,7,yes,2012 -,,,,0.5,4,8,yes,1966 -,,,,0.4,1,8,yes,2005 -,,,,0.4,1,10,yes,1980 -,,,,0.2,3,8,yes,2012 -,,,,0.1,4,8,yes,1992 -,,,,0.3,2,10,yes,2012 -,,,,0.5,3,8,yes,1983 -,,,,0.4,3,8,yes,2000 -,,,,0.2,2,10,yes,1966 -,,,,0.3,4,9,yes,1997 -,,,,0.4,1,8,yes,1964 -,,,,0.4,3,7,yes,2015 -,,,,0.1,4,8,yes,1977 -,,,,0.4,1,10,yes,1999 -,,,,0.3,1,9,yes,1994 -,,,,0.4,3,10,yes,1998 -,,,,0.3,3,10,yes,1978 -,,,,0.3,1,8,yes,2016 -,,,,0.1,1,9,yes,1961 -,,,,0.2,4,8,yes,2004 -,,,,0.1,4,7,yes,1982 -,,,,0.1,4,10,yes,2003 -,,,,0.1,2,7,yes,1983 -,,,,0.1,1,8,yes,2009 -,,,,0.3,4,9,yes,1984 -,,,,0.4,1,10,yes,1997 -,,,,0.3,2,7,yes,1982 -,,,,0.1,2,10,yes,2000 -,,,,0.3,3,10,yes,1976 -,,,,0.5,3,7,yes,2003 -,,,,0.4,4,8,yes,1994 -,,,,0.2,3,7,yes,1996 -,,,,0.2,3,7,yes,1960 -,,,,0.3,4,8,yes,2002 -,,,,0.2,3,8,yes,1981 -,,,,0.1,3,7,yes,2013 -,,,,0.5,2,9,yes,1965 -,,,,0.2,2,7,yes,1999 -,,,,0.2,3,10,yes,1961 -,,,,0.4,3,9,yes,2013 -,,,,0.4,4,10,yes,1972 -,,,,0.3,3,9,yes,2016 -,,,,0.4,4,7,yes,1961 -,,,,0.4,1,8,yes,1996 -,,,,0.2,4,10,yes,1962 -,,,,0.1,2,10,yes,2019 -,,,,0.5,4,10,yes,1971 -,,,,0.4,1,7,yes,2015 -,,,,0.4,3,10,yes,1981 -,,,,0.5,2,7,yes,1998 -,,,,0.2,2,7,yes,1993 -,,,,0.2,1,8,yes,2015 -,,,,0.2,3,10,yes,1993 -,,,,0.5,3,7,yes,2014 -,,,,0.1,4,10,yes,1963 -,,,,0.1,2,7,yes,2006 -,,,,0.4,1,9,yes,1977 -,,,,0.1,1,10,yes,2004 -,,,,0.2,2,9,yes,1993 -,,,,0.4,4,7,yes,2004 -,,,,0.3,2,9,yes,1991 -,,,,0.3,2,8,yes,2004 -,,,,0.3,1,8,yes,1991 -,,,,0.5,4,10,yes,2004 -,,,,0.1,2,10,yes,1985 -,,,,0.5,4,10,yes,2016 -,,,,0.4,3,10,yes,1980 -,,,,0.2,3,8,yes,2011 -,,,,0.4,4,7,yes,1986 -,,,,0.1,1,10,yes,2012 -,,,,0.4,3,9,yes,1978 -,,,,0.5,4,8,yes,1995 -,,,,0.1,3,9,yes,1989 -,,,,0.2,2,9,yes,2017 -,,,,0.3,1,7,yes,1993 -,,,,0.2,3,10,yes,2008 -,,,,0.5,1,7,yes,1981 -,,,,0.5,2,10,yes,2003 -,,,,0.5,2,10,yes,1973 -,,,,0.5,3,9,yes,1999 -,,,,0.4,2,8,yes,1974 -,,,,0.1,1,8,yes,2019 -,,,,0.2,2,7,yes,1975 -,,,,0.2,4,7,yes,2013 -,,,,0.2,2,10,yes,1993 -,,,,0.3,3,8,yes,2003 -,,,,0.2,4,8,yes,1989 -,,,,0.5,4,7,yes,2012 -,,,,0.4,3,8,yes,1983 -,,,,0.1,4,8,yes,2014 -,,,,0.2,3,9,yes,1973 -,,,,0.4,3,8,yes,2018 -,,,,0.4,2,10,yes,1976 -,,,,0.4,4,8,yes,2006 -,,,,0.2,4,8,yes,1967 -,,,,0.2,2,9,yes,2018 -,,,,0.5,3,8,yes,1990 -,,,,0.4,3,7,yes,2002 -,,,,0.3,4,9,yes,1981 -,,,,0.2,2,9,yes,1996 -,,,,0.3,1,7,yes,1963 -,,,,0.5,1,9,yes,2014 -,,,,0.1,4,10,yes,1973 -,,,,0.3,1,7,yes,1997 -,,,,0.4,4,9,yes,1962 -,,,,0.2,2,8,yes,2003 -,,,,0.5,4,7,yes,1977 -,,,,0.4,1,8,yes,2012 -,,,,0.5,2,10,yes,1992 -,,,,0.3,3,9,yes,2006 -,,,,0.3,4,8,yes,1968 -,,,,0.3,2,10,yes,2001 -,,,,0.5,3,10,yes,1973 -,,,,0.4,4,9,yes,2010 -,,,,0.1,3,7,yes,1977 -,,,,0.1,2,9,yes,2008 -,,,,0.5,3,8,yes,1964 -,,,,0.5,3,10,yes,2020 -,,,,0.4,2,7,yes,1974 -,,,,0.5,4,9,yes,2001 -,,,,0.5,1,9,yes,1968 -,,,,0.3,3,10,yes,2016 -,,,,0.1,3,8,yes,1962 -,,,,0.4,1,8,yes,2014 -,,,,0.5,4,7,yes,1992 -,,,,0.5,2,7,yes,2018 -,,,,0.4,4,9,yes,1989 -,,,,0.5,1,7,yes,2006 -,,,,0.3,4,7,yes,1976 -,,,,0.2,2,7,yes,2010 -,,,,0.4,3,10,yes,1979 -,,,,0.4,4,10,yes,2014 -,,,,0.4,3,7,yes,1960 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv b/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv deleted file mode 100644 index a5363021..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Geographic_Location.csv +++ /dev/null @@ -1,9 +0,0 @@ -Geographic_Location_Identifier,Parent_Geographic_Location_Identifier,Geographic_Location_Type_Code,Location_Code,Location_Name,Location_Number,State_Code,Location_Address_Identifier,Physical_Location_Identifier -1,,,,,,TX,1,1 -2,,,,,,TX,2,2 -3,,,,,,TX,3,3 -4,,,,,,TX,4,4 -5,,,,,,TX,5,5 -6,,,,,,TX,6,6 -7,,,,,,TX,7,7 -8,,,,,,TX,8,8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv b/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv deleted file mode 100644 index 4f788d05..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Insurable_Object.csv +++ /dev/null @@ -1,3 +0,0 @@ -Insurable_Object_Identifier,Geographic_Location_Identifier,Insurable_Object_Type_Code -1,1, -2,2, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv b/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv deleted file mode 100644 index 74d52396..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Location_Address.csv +++ /dev/null @@ -1,9 +0,0 @@ -Location_Address_Identifier,Line_1_Address,Municipality_Name,Line_2_Address,Postal_Code,Country_Code,State_Code,Begin_Date,End_Date -1,5315 Martin Ave,Austin,,78751,USA,TX,, -2,13017 Zen Gardens Way,Austin,,78732,USA,TX,, -3,6303 Indian Canyon Drive,Austin,,78756,USA,TX,, -4,1603 East 14th Street,Austin,,78702,USA,TX,, -5,309 East 11th Street,Austin,,78701,USA,TX,, -6,801 Post Oak Drive,Austin,,78704,USA,TX,, -7,721 Barton Springs Road,Austin,,78704,USA,TX,, -8,3801 Peak Lookout Drive,Austin,,78738,USA,TX,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv b/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv deleted file mode 100644 index 23fe6f4b..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Loss_Payment.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Amount_Identifier -3 -7 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv b/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv deleted file mode 100644 index c80f64fe..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Loss_Reserve.csv +++ /dev/null @@ -1,3 +0,0 @@ -Claim_Amount_Identifier -1 -5 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv b/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv deleted file mode 100644 index 8f91cf33..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Occurrence.csv +++ /dev/null @@ -1,3 +0,0 @@ -Occurrence_Identifier,Catastrophic_Event_Indicator,Geographic_Location_Identifier,Occurrence_Begin_Date,Occurrence_End_Date,Occurrence_Begin_Time,Occurrence_End_Time,Occurrence_Name -1,,,2019-01-14,2019-01-14,,, -2,,,2019-06-01,2019-06-01,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Organization.csv b/shared/projects/dbt/acme_insurance/seeds/Organization.csv deleted file mode 100644 index 5edab73d..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Organization.csv +++ /dev/null @@ -1,2 +0,0 @@ -Organization_Identifier,Industry_Code,Organization_Name,Dun_And_Bradstreet_Identifier,Organization_Type_Code,Alternate_Name,Organization_Description,Acronym_Name,Industry_Type_Code -100,,Mesa Underwriters Specialty Insurance Company,,,MUSIC,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Party.csv b/shared/projects/dbt/acme_insurance/seeds/Party.csv deleted file mode 100644 index 054aa6d7..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Party.csv +++ /dev/null @@ -1,31 +0,0 @@ -Party_Identifier,Party_Name,Begin_Date,End_Date,Party_Type_Code -1,,,, -2,,,, -3,,,, -100,,,, -4,,,, -5,,,, -6,,,, -7,,,, -8,,,, -9,,,, -10,,,, -11,,,, -12,,,, -13,,,, -14,,,, -15,,,, -16,,,, -17,,,, -18,,,, -19,,,, -20,,,, -21,,,, -22,,,, -23,,,, -24,,,, -25,,,, -26,,,, -27,,,, -28,,,, -29,,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv b/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv deleted file mode 100644 index 32169602..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Party_Role.csv +++ /dev/null @@ -1,4 +0,0 @@ -Party_Role_Code,Party_Role_Name,Party_Role_Description -AG,Agent, -UW,Underwriter, -PH,PolicyHolder, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Person.csv b/shared/projects/dbt/acme_insurance/seeds/Person.csv deleted file mode 100644 index 672b9e45..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Person.csv +++ /dev/null @@ -1,30 +0,0 @@ -Person_Identifier,First_Name,Middle_Name,Last_Name,Full_Legal_Name,Nickname,Suffix_Name,Birth_Date,Birth_Place_Name,Gender_Code,Prefix_Name -1,Mary,Policy,Holder,,,,,,, -2,Bob,Insurance,Agent,,,,,,, -3,Alice,Under,Writer,,,,,,, -4,,,,,,,,,, -5,,,,,,,,,, -6,,,,,,,,,, -7,,,,,,,,,, -8,,,,,,,,,, -9,,,,,,,,,, -10,,,,,,,,,, -11,,,,,,,,,, -12,,,,,,,,,, -13,,,,,,,,,, -14,,,,,,,,,, -15,,,,,,,,,, -16,,,,,,,,,, -17,,,,,,,,,, -18,,,,,,,,,, -19,,,,,,,,,, -20,,,,,,,,,, -21,,,,,,,,,, -22,,,,,,,,,, -23,,,,,,,,,, -24,,,,,,,,,, -25,,,,,,,,,, -26,,,,,,,,,, -27,,,,,,,,,, -28,,,,,,,,,, -29,,,,,,,,,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv b/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv deleted file mode 100644 index 3e978250..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Physical_Location.csv +++ /dev/null @@ -1,9 +0,0 @@ -Physical_Location_Identifier,Physical_Location_Name,Latitude_Value,Longitude_Value,Altitude_Value,Altitude_Mean_Sea_Level_Value,Horizontal_Accuracy_Value,Vertical_Accuracy_Value,Travel_Direction_Description,Location_Address_Identifier -1,,30.31639,-97.71592,,,,,,1 -2,,30.34149,-97.92346,,,,,,2 -3,,30.28677,-97.8371,,,,,,3 -4,,30.27515,-97.72294,,,,,,4 -5,,30.27161,-97.73814,,,,,,5 -6,,30.25798,-97.75495,,,,,,6 -7,,30.258621,-97.751981,,,,,,7 -8,,30.327888,-97.973917,,,,,,8 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy.csv b/shared/projects/dbt/acme_insurance/seeds/Policy.csv deleted file mode 100644 index 7b4c7b7e..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Policy.csv +++ /dev/null @@ -1,3 +0,0 @@ -Policy_Identifier,Effective_Date,Expiration_Date,Policy_Number,Status_Code,Geographic_Location_Identifier -1,2015-01-01,2019-12-31,31003000336,, -2,2019-06-01,2020-05-31,31003000337,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv b/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv deleted file mode 100644 index 976b30e1..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Policy_Amount.csv +++ /dev/null @@ -1,13 +0,0 @@ -Policy_Amount_Identifier,Geographic_Location_Identifier,Policy_Identifier,Effective_Date,Amount_Type_Code,Earning_Begin_Date,Earning_End_Date,Policy_Coverage_Detail_Identifier,Policy_Amount,Insurable_Object_Identifier,Insurance_Type_Code -1,,1,2015-01-01,,,,1,1000000,, -2,,1,2015-01-01,Year,,,1,15000,, -3,,1,2016-01-01,,,,2,1000000,, -4,,1,2016-01-01,Year,,,2,16000,, -5,,1,2017-01-01,,,,3,1000000,, -6,,1,2017-01-01,Year,,,3,17000,, -7,,1,2018-01-01,,,,4,1000000,, -8,,1,2018-01-01,Year,,,4,18000,, -9,,1,2019-01-01,,,,5,1000000,, -10,,1,2019-01-01,Year,,,5,20000,, -11,,2,2019-06-01,,,,6,600000,, -12,,2,2019-06-01,Year,,,6,12000,, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv b/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv deleted file mode 100644 index 1bb57384..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Policy_Coverage_Detail.csv +++ /dev/null @@ -1,7 +0,0 @@ -Effective_Date,Policy_Coverage_Detail_Identifier,Coverage_Identifier,Insurable_Object_Identifier,Policy_Identifier,Coverage_Part_Code,Coverage_Description,Expiration_Date,Coverage_Inclusion_Exclusion_Code -2015-01-01,1,,1,1,,,2015-12-31, -2016-01-01,2,,1,1,,,2016-12-31, -2017-01-01,3,,1,1,,,2017-12-31, -2018-01-01,4,,1,1,,,2018-12-31, -2019-01-01,5,,1,1,,,2019-12-31, -2019-06-01,6,,2,2,,,2020-05-31, \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Premium.csv b/shared/projects/dbt/acme_insurance/seeds/Premium.csv deleted file mode 100644 index 7e40581a..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Premium.csv +++ /dev/null @@ -1,7 +0,0 @@ -Policy_Amount_Identifier -2 -4 -6 -8 -10 -12 \ No newline at end of file diff --git a/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv b/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv deleted file mode 100644 index 9088c5d4..00000000 --- a/shared/projects/dbt/acme_insurance/seeds/Underwriting_Assessment.csv +++ /dev/null @@ -1,3 +0,0 @@ -Assessment_Result_Identifier -1 -2 \ No newline at end of file diff --git a/tasks/free_text_acme_hqhs_001/setup.sh b/tasks/free_text_acme_hqhs_001/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_002/setup.sh b/tasks/free_text_acme_hqhs_002/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_003/setup.sh b/tasks/free_text_acme_hqhs_003/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_004/setup.sh b/tasks/free_text_acme_hqhs_004/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_005/setup.sh b/tasks/free_text_acme_hqhs_005/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_006/setup.sh b/tasks/free_text_acme_hqhs_006/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_007/setup.sh b/tasks/free_text_acme_hqhs_007/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_008/setup.sh b/tasks/free_text_acme_hqhs_008/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_009/setup.sh b/tasks/free_text_acme_hqhs_009/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqhs_010/setup.sh b/tasks/free_text_acme_hqhs_010/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_001/setup.sh b/tasks/free_text_acme_hqls_001/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_002/setup.sh b/tasks/free_text_acme_hqls_002/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_003/setup.sh b/tasks/free_text_acme_hqls_003/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_003/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_004/setup.sh b/tasks/free_text_acme_hqls_004/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_004/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_005/setup.sh b/tasks/free_text_acme_hqls_005/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_006/setup.sh b/tasks/free_text_acme_hqls_006/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_006/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_007/setup.sh b/tasks/free_text_acme_hqls_007/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_008/setup.sh b/tasks/free_text_acme_hqls_008/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_009/setup.sh b/tasks/free_text_acme_hqls_009/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_010/setup.sh b/tasks/free_text_acme_hqls_010/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_hqls_011/setup.sh b/tasks/free_text_acme_hqls_011/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_001/setup.sh b/tasks/free_text_acme_lqhs_001/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_002/setup.sh b/tasks/free_text_acme_lqhs_002/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_003/setup.sh b/tasks/free_text_acme_lqhs_003/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_004/setup.sh b/tasks/free_text_acme_lqhs_004/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_005/setup.sh b/tasks/free_text_acme_lqhs_005/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_006/setup.sh b/tasks/free_text_acme_lqhs_006/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_007/setup.sh b/tasks/free_text_acme_lqhs_007/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_008/setup.sh b/tasks/free_text_acme_lqhs_008/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_009/setup.sh b/tasks/free_text_acme_lqhs_009/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_010/setup.sh b/tasks/free_text_acme_lqhs_010/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqhs_011/setup.sh b/tasks/free_text_acme_lqhs_011/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_001/setup.sh b/tasks/free_text_acme_lqls_001/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_002/setup.sh b/tasks/free_text_acme_lqls_002/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_002/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_003/setup.sh b/tasks/free_text_acme_lqls_003/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_003/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_004/setup.sh b/tasks/free_text_acme_lqls_004/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_005/setup.sh b/tasks/free_text_acme_lqls_005/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_005/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_006/setup.sh b/tasks/free_text_acme_lqls_006/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_007/setup.sh b/tasks/free_text_acme_lqls_007/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_008/setup.sh b/tasks/free_text_acme_lqls_008/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_009/setup.sh b/tasks/free_text_acme_lqls_009/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_010/setup.sh b/tasks/free_text_acme_lqls_010/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_010/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_011/setup.sh b/tasks/free_text_acme_lqls_011/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_011/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_012/setup.sh b/tasks/free_text_acme_lqls_012/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps diff --git a/tasks/free_text_acme_lqls_013/setup.sh b/tasks/free_text_acme_lqls_013/setup.sh new file mode 100755 index 00000000..f0052240 --- /dev/null +++ b/tasks/free_text_acme_lqls_013/setup.sh @@ -0,0 +1,2 @@ +#\!/bin/bash +dbt deps From cf14efd3915da64d763dd0c1c9a888ad4de30ee3 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 11 Feb 2026 16:47:25 +1300 Subject: [PATCH 3/6] WIP Generate seed datatypes --- .../free_text_acme_hqhs_001/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_002/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_003/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_004/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_005/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_006/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_007/seeds/_no-op.txt | 11 +++++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_008/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_009/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqhs_010/seeds/_no-op.txt | 11 +++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_001/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_002/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_003/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_004/seeds/_no-op.txt | 7 ++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_005/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_006/seeds/_no-op.txt | 7 ++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_007/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_008/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_009/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_010/seeds/_no-op.txt | 7 ++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_hqls_011/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 4 +-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_001/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_002/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_003/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_004/seeds/_no-op.txt | 16 +++++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_005/seeds/_no-op.txt | 14 ++++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_006/seeds/_no-op.txt | 11 +++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_007/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_008/seeds/_no-op.txt | 15 +++++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_009/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqhs_010/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ 132 files changed, 2086 insertions(+), 78 deletions(-) create mode 100644 tasks/free_text_acme_hqhs_001/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_002/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_003/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_004/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_005/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_006/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_007/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_008/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_009/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_010/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_001/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_002/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_003/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_004/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_005/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_006/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_007/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_008/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_009/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_010/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_011/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_001/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_002/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_003/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_004/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_005/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_006/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_007/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_008/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_009/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_010/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql diff --git a/tasks/free_text_acme_hqhs_001/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_001/seeds/_no-op.txt new file mode 100644 index 00000000..86471a9b --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + NoOfClaims: bigint + AvgLoss: double diff --git a/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv index 9e8c8a99..ee0ccbcb 100644 --- a/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_001/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,NoOfClaims,AvgLoss -31003000336,2,6800.0 +Policy_Number,NoOfClaims,AvgLoss +31003000336,2,6800.0 diff --git a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_002/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_002/seeds/_no-op.txt new file mode 100644 index 00000000..16e82d42 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Catastrophe_Name: varchar + TotalLoss: bigint diff --git a/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv index 23f1a463..2a2453de 100644 --- a/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_002/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,Catastrophe_Name,TotalLoss -31003000336,Fire,13600 +Policy_Number,Catastrophe_Name,TotalLoss +31003000336,Fire,13600 diff --git a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_003/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_003/seeds/_no-op.txt new file mode 100644 index 00000000..6ca03347 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Company_Claim_Number: integer + Catastrophe_Name: varchar + Loss: integer diff --git a/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv index 56c1614b..bef4471b 100644 --- a/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_003/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,Company_Claim_Number,Catastrophe_Name,Loss -31003000336,12312701,Fire,4600 -31003000336,12312702,Fire,9000 +Policy_Number,Company_Claim_Number,Catastrophe_Name,Loss +31003000336,12312701,Fire,4600 +31003000336,12312702,Fire,9000 diff --git a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_004/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_004/seeds/_no-op.txt new file mode 100644 index 00000000..a3b2dfb1 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Party_Identifier: integer + LossRatio: double diff --git a/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv index f7667081..6f155aeb 100644 --- a/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_004/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,Party_Identifier,LossRatio -31003000336,2,0.68 +Policy_Number,Party_Identifier,LossRatio +31003000336,2,0.68 diff --git a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_005/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_005/seeds/_no-op.txt new file mode 100644 index 00000000..0541bf6f --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Total_Loss: bigint diff --git a/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv index 761e527b..2aa60f82 100644 --- a/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_005/seeds/solution__result.csv @@ -1,2 +1,2 @@ -AgentID,Total_Loss -2,13600 +AgentID,Total_Loss +2,13600 diff --git a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_006/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_006/seeds/_no-op.txt new file mode 100644 index 00000000..1a0a9fa8 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + Total_Loss: integer diff --git a/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv index f2729331..4684a563 100644 --- a/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_006/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,Total_Loss -12312701,4600 -12312702,9000 +Company_Claim_Number,Total_Loss +12312701,4600 +12312702,9000 diff --git a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_007/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_007/seeds/_no-op.txt new file mode 100644 index 00000000..c2e9c391 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/seeds/_no-op.txt @@ -0,0 +1,11 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + premium: integer + NoOfClaims: bigint + TotalLoss: bigint + LossRatio: double diff --git a/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv index 553036f1..98648116 100644 --- a/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_007/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,premium,NoOfClaims,TotalLoss,LossRatio -31003000336,20000,2,13600,0.68 +Policy_Number,premium,NoOfClaims,TotalLoss,LossRatio +31003000336,20000,2,13600,0.68 diff --git a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_008/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_008/seeds/_no-op.txt new file mode 100644 index 00000000..d11e1646 --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + AvgLoss: double diff --git a/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv index 1f6bb516..5835c95b 100644 --- a/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_008/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,AvgLoss -31003000336,6800.0 +Policy_Number,AvgLoss +31003000336,6800.0 diff --git a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_009/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_009/seeds/_no-op.txt new file mode 100644 index 00000000..85153385 --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Total_Loss: bigint diff --git a/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv index 585c7b4c..0e1ddf19 100644 --- a/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_009/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,Total_Loss -31003000336,13600 +Policy_Number,Total_Loss +31003000336,13600 diff --git a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqhs_010/seeds/_no-op.txt b/tasks/free_text_acme_hqhs_010/seeds/_no-op.txt new file mode 100644 index 00000000..0576d38c --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/seeds/_no-op.txt @@ -0,0 +1,11 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Party_Identifier: integer + Policy_Number: bigint + premium: integer + Company_Claim_Number: integer + Loss: integer diff --git a/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv b/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv index 11277a4c..2cd91537 100644 --- a/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqhs_010/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Party_Identifier,Policy_Number,premium,Company_Claim_Number,Loss -1,31003000336,20000,12312701,4600 -1,31003000336,20000,12312702,9000 +Party_Identifier,Policy_Number,premium,Company_Claim_Number,Loss +1,31003000336,20000,12312701,4600 +1,31003000336,20000,12312702,9000 diff --git a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_001/seeds/_no-op.txt b/tasks/free_text_acme_hqls_001/seeds/_no-op.txt new file mode 100644 index 00000000..9df3bcc2 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + NoOfClaims: bigint diff --git a/tasks/free_text_acme_hqls_001/seeds/solution__result.csv b/tasks/free_text_acme_hqls_001/seeds/solution__result.csv index fca58e6e..d720b253 100644 --- a/tasks/free_text_acme_hqls_001/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_001/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,NoOfClaims -31003000336,2 +Policy_Number,NoOfClaims +31003000336,2 diff --git a/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_002/seeds/_no-op.txt b/tasks/free_text_acme_hqls_002/seeds/_no-op.txt new file mode 100644 index 00000000..2e077178 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + avg(datediff('day', claim_open_date, claim_close_date)): double diff --git a/tasks/free_text_acme_hqls_002/seeds/solution__result.csv b/tasks/free_text_acme_hqls_002/seeds/solution__result.csv index 147e4733..61dbc4b8 100644 --- a/tasks/free_text_acme_hqls_002/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_002/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Policy_Number,"avg(datediff('day', claim_open_date, claim_close_date))" -31003000336,20.5 +Policy_Number,"avg(datediff('day', claim_open_date, claim_close_date))" +31003000336,20.5 diff --git a/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_003/seeds/_no-op.txt b/tasks/free_text_acme_hqls_003/seeds/_no-op.txt new file mode 100644 index 00000000..d7bf102b --- /dev/null +++ b/tasks/free_text_acme_hqls_003/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + agentid: integer + NoOfPolicies: bigint diff --git a/tasks/free_text_acme_hqls_003/seeds/solution__result.csv b/tasks/free_text_acme_hqls_003/seeds/solution__result.csv index 258a6ffa..cdbf51b1 100644 --- a/tasks/free_text_acme_hqls_003/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_003/seeds/solution__result.csv @@ -1,2 +1,2 @@ -agentid,NoOfPolicies -2,2 +agentid,NoOfPolicies +2,2 diff --git a/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_004/seeds/_no-op.txt b/tasks/free_text_acme_hqls_004/seeds/_no-op.txt new file mode 100644 index 00000000..9d2f44d4 --- /dev/null +++ b/tasks/free_text_acme_hqls_004/seeds/_no-op.txt @@ -0,0 +1,7 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + avgPolicySize: double diff --git a/tasks/free_text_acme_hqls_004/seeds/solution__result.csv b/tasks/free_text_acme_hqls_004/seeds/solution__result.csv index 3427725a..8a44bcf2 100644 --- a/tasks/free_text_acme_hqls_004/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_004/seeds/solution__result.csv @@ -1,2 +1,2 @@ -avgPolicySize -49000.0 +avgPolicySize +49000.0 diff --git a/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_005/seeds/_no-op.txt b/tasks/free_text_acme_hqls_005/seeds/_no-op.txt new file mode 100644 index 00000000..9dbd3222 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + TotalPremiumAmount: bigint diff --git a/tasks/free_text_acme_hqls_005/seeds/solution__result.csv b/tasks/free_text_acme_hqls_005/seeds/solution__result.csv index 81a537fc..98e4ff8e 100644 --- a/tasks/free_text_acme_hqls_005/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_005/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,TotalPremiumAmount -31003000336,86000 -31003000337,12000 +Policy_Number,TotalPremiumAmount +31003000336,86000 +31003000337,12000 diff --git a/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_006/seeds/_no-op.txt b/tasks/free_text_acme_hqls_006/seeds/_no-op.txt new file mode 100644 index 00000000..02c2e2d0 --- /dev/null +++ b/tasks/free_text_acme_hqls_006/seeds/_no-op.txt @@ -0,0 +1,7 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + NoOfClaims: bigint diff --git a/tasks/free_text_acme_hqls_006/seeds/solution__result.csv b/tasks/free_text_acme_hqls_006/seeds/solution__result.csv index b17b096c..e2cf8080 100644 --- a/tasks/free_text_acme_hqls_006/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_006/seeds/solution__result.csv @@ -1,2 +1,2 @@ -NoOfClaims -2 +NoOfClaims +2 diff --git a/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_007/seeds/_no-op.txt b/tasks/free_text_acme_hqls_007/seeds/_no-op.txt new file mode 100644 index 00000000..a2b91e95 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Party_Identifier: integer + sum(policy_amount): bigint diff --git a/tasks/free_text_acme_hqls_007/seeds/solution__result.csv b/tasks/free_text_acme_hqls_007/seeds/solution__result.csv index 7599f2c3..babca848 100644 --- a/tasks/free_text_acme_hqls_007/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_007/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Party_Identifier,sum(policy_amount) -1,98000 +Party_Identifier,sum(policy_amount) +1,98000 diff --git a/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_008/seeds/_no-op.txt b/tasks/free_text_acme_hqls_008/seeds/_no-op.txt new file mode 100644 index 00000000..673d2a18 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + LossAmount: integer diff --git a/tasks/free_text_acme_hqls_008/seeds/solution__result.csv b/tasks/free_text_acme_hqls_008/seeds/solution__result.csv index e70289e7..3b34c0b0 100644 --- a/tasks/free_text_acme_hqls_008/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_008/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,LossAmount -12312701,2200 -12312702,4400 +Company_Claim_Number,LossAmount +12312701,2200 +12312702,4400 diff --git a/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_009/seeds/_no-op.txt b/tasks/free_text_acme_hqls_009/seeds/_no-op.txt new file mode 100644 index 00000000..2fda1339 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Party_Identifier: integer + Policy_Number: bigint + sum(policy_amount): bigint diff --git a/tasks/free_text_acme_hqls_009/seeds/solution__result.csv b/tasks/free_text_acme_hqls_009/seeds/solution__result.csv index aad4be04..e7da91ce 100644 --- a/tasks/free_text_acme_hqls_009/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_009/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Party_Identifier,Policy_Number,sum(policy_amount) -1,31003000336,86000 -1,31003000337,12000 +Party_Identifier,Policy_Number,sum(policy_amount) +1,31003000336,86000 +1,31003000337,12000 diff --git a/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_010/seeds/_no-op.txt b/tasks/free_text_acme_hqls_010/seeds/_no-op.txt new file mode 100644 index 00000000..27f36673 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/seeds/_no-op.txt @@ -0,0 +1,7 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + NoOfPolicy: bigint diff --git a/tasks/free_text_acme_hqls_010/seeds/solution__result.csv b/tasks/free_text_acme_hqls_010/seeds/solution__result.csv index c72744f2..d916f24e 100644 --- a/tasks/free_text_acme_hqls_010/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_010/seeds/solution__result.csv @@ -1,2 +1,2 @@ -NoOfPolicy -2 +NoOfPolicy +2 diff --git a/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_hqls_011/seeds/_no-op.txt b/tasks/free_text_acme_hqls_011/seeds/_no-op.txt new file mode 100644 index 00000000..708aeb52 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Party_Identifier: integer + NoOfPolicies: bigint diff --git a/tasks/free_text_acme_hqls_011/seeds/solution__result.csv b/tasks/free_text_acme_hqls_011/seeds/solution__result.csv index 7396b658..40945b58 100644 --- a/tasks/free_text_acme_hqls_011/seeds/solution__result.csv +++ b/tasks/free_text_acme_hqls_011/seeds/solution__result.csv @@ -1,2 +1,2 @@ -Party_Identifier,NoOfPolicies -1,2 +Party_Identifier,NoOfPolicies +1,2 diff --git a/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_001/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_001/seeds/_no-op.txt new file mode 100644 index 00000000..55a08ef8 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Catastrophe_Name: varchar diff --git a/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv index cdc49186..ff37319b 100644 --- a/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_001/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name -1,31003000336,12312702,Fire -1,31003000336,12312701,Fire +AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name +1,31003000336,12312702,Fire +1,31003000336,12312701,Fire diff --git a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_002/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_002/seeds/_no-op.txt new file mode 100644 index 00000000..134a9a4e --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Expense_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv index 4b4c9835..9e263431 100644 --- a/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_002/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Expense_Reserve_Amount -2,31003000336,12312702,2200 -2,31003000336,12312701,1100 +AgentID,Policy_Number,Company_Claim_Number,Expense_Reserve_Amount +2,31003000336,12312702,2200 +2,31003000336,12312701,1100 diff --git a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_003/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_003/seeds/_no-op.txt new file mode 100644 index 00000000..2fb580c3 --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Loss_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv index 4f3026cb..c71c5d63 100644 --- a/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_003/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Loss_Reserve_Amount -2,31003000336,12312702,2100 -2,31003000336,12312701,1000 +AgentID,Policy_Number,Company_Claim_Number,Loss_Reserve_Amount +2,31003000336,12312702,2100 +2,31003000336,12312701,1000 diff --git a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_004/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_004/seeds/_no-op.txt new file mode 100644 index 00000000..3a56f5d7 --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/seeds/_no-op.txt @@ -0,0 +1,16 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + PolicyHolderID: integer + Policy_Number: bigint + premium: integer + Catastrophe_Name: varchar + Company_Claim_Number: integer + Loss_Payment_Amount: integer + Loss_Reserve_Amount: integer + Expense_Payment_Amount: integer + Expense_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv index bc756a6a..c349ffa5 100644 --- a/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_004/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,PolicyHolderID,Policy_Number,premium,Catastrophe_Name,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount -2,1,31003000336,20000,Fire,12312701,1200,1000,1300,1100 -2,1,31003000336,20000,Fire,12312702,2300,2100,2400,2200 +AgentID,PolicyHolderID,Policy_Number,premium,Catastrophe_Name,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +2,1,31003000336,20000,Fire,12312701,1200,1000,1300,1100 +2,1,31003000336,20000,Fire,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_005/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_005/seeds/_no-op.txt new file mode 100644 index 00000000..98f364da --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/seeds/_no-op.txt @@ -0,0 +1,14 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + PolicyHolderID: integer + Policy_Number: bigint + premium: integer + Company_Claim_Number: integer + Loss_Payment_Amount: integer + Loss_Reserve_Amount: integer + Expense_Payment_Amount: integer + Expense_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv index db34cef2..c5082204 100644 --- a/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_005/seeds/solution__result.csv @@ -1,3 +1,3 @@ -PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount -1,31003000336,20000,12312701,1200,1000,1300,1100 -1,31003000336,20000,12312702,2300,2100,2400,2200 +PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +1,31003000336,20000,12312701,1200,1000,1300,1100 +1,31003000336,20000,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_006/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_006/seeds/_no-op.txt new file mode 100644 index 00000000..1974defb --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/seeds/_no-op.txt @@ -0,0 +1,11 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + Loss_Payment_Amount: integer + Loss_Reserve_Amount: integer + Expense_Payment_Amount: integer + Expense_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv index 2f756367..fef2c108 100644 --- a/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_006/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount -12312701,1200,1000,1300,1100 -12312702,2300,2100,2400,2200 +Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +12312701,1200,1000,1300,1100 +12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_007/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_007/seeds/_no-op.txt new file mode 100644 index 00000000..6741c641 --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Expense_Payment_Amount: integer diff --git a/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv index a73012e9..a43608ea 100644 --- a/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_007/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Expense_Payment_Amount -2,31003000336,12312702,2400 -2,31003000336,12312701,1300 +AgentID,Policy_Number,Company_Claim_Number,Expense_Payment_Amount +2,31003000336,12312702,2400 +2,31003000336,12312701,1300 diff --git a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_008/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_008/seeds/_no-op.txt new file mode 100644 index 00000000..beffdd54 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/seeds/_no-op.txt @@ -0,0 +1,15 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + PolicyHolderID: integer + Policy_Number: bigint + premium: integer + Company_Claim_Number: integer + Loss_Payment_Amount: integer + Loss_Reserve_Amount: integer + Expense_Payment_Amount: integer + Expense_Reserve_Amount: integer diff --git a/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv index c50ae486..5dbcca6f 100644 --- a/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_008/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount -2,1,31003000336,20000,12312701,1200,1000,1300,1100 -2,1,31003000336,20000,12312702,2300,2100,2400,2200 +AgentID,PolicyHolderID,Policy_Number,premium,Company_Claim_Number,Loss_Payment_Amount,Loss_Reserve_Amount,Expense_Payment_Amount,Expense_Reserve_Amount +2,1,31003000336,20000,12312701,1200,1000,1300,1100 +2,1,31003000336,20000,12312702,2300,2100,2400,2200 diff --git a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_009/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_009/seeds/_no-op.txt new file mode 100644 index 00000000..f62fbd47 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Loss_Payment_Amount: integer diff --git a/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv index 4ec9c408..bb516e95 100644 --- a/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_009/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount -2,31003000336,12312701,1200 -2,31003000336,12312702,2300 +AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount +2,31003000336,12312701,1200 +2,31003000336,12312702,2300 diff --git a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_010/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_010/seeds/_no-op.txt new file mode 100644 index 00000000..f62fbd47 --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Loss_Payment_Amount: integer diff --git a/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv index 44e5aa1e..c3427021 100644 --- a/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_010/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount -2,31003000336,12312702,2300 -2,31003000336,12312701,1200 +AgentID,Policy_Number,Company_Claim_Number,Loss_Payment_Amount +2,31003000336,12312702,2300 +2,31003000336,12312701,1200 diff --git a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} From 987499e331195106dfa45b28dfe7a5135454db7c Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 11 Feb 2026 17:01:57 +1300 Subject: [PATCH 4/6] Rest of benchmark files --- .../free_text_acme_lqhs_011/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 6 ++-- .../free_text_acme_lqls_001/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../free_text_acme_lqls_002/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../free_text_acme_lqls_003/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 14 ++++---- .../free_text_acme_lqls_004/seeds/_no-op.txt | 7 ++++ .../seeds/solution__result.csv | 6 ++-- .../free_text_acme_lqls_005/seeds/_no-op.txt | 10 ++++++ .../seeds/solution__result.csv | 14 ++++---- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_006/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_007/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_008/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_009/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_010/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_011/seeds/_no-op.txt | 9 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_012/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 6 ++-- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ .../free_text_acme_lqls_013/seeds/_no-op.txt | 8 +++++ .../seeds/solution__result.csv | 14 ++++---- .../tests/AUTO_result_equality.sql | 33 +++++++++++++++++++ .../tests/AUTO_result_existence.sql | 16 +++++++++ 46 files changed, 613 insertions(+), 54 deletions(-) create mode 100644 tasks/free_text_acme_lqhs_011/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_001/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_002/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_003/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_004/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_005/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_006/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_007/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_008/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_009/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_010/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_011/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_012/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_013/seeds/_no-op.txt create mode 100644 tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql create mode 100644 tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql diff --git a/tasks/free_text_acme_lqhs_011/seeds/_no-op.txt b/tasks/free_text_acme_lqhs_011/seeds/_no-op.txt new file mode 100644 index 00000000..55a08ef8 --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + AgentID: integer + Policy_Number: bigint + Company_Claim_Number: integer + Catastrophe_Name: varchar diff --git a/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv b/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv index cc0326ba..b215b541 100644 --- a/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqhs_011/seeds/solution__result.csv @@ -1,3 +1,3 @@ -AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name -2,31003000336,12312702,Fire -2,31003000336,12312701,Fire +AgentID,Policy_Number,Company_Claim_Number,Catastrophe_Name +2,31003000336,12312702,Fire +2,31003000336,12312701,Fire diff --git a/tasks/free_text_acme_lqls_001/seeds/_no-op.txt b/tasks/free_text_acme_lqls_001/seeds/_no-op.txt new file mode 100644 index 00000000..f1243b84 --- /dev/null +++ b/tasks/free_text_acme_lqls_001/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Party_Identifier: integer diff --git a/tasks/free_text_acme_lqls_001/seeds/solution__result.csv b/tasks/free_text_acme_lqls_001/seeds/solution__result.csv index 64afe16c..d234eb0e 100644 --- a/tasks/free_text_acme_lqls_001/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_001/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,Party_Identifier -31003000336,1 -31003000337,1 +Policy_Number,Party_Identifier +31003000336,1 +31003000337,1 diff --git a/tasks/free_text_acme_lqls_002/seeds/_no-op.txt b/tasks/free_text_acme_lqls_002/seeds/_no-op.txt new file mode 100644 index 00000000..4a278311 --- /dev/null +++ b/tasks/free_text_acme_lqls_002/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + loss_reserve_amount: integer diff --git a/tasks/free_text_acme_lqls_002/seeds/solution__result.csv b/tasks/free_text_acme_lqls_002/seeds/solution__result.csv index f3d0e39a..c306fc08 100644 --- a/tasks/free_text_acme_lqls_002/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_002/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,loss_reserve_amount -12312701,1000 -12312702,2100 +Company_Claim_Number,loss_reserve_amount +12312701,1000 +12312702,2100 diff --git a/tasks/free_text_acme_lqls_003/seeds/_no-op.txt b/tasks/free_text_acme_lqls_003/seeds/_no-op.txt new file mode 100644 index 00000000..5540df90 --- /dev/null +++ b/tasks/free_text_acme_lqls_003/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Party_Identifier: integer + Policy_Amount: integer diff --git a/tasks/free_text_acme_lqls_003/seeds/solution__result.csv b/tasks/free_text_acme_lqls_003/seeds/solution__result.csv index 22cf72da..4676cce2 100644 --- a/tasks/free_text_acme_lqls_003/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_003/seeds/solution__result.csv @@ -1,7 +1,7 @@ -Policy_Number,Party_Identifier,Policy_Amount -31003000336,1,15000 -31003000336,1,16000 -31003000336,1,17000 -31003000336,1,18000 -31003000336,1,20000 -31003000337,1,12000 +Policy_Number,Party_Identifier,Policy_Amount +31003000336,1,15000 +31003000336,1,16000 +31003000336,1,17000 +31003000336,1,18000 +31003000336,1,20000 +31003000337,1,12000 diff --git a/tasks/free_text_acme_lqls_004/seeds/_no-op.txt b/tasks/free_text_acme_lqls_004/seeds/_no-op.txt new file mode 100644 index 00000000..f62af09f --- /dev/null +++ b/tasks/free_text_acme_lqls_004/seeds/_no-op.txt @@ -0,0 +1,7 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer diff --git a/tasks/free_text_acme_lqls_004/seeds/solution__result.csv b/tasks/free_text_acme_lqls_004/seeds/solution__result.csv index 4972f1d1..eee64048 100644 --- a/tasks/free_text_acme_lqls_004/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_004/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number -12312701 -12312702 +Company_Claim_Number +12312701 +12312702 diff --git a/tasks/free_text_acme_lqls_005/seeds/_no-op.txt b/tasks/free_text_acme_lqls_005/seeds/_no-op.txt new file mode 100644 index 00000000..f75dfed0 --- /dev/null +++ b/tasks/free_text_acme_lqls_005/seeds/_no-op.txt @@ -0,0 +1,10 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Effective_Date: date + Expiration_Date: date + Policy_Amount: integer diff --git a/tasks/free_text_acme_lqls_005/seeds/solution__result.csv b/tasks/free_text_acme_lqls_005/seeds/solution__result.csv index b558d3ed..6519d428 100644 --- a/tasks/free_text_acme_lqls_005/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_005/seeds/solution__result.csv @@ -1,7 +1,7 @@ -Policy_Number,Effective_Date,Expiration_Date,Policy_Amount -31003000336,2015-01-01,2015-12-31,15000 -31003000336,2016-01-01,2016-12-31,16000 -31003000336,2017-01-01,2017-12-31,17000 -31003000336,2018-01-01,2018-12-31,18000 -31003000336,2019-01-01,2019-12-31,20000 -31003000337,2019-06-01,2020-05-31,12000 +Policy_Number,Effective_Date,Expiration_Date,Policy_Amount +31003000336,2015-01-01,2015-12-31,15000 +31003000336,2016-01-01,2016-12-31,16000 +31003000336,2017-01-01,2017-12-31,17000 +31003000336,2018-01-01,2018-12-31,18000 +31003000336,2019-01-01,2019-12-31,20000 +31003000337,2019-06-01,2020-05-31,12000 diff --git a/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_006/seeds/_no-op.txt b/tasks/free_text_acme_lqls_006/seeds/_no-op.txt new file mode 100644 index 00000000..784861e7 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Company_Claim_Number: integer diff --git a/tasks/free_text_acme_lqls_006/seeds/solution__result.csv b/tasks/free_text_acme_lqls_006/seeds/solution__result.csv index 009bb0d8..384eba2c 100644 --- a/tasks/free_text_acme_lqls_006/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_006/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,Company_Claim_Number -31003000336,12312701 -31003000336,12312702 +Policy_Number,Company_Claim_Number +31003000336,12312701 +31003000336,12312702 diff --git a/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_007/seeds/_no-op.txt b/tasks/free_text_acme_lqls_007/seeds/_no-op.txt new file mode 100644 index 00000000..bbf65c64 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + agentid: integer diff --git a/tasks/free_text_acme_lqls_007/seeds/solution__result.csv b/tasks/free_text_acme_lqls_007/seeds/solution__result.csv index 1a729cc9..0ee5a1a8 100644 --- a/tasks/free_text_acme_lqls_007/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_007/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,agentid -31003000336,2 -31003000337,2 +Policy_Number,agentid +31003000336,2 +31003000337,2 diff --git a/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_008/seeds/_no-op.txt b/tasks/free_text_acme_lqls_008/seeds/_no-op.txt new file mode 100644 index 00000000..8df830e5 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + expense_payment_amount: integer diff --git a/tasks/free_text_acme_lqls_008/seeds/solution__result.csv b/tasks/free_text_acme_lqls_008/seeds/solution__result.csv index 1b68fe35..1cef04f7 100644 --- a/tasks/free_text_acme_lqls_008/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_008/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,expense_payment_amount -12312701,1300 -12312702,2400 +Company_Claim_Number,expense_payment_amount +12312701,1300 +12312702,2400 diff --git a/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_009/seeds/_no-op.txt b/tasks/free_text_acme_lqls_009/seeds/_no-op.txt new file mode 100644 index 00000000..331d0ba2 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + expense_reserve_amount: integer diff --git a/tasks/free_text_acme_lqls_009/seeds/solution__result.csv b/tasks/free_text_acme_lqls_009/seeds/solution__result.csv index a3522fe0..6d49e96a 100644 --- a/tasks/free_text_acme_lqls_009/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_009/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,expense_reserve_amount -12312701,1100 -12312702,2200 +Company_Claim_Number,expense_reserve_amount +12312701,1100 +12312702,2200 diff --git a/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_010/seeds/_no-op.txt b/tasks/free_text_acme_lqls_010/seeds/_no-op.txt new file mode 100644 index 00000000..5fe642c2 --- /dev/null +++ b/tasks/free_text_acme_lqls_010/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + Claim_Open_Date: date + Claim_Close_Date: date diff --git a/tasks/free_text_acme_lqls_010/seeds/solution__result.csv b/tasks/free_text_acme_lqls_010/seeds/solution__result.csv index 8757094d..04ada464 100644 --- a/tasks/free_text_acme_lqls_010/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_010/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,Claim_Open_Date,Claim_Close_Date -12312701,2019-01-15,2019-01-31 -12312702,2019-06-02,2019-06-27 +Company_Claim_Number,Claim_Open_Date,Claim_Close_Date +12312701,2019-01-15,2019-01-31 +12312702,2019-06-02,2019-06-27 diff --git a/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_011/seeds/_no-op.txt b/tasks/free_text_acme_lqls_011/seeds/_no-op.txt new file mode 100644 index 00000000..6e82cef4 --- /dev/null +++ b/tasks/free_text_acme_lqls_011/seeds/_no-op.txt @@ -0,0 +1,9 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Effective_Date: date + Expiration_Date: date diff --git a/tasks/free_text_acme_lqls_011/seeds/solution__result.csv b/tasks/free_text_acme_lqls_011/seeds/solution__result.csv index 188095d9..c0772a06 100644 --- a/tasks/free_text_acme_lqls_011/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_011/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Policy_Number,Effective_Date,Expiration_Date -31003000336,2015-01-01,2019-12-31 -31003000337,2019-06-01,2020-05-31 +Policy_Number,Effective_Date,Expiration_Date +31003000336,2015-01-01,2019-12-31 +31003000337,2019-06-01,2020-05-31 diff --git a/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_012/seeds/_no-op.txt b/tasks/free_text_acme_lqls_012/seeds/_no-op.txt new file mode 100644 index 00000000..331e702e --- /dev/null +++ b/tasks/free_text_acme_lqls_012/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Company_Claim_Number: integer + Loss_Payment_Amount: integer diff --git a/tasks/free_text_acme_lqls_012/seeds/solution__result.csv b/tasks/free_text_acme_lqls_012/seeds/solution__result.csv index 557b16c4..34a8b1e8 100644 --- a/tasks/free_text_acme_lqls_012/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_012/seeds/solution__result.csv @@ -1,3 +1,3 @@ -Company_Claim_Number,Loss_Payment_Amount -12312701,1200 -12312702,2300 +Company_Claim_Number,Loss_Payment_Amount +12312701,1200 +12312702,2300 diff --git a/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} diff --git a/tasks/free_text_acme_lqls_013/seeds/_no-op.txt b/tasks/free_text_acme_lqls_013/seeds/_no-op.txt new file mode 100644 index 00000000..ddcaef05 --- /dev/null +++ b/tasks/free_text_acme_lqls_013/seeds/_no-op.txt @@ -0,0 +1,8 @@ + + +seeds: + acme_insurance: + solution__result: + +column_types: + Policy_Number: bigint + Policy_Amount: integer diff --git a/tasks/free_text_acme_lqls_013/seeds/solution__result.csv b/tasks/free_text_acme_lqls_013/seeds/solution__result.csv index 4686517f..6be70f87 100644 --- a/tasks/free_text_acme_lqls_013/seeds/solution__result.csv +++ b/tasks/free_text_acme_lqls_013/seeds/solution__result.csv @@ -1,7 +1,7 @@ -Policy_Number,Policy_Amount -31003000336,15000 -31003000336,16000 -31003000336,17000 -31003000336,18000 -31003000336,20000 -31003000337,12000 +Policy_Number,Policy_Amount +31003000336,15000 +31003000336,16000 +31003000336,17000 +31003000336,18000 +31003000336,20000 +31003000337,12000 diff --git a/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql new file mode 100644 index 00000000..4e6a6133 --- /dev/null +++ b/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql @@ -0,0 +1,33 @@ +-- Define columns to compare +{% set table_name = 'result' %} + +{% set cols_to_include = [ + +] %} + +{% set cols_to_exclude = [ + +] %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +-- depends_on: {{ ref(answer_key) }} +-- depends_on: {{ ref(table_name) }} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + {{ dbt_utils.test_equality( + model=ref(answer_key), + compare_model=ref(table_name), + compare_columns=cols_to_include, + exclude_columns=cols_to_exclude + ) }} +{% endif %} diff --git a/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql new file mode 100644 index 00000000..51015b21 --- /dev/null +++ b/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql @@ -0,0 +1,16 @@ +{% set table_name = 'result' %} + + + +------------------------------------- +---- DO NOT EDIT BELOW THIS LINE ---- +{% set answer_key = 'solution__' + table_name %} + +{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} +{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} + +{% if table_a is none or table_b is none %} + select 1 +{% else %} + select 1 where false +{% endif %} From 40ee77f5339234ca012fba3989b647e5969c02b4 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Thu, 12 Feb 2026 16:40:19 +1300 Subject: [PATCH 5/6] Switch to fuzzy matches for free text tasks --- .gitignore | 1 + ade_bench/handlers/trial_handler.py | 2 +- docker/base/Dockerfile.duckdb-dbt | 1 + docker/base/Dockerfile.snowflake-dbt | 1 + docker/base/Dockerfile.snowflake-dbtf | 1 + shared/config/CLAUDE.md | 1 + .../omg_semantics/metricflow_time_spine.yaml | 8 + .../dbt/acme_insurance/models/sources.yml | 4 + shared/scripts/fuzzy_compare.py | 258 ++++++++++++++++++ tasks/free_text_acme_hqhs_001/setup.sh | 1 + tasks/free_text_acme_hqhs_001/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_002/setup.sh | 1 + tasks/free_text_acme_hqhs_002/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_003/setup.sh | 1 + tasks/free_text_acme_hqhs_003/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_004/setup.sh | 1 + tasks/free_text_acme_hqhs_004/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_005/setup.sh | 1 + tasks/free_text_acme_hqhs_005/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_006/setup.sh | 1 + tasks/free_text_acme_hqhs_006/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_007/setup.sh | 1 + tasks/free_text_acme_hqhs_007/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_008/setup.sh | 1 + tasks/free_text_acme_hqhs_008/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_009/setup.sh | 1 + tasks/free_text_acme_hqhs_009/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqhs_010/setup.sh | 1 + tasks/free_text_acme_hqhs_010/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_001/setup.sh | 1 + tasks/free_text_acme_hqls_001/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_002/setup.sh | 1 + tasks/free_text_acme_hqls_002/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_003/setup.sh | 1 + tasks/free_text_acme_hqls_003/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_004/setup.sh | 1 + tasks/free_text_acme_hqls_004/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_005/setup.sh | 1 + tasks/free_text_acme_hqls_005/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_006/setup.sh | 1 + tasks/free_text_acme_hqls_006/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_007/setup.sh | 1 + tasks/free_text_acme_hqls_007/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_008/setup.sh | 1 + tasks/free_text_acme_hqls_008/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_009/setup.sh | 1 + tasks/free_text_acme_hqls_009/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_010/setup.sh | 1 + tasks/free_text_acme_hqls_010/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_hqls_011/setup.sh | 1 + tasks/free_text_acme_hqls_011/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_001/setup.sh | 1 + tasks/free_text_acme_lqhs_001/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_002/setup.sh | 1 + tasks/free_text_acme_lqhs_002/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_003/setup.sh | 1 + tasks/free_text_acme_lqhs_003/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_004/setup.sh | 1 + tasks/free_text_acme_lqhs_004/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_005/setup.sh | 1 + tasks/free_text_acme_lqhs_005/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_006/setup.sh | 1 + tasks/free_text_acme_lqhs_006/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_007/setup.sh | 1 + tasks/free_text_acme_lqhs_007/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_008/setup.sh | 1 + tasks/free_text_acme_lqhs_008/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_009/setup.sh | 1 + tasks/free_text_acme_lqhs_009/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_010/setup.sh | 1 + tasks/free_text_acme_lqhs_010/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqhs_011/setup.sh | 1 + tasks/free_text_acme_lqhs_011/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_001/setup.sh | 1 + tasks/free_text_acme_lqls_001/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_002/setup.sh | 1 + tasks/free_text_acme_lqls_002/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_003/setup.sh | 1 + tasks/free_text_acme_lqls_003/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_004/setup.sh | 1 + tasks/free_text_acme_lqls_004/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_005/setup.sh | 1 + tasks/free_text_acme_lqls_005/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_006/setup.sh | 1 + tasks/free_text_acme_lqls_006/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_007/setup.sh | 1 + tasks/free_text_acme_lqls_007/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_008/setup.sh | 1 + tasks/free_text_acme_lqls_008/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_009/setup.sh | 1 + tasks/free_text_acme_lqls_009/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_010/setup.sh | 1 + tasks/free_text_acme_lqls_010/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_011/setup.sh | 1 + tasks/free_text_acme_lqls_011/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_012/setup.sh | 1 + tasks/free_text_acme_lqls_012/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + tasks/free_text_acme_lqls_013/setup.sh | 1 + tasks/free_text_acme_lqls_013/task.yaml | 6 +- .../tests/AUTO_result_equality.sql | 33 --- .../tests/AUTO_result_existence.sql | 16 -- .../tests/fuzzy_comparison.sql | 1 + 234 files changed, 501 insertions(+), 2341 deletions(-) create mode 100644 shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.yaml create mode 100644 shared/scripts/fuzzy_compare.py delete mode 100644 tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_001/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_002/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_003/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_004/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_005/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_006/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_007/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_008/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_009/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqhs_010/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_001/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_002/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_003/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_004/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_005/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_006/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_007/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_008/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_009/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_010/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_hqls_011/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_001/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_002/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_003/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_004/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_005/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_006/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_007/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_008/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_009/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_010/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqhs_011/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_001/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_002/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_003/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_004/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_005/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_006/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_007/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_008/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_009/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_010/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_011/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_012/tests/fuzzy_comparison.sql delete mode 100644 tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql delete mode 100644 tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql create mode 100644 tasks/free_text_acme_lqls_013/tests/fuzzy_comparison.sql diff --git a/.gitignore b/.gitignore index e4309edc..90549110 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,7 @@ profiling/statistics # Docker .docker/ +docker/base/bin/ # dbt target/ diff --git a/ade_bench/handlers/trial_handler.py b/ade_bench/handlers/trial_handler.py index 864878e5..ca7cb73b 100644 --- a/ade_bench/handlers/trial_handler.py +++ b/ade_bench/handlers/trial_handler.py @@ -71,7 +71,7 @@ class Task(BaseModel): description="Maximum timeout in seconds for each individual test" ) test_scripts: list[str] = Field( - default=["setup-dbt-test.sh", "run-dbt-test.sh", "seed-schema.sh", "merge_yaml.py", "run_sql.py", "run_sql.sh"], + default=["setup-dbt-test.sh", "run-dbt-test.sh", "seed-schema.sh", "merge_yaml.py", "run_sql.py", "run_sql.sh", "fuzzy_compare.py"], description="List of test scripts to use for the task", ) run_tests_in_same_shell: bool = Field( diff --git a/docker/base/Dockerfile.duckdb-dbt b/docker/base/Dockerfile.duckdb-dbt index 81fe55d7..38a6556e 100644 --- a/docker/base/Dockerfile.duckdb-dbt +++ b/docker/base/Dockerfile.duckdb-dbt @@ -12,6 +12,7 @@ RUN pip install --no-cache-dir \ dbt-duckdb==1.9.3 \ duckdb==1.3.0 \ "dbt-metricflow[dbt-duckdb]" \ + pandas \ pyyaml>=6.0 \ uv>=0.7 diff --git a/docker/base/Dockerfile.snowflake-dbt b/docker/base/Dockerfile.snowflake-dbt index 1ca4ef58..30364b13 100644 --- a/docker/base/Dockerfile.snowflake-dbt +++ b/docker/base/Dockerfile.snowflake-dbt @@ -15,6 +15,7 @@ RUN pip install --no-cache-dir \ dbt-snowflake==1.10.2 \ snowflake-connector-python==3.13.1 \ "dbt-metricflow[dbt-snowflake]" \ + pandas \ pyyaml>=6.0 \ uv>=0.7 diff --git a/docker/base/Dockerfile.snowflake-dbtf b/docker/base/Dockerfile.snowflake-dbtf index 4fd08b6b..0240a47a 100644 --- a/docker/base/Dockerfile.snowflake-dbtf +++ b/docker/base/Dockerfile.snowflake-dbtf @@ -17,6 +17,7 @@ RUN export SHELL=/bin/bash && \ # Install Snowflake connector (still needed for Snowflake connections) RUN pip install --no-cache-dir \ snowflake-connector-python==3.13.1 \ + pandas \ pyyaml>=6.0 \ uv>=0.7 diff --git a/shared/config/CLAUDE.md b/shared/config/CLAUDE.md index 7d41ec5d..3b52e504 100644 --- a/shared/config/CLAUDE.md +++ b/shared/config/CLAUDE.md @@ -4,6 +4,7 @@ You are acting as an expert analyst and data engineer who is taksed with solving ## Available Tools - dbt: You have access to a dbt project, and its configuration files. The project may use dbt Fusion or standard dbt. +- MetricFlow: The `mf` CLI can be used to interact with the dbt Semantic Layer. - Snowflake: Each dbt project is connected to a Snowflake database. - dbt's MCP server: In some cases, you may have access to the dbt MCP server, which you should use when appropriate. diff --git a/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.yaml b/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.yaml new file mode 100644 index 00000000..72deb4c0 --- /dev/null +++ b/shared/projects/dbt/acme_insurance/models/omg_semantics/metricflow_time_spine.yaml @@ -0,0 +1,8 @@ +models: + - name: metricflow_time_spine + description: "MetricFlow time spine with one row per day" + time_spine: + standard_granularity_column: date_day + columns: + - name: date_day + granularity: day diff --git a/shared/projects/dbt/acme_insurance/models/sources.yml b/shared/projects/dbt/acme_insurance/models/sources.yml index ae7f44f9..0e7442a7 100644 --- a/shared/projects/dbt/acme_insurance/models/sources.yml +++ b/shared/projects/dbt/acme_insurance/models/sources.yml @@ -17,17 +17,21 @@ sources: - name: Expense_Payment - name: Expense_Reserve - name: FireClaim + identifier: fire_claim - name: Geographic_Location - name: Insurable_Object - name: Location_Address - name: Loss_Payment - name: Loss_Reserve - name: Occurrence + identifier: occurrences - name: Organization + identifier: organizations - name: Party - name: Party_Role - name: Person - name: Physical_Location + identifier: pysical_location - name: Policy - name: Policy_Amount - name: Policy_Coverage_Detail diff --git a/shared/scripts/fuzzy_compare.py b/shared/scripts/fuzzy_compare.py new file mode 100644 index 00000000..0547ee33 --- /dev/null +++ b/shared/scripts/fuzzy_compare.py @@ -0,0 +1,258 @@ +#!/usr/bin/env python3 +"""Fuzzy comparison of query results for ADE-Bench. + +Compares an agent's result table against a gold standard CSV file, +tolerating differences in column names, column ordering, row ordering, +and minor numeric precision differences. + +Columns are matched by their content (sorted values), not by name. +Extra columns in the result are tolerated. Numeric comparisons use +atol=1e-5, rtol=1e-5 tolerance. + +Creates a `fuzzy_match_result` table in the DuckDB database: + - Empty (0 rows) if comparison passes + - Contains error details if comparison fails + +Usage: + python fuzzy_compare.py [--db-path ] +""" + +import argparse +import os +import sys +from pathlib import Path + +try: + import duckdb +except ImportError: + print("Error: duckdb is required.", file=sys.stderr) + sys.exit(1) + +try: + import pandas as pd +except ImportError: + print("Error: pandas is required.", file=sys.stderr) + sys.exit(1) + + +def find_db_path(): + """Find the DuckDB database path from profiles.yml.""" + try: + import yaml + for profiles_path in ['/app/profiles.yml', '/app/profile.yml']: + if not os.path.exists(profiles_path): + continue + with open(profiles_path) as f: + profiles = yaml.safe_load(f) + for profile_name, profile in profiles.items(): + if not isinstance(profile, dict) or 'outputs' not in profile: + continue + dev = profile['outputs'].get('dev', {}) + if dev.get('type') != 'duckdb': + continue + db_path = dev.get('path', 'database.duckdb') + if not os.path.isabs(db_path): + db_path = os.path.join('/app', db_path) + return db_path + except Exception: + pass + + # Fallback: look for any .duckdb file in /app + for f in Path('/app').glob('*.duckdb'): + return str(f) + + return '/app/database.duckdb' + + +def _is_numeric_series(series): + """Check if a pandas Series contains numeric values.""" + if pd.api.types.is_numeric_dtype(series.dtype): + return True + if series.dtype == object and len(series) > 0: + first = series.dropna().iloc[0] if series.dropna().any() else None + if first is not None: + return isinstance(first, (int, float, complex)) or hasattr(first, '__float__') + return False + + +def match_columns(gold_df, comp_df): + """Match gold columns to comparison columns by content. + + For each column in gold, find a column in comp with the same type + and same sorted values. Returns a dict {comp_col: gold_col}. + """ + mapping = {} + + for gold_col in sorted(gold_df.columns): + gold_vals = gold_df[gold_col].sort_values().reset_index(drop=True) + is_gold_numeric = _is_numeric_series(gold_df[gold_col]) + + for comp_col in comp_df.columns: + if comp_col in mapping: + continue + + comp_vals = comp_df[comp_col].sort_values().reset_index(drop=True) + is_comp_numeric = _is_numeric_series(comp_df[comp_col]) + + # Check type compatibility + types_ok = ( + gold_df[gold_col].dtype == comp_df[comp_col].dtype + or (is_gold_numeric and is_comp_numeric) + ) + if not types_ok: + continue + + # Try exact match + if gold_vals.equals(comp_vals): + mapping[comp_col] = gold_col + break + + # Try approximate numeric match + if is_gold_numeric and is_comp_numeric: + try: + gold_float = gold_vals.astype(float) + comp_float = comp_vals.astype(float) + pd.testing.assert_series_equal( + gold_float, comp_float, + check_dtype=False, check_names=False, + atol=1e-5, rtol=1e-5, + ) + mapping[comp_col] = gold_col + break + except (AssertionError, ValueError, TypeError): + pass + + mapped_gold = set(mapping.values()) + unmapped = set(gold_df.columns) - mapped_gold + if unmapped: + raise ValueError( + f"Could not match gold columns: {unmapped}. " + f"Available comparison columns: {list(comp_df.columns)}" + ) + + return mapping + + +def compare(gold_df, comp_df): + """Compare two DataFrames with fuzzy matching. + + Returns (is_match: bool, error_message: str | None). + """ + if gold_df.empty and comp_df.empty: + return True, None + + if len(gold_df) != len(comp_df): + return False, f"Row count mismatch: gold={len(gold_df)}, result={len(comp_df)}" + + if len(gold_df.columns) > len(comp_df.columns): + return False, ( + f"Result has fewer columns ({len(comp_df.columns)}) " + f"than expected ({len(gold_df.columns)})" + ) + + # Match columns by content + try: + col_mapping = match_columns(gold_df, comp_df) + except ValueError as e: + return False, str(e) + + # Rename and reorder to match gold + comp_df = comp_df.rename(columns=col_mapping) + cols = sorted(gold_df.columns) + comp_df = comp_df[cols].copy() + gold_df = gold_df.reindex(columns=cols) + + # Sort rows + gold_df = gold_df.sort_values(by=cols).reset_index(drop=True) + comp_df = comp_df.sort_values(by=cols).reset_index(drop=True) + + # Normalize numeric types (Decimal vs float, int vs float, etc.) + for col in cols: + g_numeric = _is_numeric_series(gold_df[col]) + c_numeric = _is_numeric_series(comp_df[col]) + if g_numeric and c_numeric: + try: + gold_df[col] = gold_df[col].astype(float) + comp_df[col] = comp_df[col].astype(float) + except (ValueError, TypeError): + pass + + # Final comparison + if gold_df.equals(comp_df): + return True, None + + # Column-by-column check for detailed error reporting + for col in cols: + if gold_df[col].equals(comp_df[col]): + continue + + if pd.api.types.is_numeric_dtype(gold_df[col]): + try: + pd.testing.assert_series_equal( + gold_df[col], comp_df[col], + check_dtype=False, check_names=False, + atol=1e-5, rtol=1e-5, + ) + continue # Close enough + except AssertionError: + pass + + diff_mask = gold_df[col] != comp_df[col] + first_diff = diff_mask.idxmax() + return False, ( + f"Column '{col}' differs at row {first_diff}: " + f"gold={gold_df[col].iloc[first_diff]!r}, " + f"result={comp_df[col].iloc[first_diff]!r}" + ) + + return True, None + + +def main(): + parser = argparse.ArgumentParser(description='Fuzzy comparison of query results') + parser.add_argument('result_table', help='Name of the result table in DuckDB') + parser.add_argument('gold_csv_path', help='Path to the gold standard CSV file') + parser.add_argument('--db-path', help='Path to DuckDB database', default=None) + args = parser.parse_args() + + db_path = args.db_path or find_db_path() + + conn = duckdb.connect(db_path) + + try: + # Load gold CSV + gold_df = pd.read_csv(args.gold_csv_path) + + # Load result table + try: + result_df = conn.execute(f"SELECT * FROM {args.result_table}").fetchdf() + except Exception as e: + error_msg = f"Could not read result table '{args.result_table}': {e}" + conn.execute( + "CREATE OR REPLACE TABLE fuzzy_match_result AS SELECT ? as error", + [error_msg], + ) + print(f"FAIL: {error_msg}", file=sys.stderr) + return + + # Run comparison + is_match, error_msg = compare(gold_df, result_df) + + if is_match: + conn.execute( + "CREATE OR REPLACE TABLE fuzzy_match_result AS SELECT 1 WHERE FALSE" + ) + print("PASS: Results match") + else: + conn.execute( + "CREATE OR REPLACE TABLE fuzzy_match_result AS SELECT ? as error", + [error_msg], + ) + print(f"FAIL: {error_msg}", file=sys.stderr) + + finally: + conn.close() + + +if __name__ == '__main__': + main() diff --git a/tasks/free_text_acme_hqhs_001/setup.sh b/tasks/free_text_acme_hqhs_001/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_001/setup.sh +++ b/tasks/free_text_acme_hqhs_001/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_001/task.yaml b/tasks/free_text_acme_hqhs_001/task.yaml index 94a58da9..1223f5e2 100644 --- a/tasks/free_text_acme_hqhs_001/task.yaml +++ b/tasks/free_text_acme_hqhs_001/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_001/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_001/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_001/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_001/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_002/setup.sh b/tasks/free_text_acme_hqhs_002/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_002/setup.sh +++ b/tasks/free_text_acme_hqhs_002/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_002/task.yaml b/tasks/free_text_acme_hqhs_002/task.yaml index 54d8d929..a9687027 100644 --- a/tasks/free_text_acme_hqhs_002/task.yaml +++ b/tasks/free_text_acme_hqhs_002/task.yaml @@ -27,9 +27,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_002/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_002/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_002/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_002/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_003/setup.sh b/tasks/free_text_acme_hqhs_003/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_003/setup.sh +++ b/tasks/free_text_acme_hqhs_003/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_003/task.yaml b/tasks/free_text_acme_hqhs_003/task.yaml index 3765d2d8..cdfe914d 100644 --- a/tasks/free_text_acme_hqhs_003/task.yaml +++ b/tasks/free_text_acme_hqhs_003/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_003/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_003/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_003/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_003/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_004/setup.sh b/tasks/free_text_acme_hqhs_004/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_004/setup.sh +++ b/tasks/free_text_acme_hqhs_004/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_004/task.yaml b/tasks/free_text_acme_hqhs_004/task.yaml index b43a4448..e196721c 100644 --- a/tasks/free_text_acme_hqhs_004/task.yaml +++ b/tasks/free_text_acme_hqhs_004/task.yaml @@ -27,9 +27,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_004/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_004/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_004/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_004/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_005/setup.sh b/tasks/free_text_acme_hqhs_005/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_005/setup.sh +++ b/tasks/free_text_acme_hqhs_005/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_005/task.yaml b/tasks/free_text_acme_hqhs_005/task.yaml index d586cc12..a6df9a33 100644 --- a/tasks/free_text_acme_hqhs_005/task.yaml +++ b/tasks/free_text_acme_hqhs_005/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_005/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_005/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_005/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_005/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_006/setup.sh b/tasks/free_text_acme_hqhs_006/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_006/setup.sh +++ b/tasks/free_text_acme_hqhs_006/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_006/task.yaml b/tasks/free_text_acme_hqhs_006/task.yaml index 78c83d16..fa4222e1 100644 --- a/tasks/free_text_acme_hqhs_006/task.yaml +++ b/tasks/free_text_acme_hqhs_006/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_006/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_006/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_006/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_006/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_007/setup.sh b/tasks/free_text_acme_hqhs_007/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_007/setup.sh +++ b/tasks/free_text_acme_hqhs_007/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_007/task.yaml b/tasks/free_text_acme_hqhs_007/task.yaml index 8dab3f38..f699f19a 100644 --- a/tasks/free_text_acme_hqhs_007/task.yaml +++ b/tasks/free_text_acme_hqhs_007/task.yaml @@ -28,9 +28,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_007/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_007/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_007/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_007/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_008/setup.sh b/tasks/free_text_acme_hqhs_008/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_008/setup.sh +++ b/tasks/free_text_acme_hqhs_008/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_008/task.yaml b/tasks/free_text_acme_hqhs_008/task.yaml index 4104c82f..6383a820 100644 --- a/tasks/free_text_acme_hqhs_008/task.yaml +++ b/tasks/free_text_acme_hqhs_008/task.yaml @@ -27,9 +27,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_008/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_008/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_008/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_008/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_009/setup.sh b/tasks/free_text_acme_hqhs_009/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_009/setup.sh +++ b/tasks/free_text_acme_hqhs_009/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_009/task.yaml b/tasks/free_text_acme_hqhs_009/task.yaml index 304b6c2c..ecb6714e 100644 --- a/tasks/free_text_acme_hqhs_009/task.yaml +++ b/tasks/free_text_acme_hqhs_009/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_009/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_009/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_009/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_009/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqhs_010/setup.sh b/tasks/free_text_acme_hqhs_010/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqhs_010/setup.sh +++ b/tasks/free_text_acme_hqhs_010/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqhs_010/task.yaml b/tasks/free_text_acme_hqhs_010/task.yaml index f468427b..ffb6ce11 100644 --- a/tasks/free_text_acme_hqhs_010/task.yaml +++ b/tasks/free_text_acme_hqhs_010/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - hqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqhs_010/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqhs_010/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqhs_010/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqhs_010/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_001/setup.sh b/tasks/free_text_acme_hqls_001/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_001/setup.sh +++ b/tasks/free_text_acme_hqls_001/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_001/task.yaml b/tasks/free_text_acme_hqls_001/task.yaml index a75fa916..1a29163a 100644 --- a/tasks/free_text_acme_hqls_001/task.yaml +++ b/tasks/free_text_acme_hqls_001/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_001/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_001/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_001/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_001/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_001/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_002/setup.sh b/tasks/free_text_acme_hqls_002/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_002/setup.sh +++ b/tasks/free_text_acme_hqls_002/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_002/task.yaml b/tasks/free_text_acme_hqls_002/task.yaml index 22acfd7c..0ea864da 100644 --- a/tasks/free_text_acme_hqls_002/task.yaml +++ b/tasks/free_text_acme_hqls_002/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_002/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_002/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_002/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_002/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_002/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_003/setup.sh b/tasks/free_text_acme_hqls_003/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_003/setup.sh +++ b/tasks/free_text_acme_hqls_003/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_003/task.yaml b/tasks/free_text_acme_hqls_003/task.yaml index 37a2273b..94cd190c 100644 --- a/tasks/free_text_acme_hqls_003/task.yaml +++ b/tasks/free_text_acme_hqls_003/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_003/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_003/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_003/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_003/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_003/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_004/setup.sh b/tasks/free_text_acme_hqls_004/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_004/setup.sh +++ b/tasks/free_text_acme_hqls_004/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_004/task.yaml b/tasks/free_text_acme_hqls_004/task.yaml index 8c59e90b..4ca010a1 100644 --- a/tasks/free_text_acme_hqls_004/task.yaml +++ b/tasks/free_text_acme_hqls_004/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_004/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_004/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_004/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_004/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_004/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_005/setup.sh b/tasks/free_text_acme_hqls_005/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_005/setup.sh +++ b/tasks/free_text_acme_hqls_005/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_005/task.yaml b/tasks/free_text_acme_hqls_005/task.yaml index c10553d0..915ce67e 100644 --- a/tasks/free_text_acme_hqls_005/task.yaml +++ b/tasks/free_text_acme_hqls_005/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_005/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_005/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_005/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_005/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_005/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_006/setup.sh b/tasks/free_text_acme_hqls_006/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_006/setup.sh +++ b/tasks/free_text_acme_hqls_006/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_006/task.yaml b/tasks/free_text_acme_hqls_006/task.yaml index 56aa10ad..438a41f8 100644 --- a/tasks/free_text_acme_hqls_006/task.yaml +++ b/tasks/free_text_acme_hqls_006/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_006/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_006/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_006/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_006/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_006/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_007/setup.sh b/tasks/free_text_acme_hqls_007/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_007/setup.sh +++ b/tasks/free_text_acme_hqls_007/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_007/task.yaml b/tasks/free_text_acme_hqls_007/task.yaml index cff1a247..91f266c3 100644 --- a/tasks/free_text_acme_hqls_007/task.yaml +++ b/tasks/free_text_acme_hqls_007/task.yaml @@ -25,9 +25,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_007/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_007/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_007/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_007/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_007/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_008/setup.sh b/tasks/free_text_acme_hqls_008/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_008/setup.sh +++ b/tasks/free_text_acme_hqls_008/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_008/task.yaml b/tasks/free_text_acme_hqls_008/task.yaml index 226e4892..374a5135 100644 --- a/tasks/free_text_acme_hqls_008/task.yaml +++ b/tasks/free_text_acme_hqls_008/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_008/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_008/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_008/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_008/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_008/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_009/setup.sh b/tasks/free_text_acme_hqls_009/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_009/setup.sh +++ b/tasks/free_text_acme_hqls_009/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_009/task.yaml b/tasks/free_text_acme_hqls_009/task.yaml index 6a0bdc7f..73677ff2 100644 --- a/tasks/free_text_acme_hqls_009/task.yaml +++ b/tasks/free_text_acme_hqls_009/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_009/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_009/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_009/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_009/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_009/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_010/setup.sh b/tasks/free_text_acme_hqls_010/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_010/setup.sh +++ b/tasks/free_text_acme_hqls_010/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_010/task.yaml b/tasks/free_text_acme_hqls_010/task.yaml index 1967c1f1..3b06ff45 100644 --- a/tasks/free_text_acme_hqls_010/task.yaml +++ b/tasks/free_text_acme_hqls_010/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_010/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_010/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_010/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_010/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_010/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_hqls_011/setup.sh b/tasks/free_text_acme_hqls_011/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_hqls_011/setup.sh +++ b/tasks/free_text_acme_hqls_011/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_hqls_011/task.yaml b/tasks/free_text_acme_hqls_011/task.yaml index 54f83514..907fe46c 100644 --- a/tasks/free_text_acme_hqls_011/task.yaml +++ b/tasks/free_text_acme_hqls_011/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - hqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_hqls_011/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_hqls_011/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_hqls_011/tests/fuzzy_comparison.sql b/tasks/free_text_acme_hqls_011/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_hqls_011/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_001/setup.sh b/tasks/free_text_acme_lqhs_001/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_001/setup.sh +++ b/tasks/free_text_acme_lqhs_001/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_001/task.yaml b/tasks/free_text_acme_lqhs_001/task.yaml index 4894b5ab..27f3d703 100644 --- a/tasks/free_text_acme_lqhs_001/task.yaml +++ b/tasks/free_text_acme_lqhs_001/task.yaml @@ -25,9 +25,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_001/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_001/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_001/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_001/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_002/setup.sh b/tasks/free_text_acme_lqhs_002/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_002/setup.sh +++ b/tasks/free_text_acme_lqhs_002/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_002/task.yaml b/tasks/free_text_acme_lqhs_002/task.yaml index 5766657e..89f610fb 100644 --- a/tasks/free_text_acme_lqhs_002/task.yaml +++ b/tasks/free_text_acme_lqhs_002/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_002/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_002/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_002/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_002/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_003/setup.sh b/tasks/free_text_acme_lqhs_003/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_003/setup.sh +++ b/tasks/free_text_acme_lqhs_003/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_003/task.yaml b/tasks/free_text_acme_lqhs_003/task.yaml index 66031e2b..507bb5d3 100644 --- a/tasks/free_text_acme_lqhs_003/task.yaml +++ b/tasks/free_text_acme_lqhs_003/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_003/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_003/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_003/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_003/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_004/setup.sh b/tasks/free_text_acme_lqhs_004/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_004/setup.sh +++ b/tasks/free_text_acme_lqhs_004/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_004/task.yaml b/tasks/free_text_acme_lqhs_004/task.yaml index cf2950ea..4e1ae6b2 100644 --- a/tasks/free_text_acme_lqhs_004/task.yaml +++ b/tasks/free_text_acme_lqhs_004/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_004/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_004/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_004/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_004/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_005/setup.sh b/tasks/free_text_acme_lqhs_005/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_005/setup.sh +++ b/tasks/free_text_acme_lqhs_005/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_005/task.yaml b/tasks/free_text_acme_lqhs_005/task.yaml index 25fb3ba2..b1bd063e 100644 --- a/tasks/free_text_acme_lqhs_005/task.yaml +++ b/tasks/free_text_acme_lqhs_005/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_005/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_005/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_005/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_005/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_006/setup.sh b/tasks/free_text_acme_lqhs_006/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_006/setup.sh +++ b/tasks/free_text_acme_lqhs_006/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_006/task.yaml b/tasks/free_text_acme_lqhs_006/task.yaml index a123048c..9803554c 100644 --- a/tasks/free_text_acme_lqhs_006/task.yaml +++ b/tasks/free_text_acme_lqhs_006/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_006/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_006/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_006/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_006/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_007/setup.sh b/tasks/free_text_acme_lqhs_007/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_007/setup.sh +++ b/tasks/free_text_acme_lqhs_007/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_007/task.yaml b/tasks/free_text_acme_lqhs_007/task.yaml index 0a08f7cb..748568b4 100644 --- a/tasks/free_text_acme_lqhs_007/task.yaml +++ b/tasks/free_text_acme_lqhs_007/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_007/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_007/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_007/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_007/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_008/setup.sh b/tasks/free_text_acme_lqhs_008/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_008/setup.sh +++ b/tasks/free_text_acme_lqhs_008/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_008/task.yaml b/tasks/free_text_acme_lqhs_008/task.yaml index ca9df722..f916aa21 100644 --- a/tasks/free_text_acme_lqhs_008/task.yaml +++ b/tasks/free_text_acme_lqhs_008/task.yaml @@ -29,9 +29,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_008/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_008/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_008/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_008/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_009/setup.sh b/tasks/free_text_acme_lqhs_009/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_009/setup.sh +++ b/tasks/free_text_acme_lqhs_009/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_009/task.yaml b/tasks/free_text_acme_lqhs_009/task.yaml index 692e56d8..ff65c5ac 100644 --- a/tasks/free_text_acme_lqhs_009/task.yaml +++ b/tasks/free_text_acme_lqhs_009/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_009/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_009/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_009/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_009/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_010/setup.sh b/tasks/free_text_acme_lqhs_010/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_010/setup.sh +++ b/tasks/free_text_acme_lqhs_010/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_010/task.yaml b/tasks/free_text_acme_lqhs_010/task.yaml index 1514cffe..df35b4eb 100644 --- a/tasks/free_text_acme_lqhs_010/task.yaml +++ b/tasks/free_text_acme_lqhs_010/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_010/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_010/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_010/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_010/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqhs_011/setup.sh b/tasks/free_text_acme_lqhs_011/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqhs_011/setup.sh +++ b/tasks/free_text_acme_lqhs_011/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqhs_011/task.yaml b/tasks/free_text_acme_lqhs_011/task.yaml index f8ab56c8..375d5546 100644 --- a/tasks/free_text_acme_lqhs_011/task.yaml +++ b/tasks/free_text_acme_lqhs_011/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqhs -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqhs_011/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqhs_011/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqhs_011/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqhs_011/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_001/setup.sh b/tasks/free_text_acme_lqls_001/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_001/setup.sh +++ b/tasks/free_text_acme_lqls_001/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_001/task.yaml b/tasks/free_text_acme_lqls_001/task.yaml index 57c7fce1..803f5aeb 100644 --- a/tasks/free_text_acme_lqls_001/task.yaml +++ b/tasks/free_text_acme_lqls_001/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_001/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_001/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_001/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_001/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_001/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_002/setup.sh b/tasks/free_text_acme_lqls_002/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_002/setup.sh +++ b/tasks/free_text_acme_lqls_002/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_002/task.yaml b/tasks/free_text_acme_lqls_002/task.yaml index 727b61cc..248d0994 100644 --- a/tasks/free_text_acme_lqls_002/task.yaml +++ b/tasks/free_text_acme_lqls_002/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_002/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_002/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_002/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_002/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_002/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_003/setup.sh b/tasks/free_text_acme_lqls_003/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_003/setup.sh +++ b/tasks/free_text_acme_lqls_003/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_003/task.yaml b/tasks/free_text_acme_lqls_003/task.yaml index 9e30f507..e86340dd 100644 --- a/tasks/free_text_acme_lqls_003/task.yaml +++ b/tasks/free_text_acme_lqls_003/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_003/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_003/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_003/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_003/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_003/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_004/setup.sh b/tasks/free_text_acme_lqls_004/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_004/setup.sh +++ b/tasks/free_text_acme_lqls_004/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_004/task.yaml b/tasks/free_text_acme_lqls_004/task.yaml index 550f74f4..96236219 100644 --- a/tasks/free_text_acme_lqls_004/task.yaml +++ b/tasks/free_text_acme_lqls_004/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_004/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_004/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_004/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_004/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_004/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_005/setup.sh b/tasks/free_text_acme_lqls_005/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_005/setup.sh +++ b/tasks/free_text_acme_lqls_005/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_005/task.yaml b/tasks/free_text_acme_lqls_005/task.yaml index 34f3782a..9169b472 100644 --- a/tasks/free_text_acme_lqls_005/task.yaml +++ b/tasks/free_text_acme_lqls_005/task.yaml @@ -27,9 +27,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_005/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_005/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_005/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_005/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_005/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_006/setup.sh b/tasks/free_text_acme_lqls_006/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_006/setup.sh +++ b/tasks/free_text_acme_lqls_006/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_006/task.yaml b/tasks/free_text_acme_lqls_006/task.yaml index b5c42bff..9fb360d2 100644 --- a/tasks/free_text_acme_lqls_006/task.yaml +++ b/tasks/free_text_acme_lqls_006/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_006/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_006/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_006/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_006/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_006/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_007/setup.sh b/tasks/free_text_acme_lqls_007/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_007/setup.sh +++ b/tasks/free_text_acme_lqls_007/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_007/task.yaml b/tasks/free_text_acme_lqls_007/task.yaml index a373d426..c3953819 100644 --- a/tasks/free_text_acme_lqls_007/task.yaml +++ b/tasks/free_text_acme_lqls_007/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_007/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_007/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_007/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_007/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_007/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_008/setup.sh b/tasks/free_text_acme_lqls_008/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_008/setup.sh +++ b/tasks/free_text_acme_lqls_008/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_008/task.yaml b/tasks/free_text_acme_lqls_008/task.yaml index 42d3dba3..5a479451 100644 --- a/tasks/free_text_acme_lqls_008/task.yaml +++ b/tasks/free_text_acme_lqls_008/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_008/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_008/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_008/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_008/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_008/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_009/setup.sh b/tasks/free_text_acme_lqls_009/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_009/setup.sh +++ b/tasks/free_text_acme_lqls_009/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_009/task.yaml b/tasks/free_text_acme_lqls_009/task.yaml index 1eb9aa26..6afedb9d 100644 --- a/tasks/free_text_acme_lqls_009/task.yaml +++ b/tasks/free_text_acme_lqls_009/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_009/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_009/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_009/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_009/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_009/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_010/setup.sh b/tasks/free_text_acme_lqls_010/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_010/setup.sh +++ b/tasks/free_text_acme_lqls_010/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_010/task.yaml b/tasks/free_text_acme_lqls_010/task.yaml index c231069e..0c1d3f16 100644 --- a/tasks/free_text_acme_lqls_010/task.yaml +++ b/tasks/free_text_acme_lqls_010/task.yaml @@ -25,9 +25,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_010/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_010/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_010/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_010/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_010/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_011/setup.sh b/tasks/free_text_acme_lqls_011/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_011/setup.sh +++ b/tasks/free_text_acme_lqls_011/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_011/task.yaml b/tasks/free_text_acme_lqls_011/task.yaml index 25a1cf0e..f07b7a87 100644 --- a/tasks/free_text_acme_lqls_011/task.yaml +++ b/tasks/free_text_acme_lqls_011/task.yaml @@ -26,9 +26,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_011/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_011/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_011/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_011/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_011/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_012/setup.sh b/tasks/free_text_acme_lqls_012/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_012/setup.sh +++ b/tasks/free_text_acme_lqls_012/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_012/task.yaml b/tasks/free_text_acme_lqls_012/task.yaml index f5d9d580..39260fff 100644 --- a/tasks/free_text_acme_lqls_012/task.yaml +++ b/tasks/free_text_acme_lqls_012/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_012/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_012/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_012/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_012/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_012/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result diff --git a/tasks/free_text_acme_lqls_013/setup.sh b/tasks/free_text_acme_lqls_013/setup.sh index f0052240..d10a3048 100755 --- a/tasks/free_text_acme_lqls_013/setup.sh +++ b/tasks/free_text_acme_lqls_013/setup.sh @@ -1,2 +1,3 @@ #\!/bin/bash dbt deps +dbt run diff --git a/tasks/free_text_acme_lqls_013/task.yaml b/tasks/free_text_acme_lqls_013/task.yaml index bbcc2f20..94954e95 100644 --- a/tasks/free_text_acme_lqls_013/task.yaml +++ b/tasks/free_text_acme_lqls_013/task.yaml @@ -24,9 +24,9 @@ tags: - free-text - acme-insurance - lqls -test_setup: dbt run --select result -solution_seeds: -- table_name: result +test_setup: |- + dbt run --select result + python /scripts/fuzzy_compare.py result /seeds/solution__result.csv variants: - db_type: duckdb db_name: acme_insurance diff --git a/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql b/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql deleted file mode 100644 index 4e6a6133..00000000 --- a/tasks/free_text_acme_lqls_013/tests/AUTO_result_equality.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Define columns to compare -{% set table_name = 'result' %} - -{% set cols_to_include = [ - -] %} - -{% set cols_to_exclude = [ - -] %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - --- depends_on: {{ ref(answer_key) }} --- depends_on: {{ ref(table_name) }} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - {{ dbt_utils.test_equality( - model=ref(answer_key), - compare_model=ref(table_name), - compare_columns=cols_to_include, - exclude_columns=cols_to_exclude - ) }} -{% endif %} diff --git a/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql b/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql deleted file mode 100644 index 51015b21..00000000 --- a/tasks/free_text_acme_lqls_013/tests/AUTO_result_existence.sql +++ /dev/null @@ -1,16 +0,0 @@ -{% set table_name = 'result' %} - - - -------------------------------------- ----- DO NOT EDIT BELOW THIS LINE ---- -{% set answer_key = 'solution__' + table_name %} - -{% set table_a = adapter.get_relation(database=target.database, schema=target.schema, identifier=answer_key) %} -{% set table_b = adapter.get_relation(database=target.database, schema=target.schema, identifier=table_name) %} - -{% if table_a is none or table_b is none %} - select 1 -{% else %} - select 1 where false -{% endif %} diff --git a/tasks/free_text_acme_lqls_013/tests/fuzzy_comparison.sql b/tasks/free_text_acme_lqls_013/tests/fuzzy_comparison.sql new file mode 100644 index 00000000..ceeafc4c --- /dev/null +++ b/tasks/free_text_acme_lqls_013/tests/fuzzy_comparison.sql @@ -0,0 +1 @@ +SELECT * FROM fuzzy_match_result From 067ce23f05473d1a16b312b0eb822262136d19b2 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Thu, 12 Feb 2026 16:49:14 +1300 Subject: [PATCH 6/6] Potential fix for code scanning alert no. 18: Overly permissive file permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- scripts_python/import_sl_bench.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts_python/import_sl_bench.py b/scripts_python/import_sl_bench.py index 345ea15a..45fea61e 100644 --- a/scripts_python/import_sl_bench.py +++ b/scripts_python/import_sl_bench.py @@ -235,7 +235,7 @@ def generate_task( dbt run --select result """ (task_dir / "solution.sh").write_text(solution_sh) - os.chmod(task_dir / "solution.sh", 0o755) + os.chmod(task_dir / "solution.sh", 0o700) return True