Edward Hayter

Analytics Engineer | SQL | dbt | DataOps | GCP | Snowflake | Tableau | Alteryx

Ed graduated from Columbia University with a Master’s Degree in Political Science, building on a BA in Politics from the University of York. He enjoyed using R to parse and visualize survey data leading him to look for a role in data.

Ed is a dbt Certified Analytics Engineer familiar with both dbt Cloud and dbt Core. At a client, he worked within an agile engineering team completing requests on a customer data product that was used for targeted marketing. His attention to detail helped identify a code change that consolidated a field from over 2.5 million combinations down to 19,000 reducing the redundent data being sent to the 3rd party marketing company and saving the business money.

Ed has completed over 425 Alteryx Weekly Challenges and completed his Alteryx Advanced Certification within 4 months of starting to use the software. Demonstrating his drive to pick up new software and tools in the space. He enjoys helping others in the Alteryx Community with over 50 recognized solutions. For one client, Ed developed and deployed a data refresh app to allow end users to refresh their data and save the business full-time data service staff. Ed also designed best practice workflows within Alteryx that were deployed company-wide across 100s of users.

Ed likes to produce a range of dashboards for his Tableau Public accumulating over 10,000 views and 400 favourites on his profile. For a client, Ed has helped save over 8 hours of internal reporting for an HR department by delivering a combination of high-level and detail dashboards on the department's operations.

Outside of work, Ed cheers on Arsenal in the Premier League, and in his free time loves to get a game of golf in.

Blog Posts

Avatar
Tue 21 Jan 2025 | Edward Hayter
Lost in the Source: A Guide to Sources in dbt
The following blog explains what dbt sources are, how they are configured including an exhaustive list of properties options with added notes on how they function and ending on why dbt sources are important and can provide value to a business.
Avatar
Thu 16 Jan 2025 | Edward Hayter
Git Version Control Setup for dbt Cloud
In this blog, I discuss the version control configuration for a dbt project discussing the available options recommending the use of GitHub/GitLab to maximize the integrations dbt Cloud has to offer whilst allowing you to retain visibility and control of your remote repository
Avatar
Fri 17 Jan 2025 | Edward Hayter
How dbt Cloud guides a user through the basics of Version Control
dbt Cloud is a powerful tool for analysts transitioning to an engineering-like role, after all dbt Labs popularized the termn analytics engineer. One of the strong product features of dbt Cloud is how it makes version control as accessible as possible
Avatar
Wed 27 Nov 2024 | Edward Hayter
Dynamic Rename Tables in SQL with dbt and Jinja
Macro Script {% macro dynamic_rename(rename_table, source_relation) %} ... {% endmacro %} The whole macro is wrapped in the macro indicator, named, and then the arguments that it takes are specified (the table with rows for rename and the table to be renamed)
Avatar
Tue 26 Nov 2024 | Edward Hayter
Using dbt and Jinja to Write Custom SQL - Unioning Data
Revolutionizing SQL with Jinja In data preparation, consolidating multiple datasets with identical structures is a frequent task. SQL's UNION operation is commonly used to stack data from these datasets into one consolidated table
Avatar
Tue 05 Nov 2024 | Edward Hayter
dbt Command Guide
For SQL users venturing into dbt, writing models often feels intuitive. However, other aspects—like mastering dbt's Jinja macros and using the dbt Command Line Interface (CLI) effectively—can present a steeper learning curve.
Avatar
Fri 01 Nov 2024 | Edward Hayter
Whats the Difference between Arrays and Structs?
Arrays and structs are essential for understanding data organization in BigQuery. This blog will clarify what each of these structures is, how to identify them in BigQuery, and when to use them in table structures
Avatar
Tue 01 Oct 2024 | Edward Hayter
Introduction to Normalized and Denormalized Data
An awareness of database structures is important contextual knowledge for data engineering. One of the key principles when thinking about database design is normalization, an approach to organizing data
Avatar
Mon 07 Oct 2024 | Edward Hayter
Documentation with dbt
One benefit of using dbt as the tool of choice for transforming data in your data pipelines is the in-built documentation functionality. Using .yaml /.yml (YAML Ain't Markup Language), a syntax intended to be human readable compared to things like XML or HTML, we can give context to our dbt work
Avatar
Tue 10 Sep 2024 | Edward Hayter
What is CI/CD? How can Azure DevOps Help?
What is CI/CD? Continuous Integration (CI) and Continuous Deployment (CD) are two pillars of modern software development. Together, they aim to automate the processes of building, testing, and deploying code, ensuring that software is delivered more quickly and with fewer errors
Avatar
Tue 03 Sep 2024 | Edward Hayter
Unit Testing In Data Engineering (dbt's latest update)
What is Unit Testing Unit testing is rooted in software development and is aimed at maintaining quality code as a project develops and grows over time
Avatar
Fri 23 Aug 2024 | Edward Hayter
Modularizing SQL (using dbt)
The following blog introduces the principles of modularization in software engineering more generally before focusing on how these principles can be applied to SQL with the help of dbt
Avatar
Wed 21 Aug 2024 | Edward Hayter
Connecting dbt to Microsoft SQL Server
Introduction During my initial learning of dbt, I connected to a Snowflake Instance to complete the DBT Fundamentals Course and other personal projects. These included resolving Preppin Data Challenges and completing an internal SQL Hackathon
Avatar
Tue 13 Aug 2024 | Edward Hayter
How to Setup a Data Extraction Python Project?
I have started a project where I want to extract source data for a Customer Relations Management (CRM) software and load the raw data into Snowflake for transformation and then reporting. What I found a bit intimidating starting on this project was the blank Python project
Avatar
Thu 01 Aug 2024 | Edward Hayter
Creating a Chart Swap Toggle in Power BI Using Bookmarks
This guide will walk you through the process of creating a chart swap toggle in Power BI using bookmarks. The process is broken down into two main parts: building the bookmark infrastructure and associating the bookmarks with specific displays. Table of Contents 1. Setting Up Bookmarks 2
Avatar
Fri 02 Jun 2023 | Edward Hayter
Dashboard Week Review
I thought I would write a final training blog collating my Dashboard Week efforts into a final dashboard - giving them a rating, things I liked about them and things to improve
Avatar
Fri 02 Jun 2023 | Edward Hayter
Dashboard Week Finale: Boybands
The challenge today was fairly simple make a dashboard using the data from the pudding boyband database, the catch was that we had to have it finished and published by 1pm in time to watch DS39's Client Presentation (4 hours if you worked through lunch)
Avatar
Thu 01 Jun 2023 | Edward Hayter
Dashboard Week Day 3: NASA API
Day 3 of Dashboard Week was relatively broad in options. We could select a NASA API of our choice and make a Dashboard from the data in either Tableau, PowerBI or Alteryx with app configurations that returned rendered reports and interactive charts
Avatar
Wed 31 May 2023 | Edward Hayter
Dashboard Week Day 2 PowerBI
The task for today was to recreate a Tableau Dashboard in PowerBI. I opted for Robbin Vernooij's Alteryx Community Contribution Tracker. It consists of a landing page and a profile deep dive which can be accessed by selecting a person on the landing page
Avatar
Wed 31 May 2023 | Edward Hayter
Drop Down App Filter in Alteryx
Dashboard week kicked off with the need to create an app that filtered data on a selected date and area along with filtering to a specific type of crime. This blog focuses on the last requirement as without noticing you can leave a flaw in your app
Avatar
Tue 30 May 2023 | Edward Hayter
Dashboard Week Day 1 Crime Data
For Day 1 of Dashboard Week we were given some data and tasked with making an app, an accompanying high level dashboard and a blog reflecting on the work by 3:30pm (A busy start to the week!). Preparing the Data The first step in my analysis was to prepare the data
Avatar
Tue 30 May 2023 | Edward Hayter
Reflections/Advice for Alteryx Advanced Certification
Last week in my penultimate week of training I set aside some time to complete Alteryx Advanced. I am happy to report that I passed and I thought it would be useful to add some reflections/recommendations for future test-takers
Avatar
Thu 25 May 2023 | Edward Hayter
Spatial Tool in Alteryx Pt. 2
We got up to smooth in the previous blog discussing the spatial tools in Alteryx and this blog will pick up from there
Avatar
Wed 24 May 2023 | Edward Hayter
Reflecting on Goals from the Start of Training
At the start of training I set myself some goals to complete before the end of training and now that training is winding down I thought I would reflect on my performance. Goal 1: 30 Blog Posts Current status: 25 blogs completed (26 including this one)
Avatar
Tue 23 May 2023 | Edward Hayter
Spatial Palette in Alteryx Pt.1
When recapping some Alteryx we took a deep dive into the spatial tools. This blog discusses the tools, presents a use case for them and points out some handy pointers with a few. Buffer: Buffer creates a polygon surrounding an existing spatial object (point, line or polygon)
Avatar
Thu 18 May 2023 | Edward Hayter
Creating a RecordID that increases every x rows in Alteryx
Today I encountered a puzzle that I was surprised I had not encountered sooner in training. I wanted to create a recordID that only increases every x rows
Avatar
Thu 04 May 2023 | Edward Hayter
Violin Plots in Tableau
What is it? A violin plot is similar to a box plot - but instead of a box and whisker we have a probability density at particular values
Avatar
Tue 09 May 2023 | Edward Hayter
Data Dictionary Within Tableau
Throughout my time at the Data School I have certainly grown to appreciate a data dictionary explaining what some more cryptic field names actually mean
Avatar
Thu 04 May 2023 | Edward Hayter
Intro to SQL CTEs
In our 3rd SQL session we covered Common Table Expression (CTEs). We can think of CTEs as temporary tables created for use in a SQL query. We use CTEs to breakdown longer queries into a structure that is easy to logically follow and debug
Avatar
Thu 27 Apr 2023 | Edward Hayter
Building a Control Chart in Tableau with Table Calculations
A control chart can be an effective way of analyzing whether a process is being executed effectively over time. Drawing emphasis to points in time where a process is either over-performing or under-performing relative to a constant measure or relative the the rest of the dataset
Avatar
Wed 26 Apr 2023 | Edward Hayter
Web-scraping in Alteryx
We recently had a session on how to web-scrape in Alteryx and this blog is intended to outline the process of how to do it
Avatar
Thu 20 Apr 2023 | Edward Hayter
Alteryx: Assign to Groups with a particular logic
In the following blog I wanted to document encountering a problem on the Alteryx Community Discussion Boards, discuss how I went about solving it and reflect on the experience
Avatar
Thu 06 Apr 2023 | Edward Hayter
Planning and Executing a Reviz
For this blog I thought I would document my progress and try and give a fair reflection of time dedicated to the project. Identifying a Project I wanted a personal project to populate my Tableau Public and with the Master's Golf Tournament on the horizon at the time, golf was on my mind
Avatar
Thu 06 Apr 2023 | Edward Hayter
Documenting Alteryx Workflows: A Comparison
In my previous blog documenting my approach to Alteryx Challenge 313 I reflected on the benefits of documenting workflows in order to handover work and better explain what the different parts of the workflow achieve
Avatar
Mon 03 Apr 2023 | Edward Hayter
Applying Iterative Macros: Alteryx Challenge 313 Base Converter
Building out the logic for Binary The challenge asks the challenger to produce an app that will convert any Base 10 number to a base selected by an end user
Avatar
Wed 29 Mar 2023 | Edward Hayter
Make a Waterfall Chart in Tableau
Making the Chart A waterfall chart is created with a measure that can be both positive or negative broken down by a dimension or multiple. Thus to start we are going to want a measure and a dimension in the rows and columns shelves respectively
Avatar
Fri 10 Mar 2023 | Edward Hayter
Relationship Data Model - what are the noodles?
In this blog I hope to explore the relationship data model that is an option within Tableau. I will be using Alteryx workflows to try and unpack what happens when we attach two tables with "a noodle" in Tableau.
Avatar
Wed 08 Mar 2023 | Edward Hayter
Creating A Pareto Curve in Tableau
The Pareto Principle states that 80% of outcome should come from 20% of causes. This can have value in a business insights setting where in the pursuit of efficiency seeing what products contribute most to revenue
Avatar
Tue 07 Mar 2023 | Edward Hayter
Building a Control Chart to Identify Outliers
Today's blog is a breakdown of how I created a control chart with Level Of Detail (LOD) calculations.
Avatar
Thu 02 Mar 2023 | Edward Hayter
Planning A Data Prep
Yesterday Coach Carl gave us a dataset for a hypothetical bookshop and told us to produce a single Tableau Data Source ready for analysis in 40/45 minutes before turning into Client Carl. The blog explores what I drew from the exercise.
Avatar
Tue 28 Feb 2023 | Edward Hayter
Lessons Learned Climbing the Alteryx Weekly Challenge Tracker
In this blog I'd thought I'd share some lessons of my first 3 weeks of Alteryx.
Avatar
Wed 15 Feb 2023 | Edward Hayter
Logical Calculated Fields In Tableau
In today's blog I will go through the syntax for logical calculated fields in Tableau.
Avatar
Wed 22 Feb 2023 | Edward Hayter
Goals to achieve by the end of training
I want to use this blog entry to set 5 goals I would like to achieve by the end of training. Rather than make some outlandish goals I have no interest in fulfilling, I am going to eschew my politics background and aim to set some realistic goals that will help keep me accountable
Avatar
Wed 22 Feb 2023 | Edward Hayter
1st Day with Tableau Prep: What I liked and what I didn’t
I was using Alteryx today and having difficulty reading in a single excel with multiple sheets and unioning the sheets with a new field that documented the sheet name. In Tableau prep it was really straightforward in the input data step:
Avatar
Thu 16 Feb 2023 | Edward Hayter
Logic of building your first Tableau Sheet
In this blog I want to provide the fundamental knowledge for why Tableau acts the way it does. The purpose is so that new users can have a clearer vision of achieving the visualizations they want quickly
Avatar
Mon 13 Feb 2023 | Edward Hayter
Lessons Learned from the DS Library
The following blog is designed to summarize Chapter 1 of Edward R Tufte’s The Visual Display of Quantitative Information on Graphical Excellence. The chapter is then condensed into 3 key principles and then finally I give reflections on the chapter as a whole
Avatar
Thu 09 Feb 2023 | Edward Hayter
How to add rows in Tableau Prep
I walk through how to use the add rows tool in Tableau Prep
Avatar
Tue 07 Feb 2023 | Edward Hayter
The 7 Data Stories
I wanted to begin my blogging career by recording the 7 approaches to telling stories featured in an article written by Martha Kang. I think it is important to start with something fundamental that is going to underpin the technical decisions of visualizing data
Powered by The Information Lab
1st Floor, 25 Watling Street, London, EC4M 9BR
Subscribe
to our Newsletter
Get the lastest news about The Data School and application tips
Subscribe now
© 2025 The Information Lab