Ministry Centered Technologies
PCO Manual ยป Custom Reports Wiki

Topics

  • Getting Started 6
    • An Introduction to Planning Center
    • Responding to Scheduling Emails
    • Managing Your Schedule
    • Updating Your Personal Information
    • Viewing Service Details & Files
    • Displaying Service Times
  • Setting Up 5
    • Creating A Service Type & Setting Up Dates and Times
    • Adding Items to your Plan
    • Adding People and Assigning Them To Positions
    • How to Schedule Your People
    • How to Use Songs, Arrangements & Keys
  • Account Administration 12
    • Canceling Your Account
    • Changing A Payment Method
    • Changing The Name of Your Account
    • Declined Payments or Delayed Checks
    • Enabling Extra File Storage
    • Enabling/Disabling Music Stand
    • Printing Receipts and Viewing Previous Payments
    • Changing the Primary Account Admin & Adding an Secondary Account Admin for Billing
    • Upgrading/Downgrading Your Account
    • Allowing Administrators to Delete
    • Changing Your Country
    • Locating your Organization and User ID Numbers
  • Apps 3
    • How To Install and use the Facebook App
    • iPhone App
    • Android App
  • Attachments 5
    • Adding Attachments
    • Uploading an Attachment
    • Linking to an attachment
    • Linking to iTunes or AmazonMp3
    • Linking to YouTube
  • Reporting 3
    • Custom Reports Wiki
    • Creating Reports on Frequency
    • Changing Custom Report Options
  • The Matrix 4
    • Setting Up The Matrix
    • Using The Matrix To Schedule
    • Using the Matrix Libraries Sidebar
    • Matrix Reports
  • Media 1
    • Adding and Uploading Media
  • Music Stand 4
    • Using the web-based version.
    • iPad Music Stand App
    • Annotations in Music Stand
    • Hardware for Music Stand
  • Personal Profiles 9
    • Block-Out Dates: Adding and Deleting
    • Changing Your Password
    • Setting Up Text Notifications
    • My Calendar
    • Master Calendar
    • Adding or Changing a Profile Picture
    • Forgotten Password, Login Issues and Error Message
    • Linking Accounts
    • Setting Your Scheduling Preferences
  • People 16
    • Adding a new person
    • Changing Permissions
    • Creating groups or teams for scheduling
    • Can't Add a Person - Duplicate Record Error
    • Filtering Your People
    • How to Email from the People Page
    • Print Report Options
    • Setting Up Custom Properties
    • Welcome Emails
    • Importing People using CSV files
    • Exporting a CSV File
    • Positions: Assign People Directly vs. Assign Using Custom Properties
    • Auto-scheduling
    • Setting Up Back-Up People for Positions
    • Disabling Users
    • Enabling Disabled User Accounts
  • Plans 40
    • The Plans Page (Dashboard)
    • Individual Plan Pages
    • Adding a One Time Special Service
    • Accessing Past Plans
    • Adding Notes Columns to Plans
    • Setting Up Different Teams for each Service Time
    • Changing the Replies To person for a People Category
    • Creating a New Service Type
    • Copying A Plan
    • Editing Or Deleting A Service
    • Deleting a Plan or Recovering Deleted Plans
    • Creating a Folder
    • Moving a service into another folder
    • Deleting Folders
    • Adding and Editing Times
    • Hotkeys for Plans Page
    • How to Create a New Plan
    • How to Link with iCal or Outlook 2007
    • How to Link with Google Calendar
    • Rearranging the order of a plan
    • Removing Items from Only One Plan Time
    • Scheduling A Person
    • Sending Notification Emails
    • Scheduling: Conflicts and Block-Out Dates
    • Scheduling Groups or Teams
    • Setting Up Reminder Emails
    • Adding and Editing People Categories
    • Reordering People Categories
    • Setting Up Positions
    • Setting Up or Editing Needed Positions
    • Item Note Categories
    • Adding or Editing Plan Notes & Categories
    • Resetting LIVE times
    • Setting up Ustream for Planning Center LIVE
    • Streaming and Downloading Songs in a Plan.
    • Using the Stage Layout feature
    • Commenting and Subscribing to Plan Items
    • Changing Options For Viewing a Person's Last Scheduled Date
    • Recovering Deleted Categories
    • Adding an Attachment to a plan item
  • Templates 4
    • Creating & Editing a Template
    • Editing Or Deleting A Template
    • Exporting a Template from an Existing Plan
    • Importing a Template (or Plan) to an existing plan
  • Site Settings 5
    • Site Settings
    • PCO Settings
    • Package Options
    • Billing Options
    • Attachment Types
  • Songs 15
    • Songs: An Overview
    • Adding a New Song
    • Adding Song Arrangements
    • Adding Keys to a Song Arrangement
    • Adding Attachments to Songs
    • Moving files from one arrangement to another
    • Transposing an Mp3
    • Transposing Chord Charts & Making Lyrics PDFs
    • Enabling and Disabling Downloading of MP3s
    • How to Convert to Mp3 Files in iTunes
    • Song Custom Properties
    • Filtering on the Songs Page
    • CCLI Reporting
    • SongSelect Integration
    • Preventing Charts from Shifting Using Chord Pro
  • Webinars 1
    • Webinar Schedule

Last Updated

Nov 14, 2011

Download Lesson PDF

Download Manual PDF

  • Prev: Linking to YouTube
  • Next: Creating Reports on Frequency

Custom Reports Wiki

One of the most powerful features in Planning Center Online is the ability to customize reports exactly how you want them. Customizing reports reuires a general knowledge of HTML, CSS and the Liquid Programming Language which is used to dynamically insert your data into the report. Instructions for using Liquid in Planning Center are below.

First, check out our tutorial on How To Use Custom Reports!

The Liquid Templating Language

At the center of the Planning Center Reporting process is a simple, yet powerful templating language called Liquid. Liquid is already used by some other large sites including the company who made it Shopify. Here are some helpful resources for this language:

    •    Liquid Template Language Website
    •    Liquid Template Language Usage Wiki

Report Types

There are several different reports that you can create

    •    Plan Report - The plan report adds on a single element called plan which is a Plan variable type
    •    Matrix Report - The matrix report adds on a collection of Plan variable types called plans which are the plans you have loaded in the Matrix
    •    People Report - The people report adds on a single element called people which is a Person variable type

Variable Types

Organization

  • id
  • name
  • logo_url
  • logo_thumbnail_url

Ministry (Service Type)

  • id
  • name
  • plan_item_note_categories - a collection of Ministry Category objects representing all item note categories for a ministry
  • plan_person_categories - a collection of Ministry Category objects representing all people categories for a ministry
  • plan_note_categories - a collection of Ministry Category objects representing all plan note categories for a ministry
  • parent.name - the name of the enclosing folder (add multiple levels of .parent to access more enclosing folders)

Ministry Category (Service Type Category)

  • id
  • name

Plan

  • id
  • series_title
  • plan_title
  • dates - string representation of dates (January 1 & 2, 2010)
  • ministry - a Ministry object representing the ministry (service type) that this plan is apart of
  • items - a collection of Plan Item objects representing every item in the plan
  • notes - a collection of Note objects representing every note for plan
  • plan_times - a collection of Time objects representing every plan time
  • rehearsal_times - a collection of Time objects representing every rehearsal time
  • plan_people - a collection of Plan Person objects representing everyone who has been scheduled
  • plan_people_not_declined - a collection of Plan Person objects representing everyone who has been scheduled and not declined
  • total_length - length of plan as a string represented as "mm:ss"
  • hour - number of hours in the total length (if a plan is 1hr 10 min, hour would return 1)
  • minutes - number of minutes in the total length (if a plan is 1hr 10min, minutes would return 10)
  • all_minutes - the total number of minutes in the plan (if a plan is 1hr 10 min, all_minutes would return 70)
  • seconds - number of seconds in the total length (if a plan is 1hr 10 min & 30sec, seconds would return 30)
  • updated_at - when the plan was last updated represented as a DateTime object
  • updated_by - the person who last updated this plan represented as a Person object
  • created_by - the person who created this plan represented as a Person object

    
Plan Item

  • id
  • title
  • title_for_url - URL Encoded version of title, most commonly used to generate graphics
  • description
  • details
  • is_preservice - is this a pre-service item (currently doesn't appear to be set for header items)
  • is_postservice - is this a post-service item (currently doesn't appear to be set for header items)
  • length - length of item as a string represented as "mm:ss"
  • clean_length - same as length but with ":00" removed if present
  • length_since_last_header
  • length_until_next_header
  • length_until_end
  • offset - length since start of service
  • notes - a collection of Note objects representing every note for plan
  • times - a collection of Plan Item Time objectest representing each time for this item
  • has_any_times? - let's you know if this item has been included in any of the plan times
  • item_type - a string representing which type of item this is ("Regular", "Header", "Song", "Media")
  • song - a Song object representing the song for this item
  • arrangement - an Arrangement object representing the song for this item
  • key - a Key object representing the key for this item

Plan Item Time

  • time_id - id of Time object that this relates to
  • actual_time - Time this item is planeed to occur as a DateTime object
  • actual_start - Time this item actually occured after running Planning Center LIVE as a DateTime object
  • actual_end - Time this item actually ended after running Planning Center LIVE as a DateTime object
  • actual_length - Actual length of item after running Planning Center LIVE as a string represented as "mm:ss"
  • over? - true or false based on if the actual_length after running Planning Center LIVE was longer than the planned length
  • difference - the amount of time over or under after running Planning Center LIVE as a string

Plan Person

  • position - position of this person
  • category - a Ministry Category object representing this persons category
  • person - a Person object representing this person
  • status - a string representing the person's availability ("U" for unconfirmed, "C" for confirmed, and "D" for declined)
  • service_times - a Time object representing this person's assigned plan times
  • rehearsal_times- a Time object representing this person's assigned rehearsal times

Time

  • id
  • name
  • starts_at - starting time of plan
  • ends_at - ending time of plan

Note

  • category_name - name of category note is in
  • note - actual not as string

Song

  • title
  • title
  • author
  • copyright
  • themes
  • ccli_id
  • notes

Arrangement

  • name
  • length
  • sequence
  • bpm
  • chord_chart
  • lyrics
  • music_key
  • notes

Key

  • name
  • starting
  • ending
  • to_s

Person

  • first_name
  • last_name
  • name - full name
  • addresses
  • phone_numbers
  • emails
  • notes
  • photo_url
  • photo_thumbnail_url
  • block_out_dates  - a collection of Availability objects representing every future availability option
  • future_plan_people - a collection of Plan objects representing every future confirmed or unconfirmed request
  • confirmed_future_plan_people - a collection of Plan objects representing every future confirmed request
  • custom_properties - a collection of Custom_Property objects
  • positions - a collection of Position objects
  • logged_in_at - the date and time the person last logged in to Planning Center

Address

  • street
  • city
  • state
  • zip
  • type_name

E-Mail Address

  • address
  • type_name

Phone Number

  • number
  • type_name

Availability

  • name
  • starts_at

Positions

  • category - a People Category object representing the People Category this positions belongs to
  • name

People Category

  • service_type - a Ministry object representing the Service Type this People Category belongs to
  • name

Custom_Property

  • field
  • option

Field

  • id
  • name
  • people

Option

  • id
  • name
  • people

General Variables

  • now - the current date/time
  • current_user - a Person object representing the logged in user
  • report.title - the name of the custom report

Matrix Only Variables

  • plans - a collection of Plan objects representing all Plans loaded in the Matrix
  • plan_notes_categories - a collection of all Plan Note Categories loaded in the Matrix
  • item_notes_categories - a collection of all Item Note Categories loaded in the Matrix
  • people_categories - a collection of all People Categories loaded in the Matrix
  • category_with_positions - a collection of Category objects with Positions representing all people categories
  • order_of_service_opened - true or false based on if the order of service section is expanded
  • plan_notes_opened - true or false based on if the plan notes section is expanded
  • people - a collection of People objects for each person loaded in the Matrix (1 record for each person no matter how many times they are in the Matrix)

 

Category

  • name
  • opened - true or false based on of if the Position Category is expanded
  • positions - a collection of Position objects representing all categories 

Position

  • name
  • Prev: Linking to YouTube
  • Next: Creating Reports on Frequency