Calendar package
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
==== What is This? ==== | ==== What is This? ==== | ||
The Calendar package is a model that implements classes, making aggregation (for statistics, for example) easy. | |||
It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks, etc, you can easily (and efficiently) find data to present in a diagram or table. | It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks, etc, you can easily (and efficiently) find data to present in a diagram or table. |
Revision as of 06:05, 26 October 2023
What is This?
The Calendar package is a model that implements classes, making aggregation (for statistics, for example) easy.
It follows a common pattern with dimensions from data analysis. By prepopulating the database with days, months, years, weeks, etc, you can easily (and efficiently) find data to present in a diagram or table.
This model is cross-linked between all entities making the "conversion" between different calendar objects easy.
This package also contains views for creating, viewing, and maintaining the model content.
Download it here: CalendarPackage.modlr
Notes on Usage
- The Calendar "main class" is a Singleton. Use Calendar.SO as a short way to access the singleton object.
- For example in OCL:
Calendar.SO.Today
will return a Day object for today.
- For example in OCL:
- Use the methods in Calendar to quickly find the Day for a given date when you link new or existing data to the structure.
- There are also several helper functions to find the next/previous day, week, or month or calculate the time between them.
- For example in OCL:
Day.GetDayForDate()
returns a Day object by building a dictionary first for quick lookups.
- For example in OCL:
- Integers called Ordinals are used to have a stable way to calculate how far apart objects are in time.
Starting Up
- To create the data structure, start by using an action to create the years you want.
- Then with that, call FixupCalendar to create months and days of the calendar. You can call FixupCalendar many times without losing any data. It will simply update or correct problems.
- Weeks are a bit special. Week definitions vary in different parts of the world. Therefore, the WeekDefinition class sets the first day of the week, and weeks are then generated based on that.
- You can also define Saturday and Sunday (for example) as the "days off" every week.
- Use the country setting to define the default week definition for your users.
This page was edited more than 9 months ago on 03/26/2024. What links here