Advanced Portlets
-
Upload
ethan-goff -
Category
Documents
-
view
43 -
download
1
description
Transcript of Advanced Portlets
www.regoconsulting.com Phone: 1-888-813-0444
Maximizing portlet function to personalize output.
Advanced Portlets
www.regoconsulting.com Phone: 1-888-813-0444
2
● This is going to be a hands on learning experience.○ Log into your own system.
● Examples for Each Portlet.○ Talk about the portlet.○ Show you how.○ Your time to code it.
● Download Code.○ NSQL Code is available online for you to copy and paste.
About This Session
www.regoconsulting.com Phone: 1-888-813-0444
3
● Common Portlets○ Grid○ Graph
● Multi-Dimensional (Time Scaled)○ Typically used to show values over time. ○ Example : Actuals by Month.
● Hierarchy○ A grid display that has a + sign to drill into that row.○ Example : Master / Sub relationship.
● Drill-Down○ A set of multiple portlets that are linked. ○ Clicking on a record on the first portlet opens a second portlet. ○ Example : A chart portlet that drills into the details of the chart slice.
Types of Portlets
www.regoconsulting.com Phone: 1-888-813-0444
4
Multi-Dimensional Portlets
www.regoconsulting.com Phone: 1-888-813-0444
5
● What is a Dimension?○ A dimension is a grouping of similar data elements from one or more
tables. For example, “Project” may be one dimension and “OBS” or “Tasks” could be other dimensions.
○ Dimensions are defined in the SELECT statement using specific syntax. First, you define a key value for the dimension and then you can define the other data elements in the dimension.
● Design○ Uses special NSQL constructs.○ Single portlet.○ Single NSQL query.
Multi-Dimensional Portlets
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
6
SELECT @SELECT:DIM:USER_DEF:IMPLIED:RESOURCE:(i.code || r.id):uniqueid@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.code:investment_code@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.id:investment_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.name:investment_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.id:resource_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.full_name:resource_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.manager_id:manager_id@,@SELECT:DIM:USER_DEF:IMPLIED:PER:s.slice_date:tp_start@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:PER:TO_CHAR(s.slice_date,'yyyy-mm-dd'):tp_start_display@, @SELECT:METRIC:USER_DEF:IMPLIED:SUM(s.slice):hours@FROM prassignment assignJOIN prj_blb_slices s ON assign.prid = s.prj_object_idJOIN prtask t ON assign.prtaskid = t.pridJOIN srm_resources r ON assign.prresourceid = r.idJOIN inv_investments i ON t.prprojectid = i.idWHERE s.slice_request_id = (Select id from prj_blb_slicerequests where request_name = 'MONTHLYRESOURCEACTCURVE' )AND s.slice > 0AND s.slice_date BETWEEN @WHERE:PARAM:USER_DEF:DATE:startdate@ AND @WHERE:PARAM:USER_DEF:DATE:enddate@AND @FILTER@GROUP BY (i.code || r.id), r.id, r.full_name, i.id, i.code, i.manager_id, i.name,s.slice_dateHAVING @HAVING_FILTER@
Multi-Dimensional : NSQL Query
Dimension 1 (Resource)
Dimension 2 (Date)
www.regoconsulting.com Phone: 1-888-813-0444
7
SELECT @SELECT:DIM:USER_DEF:IMPLIED:RESOURCE:(i.code || r.id):uniqueid@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.code:investment_code@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.id:investment_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.name:investment_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.id:resource_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.full_name:resource_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.manager_id:manager_id@,@SELECT:DIM:USER_DEF:IMPLIED:PER:s.slice_date:tp_start@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:PER:TO_CHAR(s.slice_date,'yyyy-mm-dd'):tp_start_display@, @SELECT:METRIC:USER_DEF:IMPLIED:SUM(s.slice):hours@FROM prassignment assignHAVING @HAVING_FILTER@
Multi-Dimensional : NSQL Query
www.regoconsulting.com Phone: 1-888-813-0444
8
SELECT @SELECT:DIM:USER_DEF:IMPLIED:RESOURCE:(i.code || r.id):uniqueid@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.code:investment_code@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.id:investment_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.name:investment_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.id:resource_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.full_name:resource_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.manager_id:manager_id@,@SELECT:DIM:USER_DEF:IMPLIED:PER:s.slice_date:tp_start@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:PER:TO_CHAR(s.slice_date,'yyyy-mm-dd'):tp_start_display@, @SELECT:METRIC:USER_DEF:IMPLIED:SUM(s.slice):hours@FROM prassignment assignHAVING @HAVING_FILTER@
Multi-Dimensional : NSQL Query
www.regoconsulting.com Phone: 1-888-813-0444
9
SELECT @SELECT:DIM:USER_DEF:IMPLIED:RESOURCE:(i.code || r.id):uniqueid@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.code:investment_code@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.id:investment_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.name:investment_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.id:resource_id@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.full_name:resource_name@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.manager_id:manager_id@,@SELECT:DIM:USER_DEF:IMPLIED:PER:s.slice_date:tp_start@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:PER:TO_CHAR(s.slice_date,'yyyy-mm-dd'):tp_start_display@, @SELECT:METRIC:USER_DEF:IMPLIED:SUM(s.slice):hours@FROM prassignment assignJOIN prj_blb_slices s ON assign.prid = s.prj_object_idJOIN prtask t ON assign.prtaskid = t.pridJOIN srm_resources r ON assign.prresourceid = r.idJOIN inv_investments i ON t.prprojectid = i.idWHERE s.slice_request_id = (Select id from prj_blb_slicerequests where request_name = 'MONTHLYRESOURCEACTCURVE' )AND s.slice > 0AND s.slice_date BETWEEN @WHERE:PARAM:USER_DEF:DATE:startdate@ AND @WHERE:PARAM:USER_DEF:DATE:enddate@AND @FILTER@GROUP BY (i.code || r.id), r.id, r.full_name, i.id, i.code, i.manager_id, i.name,s.slice_dateHAVING @HAVING_FILTER@
Multi-Dimensional : NSQL (Oracle)
www.regoconsulting.com Phone: 1-888-813-0444
10
SELECT @SELECT:DIM:USER_DEF:IMPLIED:RESOURCE:(i.code + r.id):uniqueid@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.code:investment_code@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.id:investment_id@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.name:investment_name@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.id:resource_id@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:r.full_name:resource_name@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RESOURCE:i.manager_id:manager_id@, @SELECT:DIM:USER_DEF:IMPLIED:PER:s.slice_date:tp_start@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:PER:CONVERT(VARCHAR(10), s.slice_date, 120):tp_start_display@, @SELECT:METRIC:USER_DEF:IMPLIED:SUM(s.slice):hours@ FROM prassignment assign JOIN prj_blb_slices s ON assign.prid = s.prj_object_id JOIN prtask t ON assign.prtaskid = t.prid JOIN srm_resources r ON assign.prresourceid = r.id JOIN inv_investments i ON t.prprojectid = i.id WHERE s.slice_request_id = (Select id from prj_blb_slicerequests where request_name = 'MONTHLYRESOURCEACTCURVE' ) AND s.slice > 0 AND s.slice_date BETWEEN @WHERE:PARAM:USER_DEF:DATE:startdate@ AND @WHERE:PARAM:USER_DEF:DATE:enddate@ AND @FILTER@ GROUP BY (i.code + r.id), r.id, r.full_name, i.id, i.code, i.manager_id, i.name,s.slice_date HAVING @HAVING_FILTER@
Multi-Dimensional : NSQL (SQL)
www.regoconsulting.com Phone: 1-888-813-0444
11
● Create a new query.○ Admin / Q ueries / New
Multi-Dimensional : Create the Query
www.regoconsulting.com Phone: 1-888-813-0444
12
● Paste the NSQL and “Save and Return”
Multi-Dimensional : Create the Query
www.regoconsulting.com Phone: 1-888-813-0444
13
● Create a new GRID portlet.
● Finish and Open to continue configuration.
Multi-Dimensional : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
14
● The Y axis needs to beset.
● Set the “stationary” columns.
Multi-Dimensional : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
15
● Add the columns. ● Data Columns at the end.● Remember to sort by the
Time Period and then byInvestment/Resource
Multi-Dimensional : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
16
● Be sure to add the date parameters to your filter. ● Assign a default value as needed. ● Save … And then go to the General tab to publish.
Multi-Dimensional : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
17
● Add the portlet to a page.
Multi-Dimensional : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
18
Questions?
www.regoconsulting.com Phone: 1-888-813-0444
19
● Log into your own environment.
● Build your NSQL Query
● Build your Grid Portlet○ Add the Dates to the filter.○ Sort by the Time Period
● Add it to a page.
Exercise #1 : Multi-Dimensional Portlet
www.regoconsulting.com Phone: 1-888-813-0444
20
Hierarchy Portlets
www.regoconsulting.com Phone: 1-888-813-0444
21
● Hierarchy○ A hierarchical query is used to display values in a hierarchical grid
portlet.
● Limitations○ The parent and child must have the same number of fields.○ The parent and child fields must be of the same data type.○ Can be single or multi-dimensional.○ NSQL needs to be optimized.
● Implementation○ Uses special NSQL constructs.○ Single portlet.○ Single NSQL query.
Hierarchy Portlets
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
22
● High level implementation steps○ Create NSQL query.○ Create Portlet.○ Configure Portlet.○ Accept praise for the cool looking portlet you just made!
• Cookies are acceptable in lieu of praise.
Hierarchy Portlets
www.regoconsulting.com Phone: 1-888-813-0444
23
SELECT @SELECT:DIM:USER_DEF:IMPLIED:PROJECT:SRC.GRID_ID:GridID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.GRID_NAME:GridName@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.HG_HAS_CHILDREN:HG_HAS_CHILDREN@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_START:GStart@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_FINISH:GFinish@,FROM ( Select INV.ID GRID_ID ,INV.name GRID_NAME ,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN ,INV.SCHEDULE_START ,INV.SCHEDULE_FINISH from INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project' AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL UNION SELECT PRT.PRID GRID_ID ,SRM.FULL_NAME GRID_NAME ,null HG_HAS_CHILDREN ,nvl(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START ,nvl(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISH from prteam PRT,srm_resources SRM,INV_INVESTMENTS INV where PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.ID AND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ ) SRCwhere@FILTER@HAVAING @HAVING_FILTER@
Hierarchy : NSQL Query
www.regoconsulting.com Phone: 1-888-813-0444
24
SELECT @SELECT:DIM:USER_DEF:IMPLIED:PROJECT:SRC.GRID_ID:GridID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.GRID_NAME:GridName@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.HG_HAS_CHILDREN:HG_HAS_CHILDREN@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_START:GStart@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_FINISH:GFinish@,FROM ( Select INV.ID GRID_ID ,INV.name GRID_NAME ,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN ,INV.SCHEDULE_START ,INV.SCHEDULE_FINISH from INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project' AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL UNION SELECT PRT.PRID GRID_ID ,SRM.FULL_NAME GRID_NAME ,null HG_HAS_CHILDREN ,nvl(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START ,nvl(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISH from prteam PRT,srm_resources SRM,INV_INVESTMENTS INV where PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.ID AND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ ) SRCwhere@FILTER@HAVAING @HAVING_FILTER@
Hierarchy : NSQL Query
Code for “Parent”
www.regoconsulting.com Phone: 1-888-813-0444
25
SELECT @SELECT:DIM:USER_DEF:IMPLIED:PROJECT:SRC.GRID_ID:GridID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.GRID_NAME:GridName@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.HG_HAS_CHILDREN:HG_HAS_CHILDREN@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_START:GStart@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_FINISH:GFinish@,FROM ( Select INV.ID GRID_ID ,INV.name GRID_NAME ,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN ,INV.SCHEDULE_START ,INV.SCHEDULE_FINISH from INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project' AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL UNION SELECT PRT.PRID GRID_ID ,SRM.FULL_NAME GRID_NAME ,null HG_HAS_CHILDREN ,nvl(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START ,nvl(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISH from prteam PRT,srm_resources SRM,INV_INVESTMENTS INV where PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.ID AND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ ) SRCwhere@FILTER@HAVAING @HAVING_FILTER@
Hierarchy : NSQL Query
Code for “Child”
www.regoconsulting.com Phone: 1-888-813-0444
26
Select INV.ID GRID_ID,INV.name GRID_NAME,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN,INV.SCHEDULE_START ,INV.SCHEDULE_FINISHfrom INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project'AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL
Hierarchy : Parent Query
www.regoconsulting.com Phone: 1-888-813-0444
27
UNION
SELECTPRT.PRID GRID_ID,SRM.FULL_NAME GRID_NAME,null GRID_HAS_CHILDRES,nvl(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START,nvl(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISHFrom prteam PRT,srm_resources SRM,INV_INVESTMENTS INVwhere PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.IDAND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@
Hierarchy : Child Query
www.regoconsulting.com Phone: 1-888-813-0444
28
SELECT @SELECT:DIM:USER_DEF:IMPLIED:PROJECT:SRC.GRID_ID:GridID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.GRID_NAME:GridName@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.HG_HAS_CHILDREN:HG_HAS_CHILDREN@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_START:GStart@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_FINISH:GFinish@FROM ( Select INV.ID GRID_ID ,INV.name GRID_NAME ,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN ,INV.SCHEDULE_START ,INV.SCHEDULE_FINISH from INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project' AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL UNION SELECT PRT.PRID GRID_ID ,SRM.FULL_NAME GRID_NAME ,1 HG_HAS_CHILDREN ,nvl(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START ,nvl(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISH from prteam PRT,srm_resources SRM,INV_INVESTMENTS INV where PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.ID AND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ ) SRCwhere@FILTER@HAVING @HAVING_FILTER@
Hierarchy : NSQL (Oracle)
www.regoconsulting.com Phone: 1-888-813-0444
29
SELECT @SELECT:DIM:USER_DEF:IMPLIED:PROJECT:SRC.GRID_ID:GridID@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.GRID_NAME:GridName@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.HG_HAS_CHILDREN:HG_HAS_CHILDREN@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_START:GStart@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:PROJECT:SRC.SCHEDULE_FINISH:GFinish@FROM ( Select INV.ID GRID_ID ,INV.name GRID_NAME ,case when (select count(*) from prteam pt where pt.prprojectid = INV.id) > 0 then INV.id else null end HG_HAS_CHILDREN ,INV.SCHEDULE_START ,INV.SCHEDULE_FINISH from INV_INVESTMENTS INV where INV.is_active = 1 and INV.ODF_OBJECT_CODE = 'project' AND @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ IS NULL UNION SELECT PRT.PRID GRID_ID ,SRM.FULL_NAME GRID_NAME ,1 HG_HAS_CHILDREN ,is_null(PRT.PRAVAILSTART,INV.schedule_start) SCHEDULE_START ,is_null(PRT.PRAVAILFINISH,INV.SCHEDULE_FINISH) SCHEDULE_FINISH from prteam PRT,srm_resources SRM,INV_INVESTMENTS INV where PRT.prresourceid = SRM.id and PRT.PRPROJECTID = INV.ID AND PRT.prprojectid = @WHERE:PARAM:USER_DEF:INTEGER:hg_row_id@ ) SRCwhere@FILTER@HAVING @HAVING_FILTER@
Hierarchy : NSQL (SQL)
www.regoconsulting.com Phone: 1-888-813-0444
30
● Create a new query.
Hierarchy : Create the Query
www.regoconsulting.com Phone: 1-888-813-0444
31
● Paste the NSQL and “Save and Return”
Hierarchy : Create the Query
www.regoconsulting.com Phone: 1-888-813-0444
32
● Create a new GRID portlet.
● Finish and Open to continue configuration.
Hierarchy : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
33
● Create a new GRID portlet.
● Finish and Open to continue configuration.
Hierarchy : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
34
● Add your fields.
● Hg_has_children not visible.
● Sort by the name.
● Save and publish.
Hierarchy : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
35
● Add the portlet to a page.
Hierarchy : Create the Portlet
www.regoconsulting.com Phone: 1-888-813-0444
36
● Log into your own environment.○ If you do not have access, please see a Rego Univeristy representative
at the back of the room.
● Build your NSQL● Build your Grid Portlet● Add it to a page.
Exercise #2 : Hierarchy Portlet
www.regoconsulting.com Phone: 1-888-813-0444
37
Questions?
www.regoconsulting.com Phone: 1-888-813-0444
38
● Multiple portlets that are linked together by clicking on a link inside one portlet.
○ Pie chart Details for the slice.
○ Grid Summary Details for the grid.
● Requires multiple queries, portlets, and at least one portlet page.
Drill-Down Portlets
www.regoconsulting.com Phone: 1-888-813-0444
39
● High level implementation steps○ Create the portlet page with link. ○ Create NSQL query for the source portlet○ Create the source portlet○ Create NSQL query for the destination portlet○ Create the destination portlet. ○ Plase both on the portlet page. ○ Add page to the menu. ○ Accept praise for the cool looking portlet you just made!
• Cake is acceptable in lieu of praise. (Cake due to the complexity)
Drill-Down Portlets
www.regoconsulting.com Phone: 1-888-813-0444
40
● Create a portlet page
● Save and Continue
Drill-Down : Portlet Page
www.regoconsulting.com Phone: 1-888-813-0444
41
● Check the “Linkable” checkbox
● Save and Continue
Drill-Down : Portlet Page
www.regoconsulting.com Phone: 1-888-813-0444
42
● On the Links tab, click on NEW to create a new link
● Save and Return● Then, click on Return, we will come back to the page next
Drill-Down : Portlet Page
www.regoconsulting.com Phone: 1-888-813-0444
43
● Click on the link you just created to view the settings
● Make note of the “Parameter Source”, APT_CUST_5040190● Save and Return● Then, click on Return, we will come back to the page later
Drill-Down : Portlet Page
www.regoconsulting.com Phone: 1-888-813-0444
44
● Create a new NSQL query○ Name – Drill Resource Manager○ ID – regou_RM
● Save and Continue
Drill-Down : Portlet #1 Query
www.regoconsulting.com Phone: 1-888-813-0444
45
● Paste the NSQL. (This is for both Oracle and SQL)SELECT @SELECT:DIM:USER_DEF:IMPLIED:RES:mgr.user_id:MGRDBID@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RES:mgr.full_name:ResourceManager@,@SELECT:DIM_PROP:USER_DEF:IMPLIED:RES:Count(*):ResourceCount@from SRM_RESOURCES SRM,SRM_RESOURCES MGRwhere srm.manager_id = mgr.user_idand @FILTER@Group by mgr.user_id, mgr.full_nameHAVING @HAVING_FILTER@
● Save and Continue
Drill-Down : Portlet #1 Query
www.regoconsulting.com Phone: 1-888-813-0444
46
● Click on the “Linking” tab
● Click on “New”
Drill-Down : Portlet #1 Query
www.regoconsulting.com Phone: 1-888-813-0444
47
● The portlet page you created earlier, “Drill Down Sample”shows in the action
● Select “Drill DownSample”
● Once you select your page, the link you made “Manager ID” shows up. We want to map it to the mgrdbid field from our query
● Save and Return● Click Return again to go back to the
queries list
Drill-Down : Portlet #1 NSQL
www.regoconsulting.com Phone: 1-888-813-0444
48
● Create a new NSQL query○ Name – Drill Resources
ID – regou_RES
● Save and Continue
Drill-Down : Portlet #2 Query
www.regoconsulting.com Phone: 1-888-813-0444
49
● Paste the NSQL. (This is for both Oracle and SQL)SELECT @SELECT:DIM:USER_DEF:IMPLIED:RES:srm.id :RESDBID@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:RES:srm.full_name:Resource_Name@from SRM_RESOURCES SRMwhere @WHERE:PARAM:XML:STRING:/data/MGRID/@value@ != APT_CUST_5040190’And srm.manager_id = @WHERE:PARAM:XML:STRING:/data/MGRID/@value@and @FILTER@HAVING @HAVING_FILTER@
● Save and Continue● Then, click Return to exit out of the query
Drill-Down : Portlet #2 NSQL
www.regoconsulting.com Phone: 1-888-813-0444
50
● Create a new grid portlet○ Name = Resource Manager
w/Drill○ ID = regou_rm_count○ Data Provider = Drill –
Resource Manager
● Click Next● Click Finish and Open
Drill-Down : Portlet #1 Design
www.regoconsulting.com Phone: 1-888-813-0444
51
● Go to the layout section.
● Add the Resource Managerand Resource Count fields
● Remove the MGRBDID
● Sort by resourcemanager
● Click Save
Drill-Down : Portlet #1 Design
www.regoconsulting.com Phone: 1-888-813-0444
52
● On the same tab, go to the “Fields” sub-page
● Click on the properties iconnext to the resourcemanager field
Drill-Down : Portlet #1 Design
www.regoconsulting.com Phone: 1-888-813-0444
53
● At the bottom, the link that you made on the query will appear
● Select “Resource Manager”
● For more fun, change the Disable Link Attribute to “resourcecount”
● Save and Return
● Save and Return again to exit this portlet
Drill-Down : Portlet #1 Design
www.regoconsulting.com Phone: 1-888-813-0444
54
● Create a new grid portlet.○ Name = Drill - Resources
ID = regou_resources○ Data Provider = Drill –
Resources
● Click Next
● Click Finish and Open
Drill-Down : Portlet #2 Design
www.regoconsulting.com Phone: 1-888-813-0444
55
● Go to the layout section
● Add the Resource_Name
● Remove the RESDBID
● Sort by resourcename
● Click Save and Return
Drill-Down : Portlet #2 Design
www.regoconsulting.com Phone: 1-888-813-0444
56
● Go to Portlet Pages and open up the “Drill Down Sample” page.
● Add the “Resource Manager w/Drill” portlet. ● Add the “Drill – Resources”
● Click Save and Return
Drill-Down : Putting it all together!
www.regoconsulting.com Phone: 1-888-813-0444
57
● Add the “Drill Down Sample” portlet page to a new link on the menu using the menu manager
● Click Save and Return
Drill-Down : Putting it all together!
www.regoconsulting.com Phone: 1-888-813-0444
58
Drill-Down : Putting it all together!
www.regoconsulting.com Phone: 1-888-813-0444
59
Drill-Down : Putting it all together!
www.regoconsulting.com Phone: 1-888-813-0444
60
● Log into your own environment.● Build your NSQL x2● Build your Grid Portlet x2● Add it to a page. ● Add page to menu.
Exercise #3 : Drill-Down Portlet
www.regoconsulting.com Phone: 1-888-813-0444
61
Questions?
www.regoconsulting.com Phone: 1-888-813-0444
62
Thank You!
Contact US888.813.0444
Email [email protected]
Web Sitewww.regoconsulting.com
Thank you for your time!