Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.regoconsulting.comPhone: 1-888-813-0444 Maximizing Queries Using Tables Advanced Data Model.

Similar presentations


Presentation on theme: "Www.regoconsulting.comPhone: 1-888-813-0444 Maximizing Queries Using Tables Advanced Data Model."— Presentation transcript:

1 Maximizing Queries Using Tables Advanced Data Model

2 High Level Overview Core Tables Time Slices Datamart Database Common Columns Table Naming Convention Object Types Where to find documentation Object Details Ideas Projects Database Details Resources Ideas Projects Baselines Master / Sub Portfolios Open Discussion! Summary

3 There are 3 main areas where data is stored Core Tables These are the production tables used for the day to day functions They include Investment, Resource, Timesheet Information Data updated in real time (Live Tables) Time Slice Tables Houses summarized data by Daily, Weekly, Bi-Weekly, Monthly, Bi-Monthly, Quarterly, Semi-Annually, Yearly views These tables are populated via a job process – Time Slice Time Slices are critical to define how much data is summarized DataMart Tables Provides Summary and Rollup Data DataMart is populated via several job processes – Rate Matrix Extraction, DataMart Extraction and Datamart Rollup 10,000 Foot View

4 Investments INV_INVESTMENTS – Main investment table that links to all of the related investment table. Resources SRM_RESOURCES is the basic resource/role table that links to all resource related tables. Timesheet Stores timesheet information and links to the resource, time entry and time period tables PRTimesheet PrTimeEntry Core Tables

5 Time and Hour metrics are stored as blobs and are unreadable in the day to day production tables. Time Slice tables open a window to this data for viewing. These views allow Clarity to group data into Weeks, Months, Quarters etc… This grouping allows for more efficient queries. Need to tell it what slice you are going after. Keep your daily slices to a minimum. Resetting Slices. Time Slice Tables

6 Time Slice Tables Slice Range Qtr Jan-14 Feb-14 Mar-14 Apr-14 May-14 Jun-14 Jul-14 Aug-14 Sep-14 Oct-14 Nov-14 Dec-14 Jan-15 Feb-15 Mar-15 Apr-15 May-15 Jun-15 Jul-15 Aug-15 Sep-15 Oct-15 Nov-15 Dec-15 Jan-16 Feb-16

7 Time Slice Tables Slice Range Qtr Jan-14 Feb-14 Mar-14 Apr-14 May-14 Jun-14 Jul-14 Aug-14 Sep-14 Oct-14 Nov-14 Dec-14 Jan-15 Feb-15 Mar-15 Apr-15 May-15 Jun-15 Jul-15 Aug-15 Sep-15 Oct-15 Nov-15 Dec-15 Jan-16 Feb-16 Rollover

8 There are five DAILY out of the box slices. These slices are used to populate the datamart and some reporting tables. #Slice Name 1DAILYRESOURCEAVAILCURVE 2DAILYRESOURCEACTCURVE 3DAILYRESOURCEESTCURVE 10DAILYRESOURCEALLOCCURVE 11DAILYRESOURCEBASECURVE Types of Slices Portions obtained from CA documentation

9 There are four MONTHLY out of the box slices. These slices are not used to populate the datamart but are used in reporting. #Slice Name 4MONTHLYRESOURCEACTCURVE 5MONTHLYRESOURCEESTCURVE 6MONTHLYRESOURCEALLOCCURVE 7MONTHLYRESOURCEAVAILCURVE Types of Slices Portions obtained from CA documentation

10 Time bucketed PM Information Weekly, monthly, quarterly and yearly time bucketed information at the OBS level Summary information about projects Project, resource and task information on a daily basis Resource information Datamart data is tied to the out of the box daily slices. Datamart historical information is limited to the time slices. Pre-Upgrade steps will clear the datamart tables. Datamart Tables

11 Common Columns IDPrimary Key CREATED_DATEDate/time record was created CREATED_BY User that created the record. Foreign key to CMN_SEC_USERS.ID LAST_UPDATED_DATEDate/time record was last updated LAST_UPDATED_BY User that updated the record. Foreign key to CMN_SEC_USERS.ID

12 DB Object Prefix Naming Convention

13 DB Object Suffix Naming Convention

14 CA Bookshelf Contains Entity Diagram and Technical Reference guide for 13.x versions One bookshelf for users. One bookshelf for admins. Also contains data model changes. Documentation

15 CMN_SEC_USERS User / Logon SRM_RESOURCES Resource Information PRJ_RESOURCES Open for Time settings RSM_SKILLS List of Skills RSM_SKILL_ASSOCIATIONS Skill to Resource link Resources Portions obtained from CA documentation

16 INV_INVESTMENTS ODF_OBJECT_CODE = idea INV_IDEAS Idea object attributes ODF_CA_IDEA Custom Idea attributes PRTask Hidden Idea Task Ideas Portions obtained from CA documentation

17 INV_INVESTMENTS Main table INV_PROJECTS Template, program PAC_MNT_PROJECTS Financial Settings ODF_CA_PROJECT Custom Project Attributes PRTeam Team Members PRTask Task Information PRAssignment Assignment Information Projects Portions obtained from CA documentation

18 PRJ_BASELINES List of all baselines Flag for current Link to investment Project / Application type PRJ_BASELINE_DETAILS Task / Assignment / Project level Baselines Portions obtained from CA documentation

19 PRJ_BASELINES Master list of all baselines in the system. Updated for 13.2 and above. PROJECT_ID = Investment ID OBJECT_TYPE = Investment Type NAME = Baseline Name CODE = Baseline Code IS_CURRENT = Current BL Flag ID = Baseline internal ID PRJ_BASELINES

20 PRJ_BASELINE_DETAILS Details of the baseline. OBJECT_TYPE Project / Application Task Team Assignment BASELINE_ID = ID from PRJ_BASELINE table. OBJECT_ID = Instance ID of object_type USAGE_SUM = Baselined Effort (Act + Remaining Effort) in seconds. COST_SUM = Baselined Cost DURATION = Effort duration PRJ_BASELINE_DETAILS

21 Select INV.CODE,INV.NAME,PB.NAME,PBD.START_DATE,PBD.FINISH_DATE,PBD.USAGE_SUM / 3600,PBD.COST_SUM,PBD.DURATION FROM INV_INVESTMENTS INV Inner Join PRJ_BASELINES PB ON PB.PROJECT_ID = INV.ID Inner Join PRJ_BASELINE_DETAILS PBD ON PBD.BASELINE_ID = PB.ID Where PBD.OBJECT_TYPE = 'PROJECT' and PB.is_current = 1 Exercise #1 – Baseline Details

22 INV_HIERARCHIES_FLAT This denormalized table stores data based on INV_HIERARCHIES. The flattened table contains parent_id and child_id entries for all descendants of a given investment parent_id that has a hierarchy. The link_source_id contains the ID of the immediate parent of the child. This table enables rapid retrieval of all descendants within a hierarchy. By examining the link_source_id, the original hierarchical order can also be retrieved. Can return Program/Master/Sub relationships. Master / Sub Portions obtained from CA documentation

23 INV_HIERARCHIES_FLAT Join to the INV_INVESTMENTS on the ID = PARENT_ID or CHILD_ID fields from the hierarchy table. Same table is used for multiple purposes. Filter for Program! INV_PROJECTS. IS_PROGRAM Reference the Investments twice Once for Master. Once for Sub. Master / Sub Portions obtained from CA documentation

24 Select MAS.NAME MasterName, MAS.CODE MasterCode, SUB.NAME SubName, SUB.CODE SubCode FROM INV_HIERARCHIES IH Inner Join INV_INVESTMENTS MAS on MAS.ID = IH.PARENT_ID Inner Join INV_PROJECTS MP on MP.PRID = MAS.ID Inner Join INV_INVESTMENTS SUB on SUB.ID = IH.CHILD_ID Inner Join INV_PROJECTS SP on SP.PRID = SUB.id Where SP.IS_PROGRAM = 0 and MP.IS_PROGRAM = 0 Order by MAS.Code Exercise #2 – Master / Sub Portions obtained from CA documentation

25 Portfolios Portions obtained from CA documentation

26 PFM_PORTFOLIOS Main table that holds all portfolios. Portfolios

27 PFM_INVESTMENTS This table contains copy of investment attributes in the context of a portfolio. Link to Investment ID is on this table. Portfolios

28 Select INV.Name, INV.Code, PP.Name PortfolioName, pp.CODE PortfolioCode From PFM_PORTFOLIOS PP, PFM_INVESTMENTS PI, INV_INVESTMENTS INV Where pi.Portfolio_id = PP.id and INV.ID = pi.investment_id Exercise #3 – Portfolio Portions obtained from CA documentation

29 Questions Contact US Contact Web Site Thank you for your time.


Download ppt "Www.regoconsulting.comPhone: 1-888-813-0444 Maximizing Queries Using Tables Advanced Data Model."

Similar presentations


Ads by Google