SQL Tutorial: Working with calendar tables
Key Takeaways
This video tutorial covers working with calendar tables in SQL Server, including building and utilizing them for easy date retrieval and simplifying queries, as well as introducing the apply operator for efficient calculations.
Full Transcript
next we will look at one of the most powerful techniques available for working with dates and sequel server the calendar table a calendar table is a table which stores date information for easy retrieval here is a calendar table with some of its columns we have an integer key which represents the date the date itself and supporting information for that day a calendar table can hold lots of interesting data and can be broken down into categories first we have general columns including columns like the date day name and whether the day is a weekend second we have calendar year information most business processes work off the calendar year so we care about things like being in the third calendar quarter or calendar year 2019 not all business processes work off a calendar year however some work off a fiscal year calendar tables let to store information for both fiscal and calendar years and where they differ finally there are specialized columns which might be important for your business but might not be important everywhere for ecommerce sites some holidays are critical so we want to store those holidays we might also store information about lunar calendars or other entries this is a table you build once and ideally never update so treat it like a warehouse dimension and make it as wide as you want building a calendar table is straightforward to find the columns you need here are a few sample columns for each day we want to include we can use the built in functions to get most of the way there don't reinvent the wheel for your calendar table look for dates dimensions or calendar tables online and adapt one of those scripts the real power here is in how calendar tables simplify queries suppose I need to plan an event and it should take place on a Saturday in April 2020 we can write a statement which returns these dates but it won't be as simple as this query the results give us back exactly the dates we need furthermore if we want to avoid scheduling our event on the first day of Passover or the day before Easter Sunday we can do this with our calendar table too if we have that holiday in our calendar table we can write a query to learn that Easter is on April 12th 2020 therefore we do not want to schedule our event for the 11th we still have three good dates before jumping into the exercises let's talk about one of my favorites T sequel operators the apply operator at its simplest apply execute a function for each row in a result set but it does so in a way which typically performs at least as well as alternative techniques we will use apply regularly one of my favorite uses of this operator is to simplify calculations in this query we calculate the start of the fiscal year as July 1st and then use that date to calculate the fiscal day of here and fiscal week of year there is much repetition here though which can lead to subtle copy/paste errors by moving fiscal year start into its own ad-hoc function we can reference it as a calculation for the other two variables making our query much simpler there are other great uses for apply but this is one of the best now that you've had a chance to see calendar tables and the apply operator in action let's jump to some exercises and work with them
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/time-series-analysis-in-sql-server at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
Next, we will look at one of the most powerful techniques available for working with dates in SQL Server: the calendar table.
A calendar table is a table which stores date information for easy retrieval. Here is a calendar table with some of its columns.
We have an integer key which represents the date, the date itself, and supporting information for that day.
A calendar table can hold lots of interesting data and can be broken into categories. First, we have general columns including columns like the date, day name, and whether the day is a weekend.
Second, we have calendar year information. Most business processes work off the calendar year, so we care about things like being in the third calendar quarter or calendar year 2019.
Not all business processes work off a calendar year, however. Some work off a fiscal year. Calendar tables let us store information for both fiscal and calendar years and where they differ.
Finally, there are specialized columns which might be important for your business but might not be important everywhere. For e-commerce sites, some holidays are critical, so we want to store those holidays. We might also store information about lunar calendars or other entries.
This is a table you build once and ideally never update, so treat it like a warehouse dimension and make it as wide as you want.
Building a calendar table is straightforward: define the columns you need. Here are a few sample columns.
For each day we want to include, we can use built-in functions to get most of the way there.
Don't reinvent the wheel for your calendar table. Look for date dimensions or calendar tables online and adapt one of those scripts.
The real power here is in how calendar tables simplify queries. Suppose I need to pl
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
More on: SQL Analytics
View skill →
🎓
Tutor Explanation
DeepCamp AI