Skip to content

Mapping Multiple Airtable Date Fields to Power BI MAQ Calendar

In complex project management, a single Airtable record often contains multiple critical milestones: a Draft Due Date, a Client Review Date, and a Publish Date. When attempting to visualize these in Power BI using the Calendar Visual by MAQ Software, users encounter a structural wall: the visual accepts only one column for the “Start Date.”

If you connect your Airtable base directly, you can only display one of these milestones at a time. To see all events on a single calendar, you must transform your data architecture from a “Wide” format to a “Long” format.

The “Aha!” Solution: Dynamic Unpivoting

Section titled “The “Aha!” Solution: Dynamic Unpivoting”

The secret is not to create multiple calendar visuals, but to “unpivot” your Airtable data within Power BI’s Power Query Editor. By transforming your columns (the different dates) into rows, you create a normalized stream where every date—regardless of its original purpose—exists in a single “Event Date” column, with a secondary “Event Type” column to act as a legend or category.

First, ensure your Airtable data is accessible via the Personal Access Token (PAT) or the Web connector.

  1. In Power BI Desktop, go to Home > Get Data > Web.
  2. Enter your Airtable API URL (e.g., https://api.airtable.com/v0/appXXXXXXXX/TableName).
  3. In the HTTP Header Parameters, add:
    • Authorization: Bearer YOUR_TOKEN_HERE

Once the data is loaded, click Transform Data to open the Power Query Editor.

  1. Identify your “Anchor Columns” (e.g., Project Name, Owner, Status).
  2. Identify your “Date Columns” (e.g., Start Date, Deadline, Launch Date).
  3. Select all “Anchor Columns” by holding Ctrl.
  4. Right-click any selected header and choose Unpivot Other Columns.

This transformation changes your table schema:

Original Record Unpivoted Result (Row 1) Unpivoted Result (Row 2)
Project A Project A Project A
Start Date: 01/01 Attribute: Start Date Attribute: Deadline
Deadline: 01/05 Value: 01/01 Value: 01/05

The “Value” column will likely default to a general type. You must explicitly set this to Date.

  1. Select the “Value” column.
  2. Go to Transform > Data Type > Date.
  3. Rename “Attribute” to Milestone Type and “Value” to Event Date.

4. Configure the MAQ Software Calendar Visual

Section titled “4. Configure the MAQ Software Calendar Visual”
  1. Add the Calendar Visual by MAQ Software to your report canvas.
  2. Drag your fields into the visual’s data buckets as follows:
Visual Field Bucket Airtable Field (Post-Unpivot)
Start Date Event Date
End Date Event Date (or add a custom column for duration)
Event Title Project Name
Category Milestone Type
  1. Go to the Format pane (paint roller icon) and under Event Settings, ensure that colors are mapped to the Milestone Type values so users can distinguish between a “Review” and a “Launch” at a glance.

If you are pushing this data from Airtable to a Power BI streaming dataset or an intermediary warehouse via a webhook (e.g., Make.com or Zapier), your JSON payload must follow this flat structure to avoid complex parsing:

{
"ProjectName": "Q4 Marketing Campaign",
"MilestoneType": "Client Review",
"EventDate": "2023-11-15T09:00:00.000Z",
"RecordID": "recXXXXXXXXXXXX",
"Owner": "Jane Doe"
}
  • Null Dates: If an Airtable record has a “Launch Date” but the “Review Date” is empty, the unpivot function will naturally drop the null rows. This is usually desired, as it prevents ghost events from appearing on the calendar.
  • Time Zone Shifts: Airtable provides dates in UTC. In Power Query, use Transform > Time > Local Time if your calendar events are shifting by a day due to GMT offsets.
  • Performance: Unpivoting doubles or triples your row count (depending on how many date columns you have). For Airtable bases exceeding 50,000 records, ensure you filter out completed projects in the Source step to maintain snappy visual performance.
  • Dual-Date Events: If you have an event that spans a range (e.g., a “Testing Phase” with a Start and End), do not unpivot those two specific columns. Keep them as separate columns and map them to the Start Date and End Date buckets respectively within the visual.