Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  Performance Management Framework (PMF)    Customizing PMF_Ribbon.htm to add a Time combobox

Read-Only Read-Only Topic
Go
Search
Notify
Tools
Customizing PMF_Ribbon.htm to add a Time combobox
 Login/Join
 
Guru
posted
Hi,

I have two versions of a dimension, one that is three levels and one that is four levels.

The three level tree only has 100 records at the third level. The four level tree has the same 100 records for level three, but then it balloons to 14,000 records for level four.

When expanding the four level tree, it opens level one quickly, level two pretty fast, level three about 12 times slower than the other dimension and level 4... let's just say I wondered if my machine had froze before it eventually expanded.

Is there any way to improve performance on this? Can I add indexes to the DIMENSION table or something along those lines? My user was questioning why her DW would return those records very quickly but the tree was so slow.

Cheers,

Joey

This message has been edited. Last edited by: Moogle,


-WebFOCUS 8.2.01 on Windows
 
Posts: 318 | Location: Los Angeles, CA | Registered: November 15, 2005Report This Post
Master
posted Hide Post
The dimension tree which is used in a couple PMF reports, is a javascript app that comes with WebFOCUS... we have put in a request to improve the way its queries have to be cast (which is the reason for the performance issue - you have to issue 10 subqueries to get each group of 10 folders and their hundreds of children apiece). We are advising the product group. Expect results shortly. Right now it's not up to snuff for 14K records; we have another customer who's using it with 34,000 records and they are reporting a minute or two to open a level. For now if there's a way for you to use a different PMF report - there are over 120 now - to get the results you want, that might be the way to go.

thanks


Bob Jude Ferrante
Director of Business and Development
WebFOCUS Performance Management
Bob_Ferrante@ibi.com
917-339-5105

I'll take any questions about PMF - business or technical - anytime!

 
Posts: 919 | Registered: March 26, 2003Report This Post
Guru
posted Hide Post
I'm open to not using the dimension tree at all, except that the TIME dimension is so useful. I like how I can start with a default time type (IE. Yearly) and then use the Time tree to switch to Month or Week (custom time dim). I don't think there's a huge amount of value to the other trees in our setup, so if I could move away from the trees but keep the time type switching... I would.

Are there any built-in reports that let me switch the time type without the time tree? If not, what do you think of this idea:

Build a parameter launch page / frame, and pass a variable to whatever report to change the time period. I would have to figure this out, but I'm up for it, skill wise. Just want to know if it's a valid "best practices" direction to go down.

Cheers,

Joey
 
Posts: 318 | Location: Los Angeles, CA | Registered: November 15, 2005Report This Post
Master
posted Hide Post
We have considered adding a time dropdown to the Ribbon, but up until now have shied away from it due to customer feedback.

Here's one approach you might take. And it's an example of how in 10 minutes you can customize PMF to
your liking.

If this approach is appropriate for you, the file to alter is pmf_ribbon.htm.

You would want to add a dropdown to the ribbon and populate it with the values and time range keys from the Time Ranges table, and to store the selected time range in the WebFOCUS user cookie (where all PMF persisted parms are stored).

There is code already which you can use as an example in pmf_ribbon.htm to do the cookie storage, and code in pmf_lib to handle populating a dropdown with values from a table (the function populateTimeFilter (commobj, box, selectedValue, showallitem) will actually merge time ranges and time dimension values, or you could use populatelistbox() to just fill the list from the time ranges table; you will need to make sure the list contains the name (as display) and key (as value) fields.

Note that this file would have to reside in mainstreet. It's launch direct from the web server so can't be protected against deletion on upgrades. Thus you'd need to keep a backup in pmfcustom to put back after an upgrade. Make sure to doc that this needs to be done or it will get forgotten (we know that one from experience!)

hope this helps

best


Bob Jude Ferrante
Director of Business and Development
WebFOCUS Performance Management
Bob_Ferrante@ibi.com
917-339-5105

I'll take any questions about PMF - business or technical - anytime!

 
Posts: 919 | Registered: March 26, 2003Report This Post
Guru
posted Hide Post
This is very helpful and very clear. I will let my client know this is a viable alternative, albiet with some amount of development cost attached.

Cheers,

Joey
 
Posts: 318 | Location: Los Angeles, CA | Registered: November 15, 2005Report This Post
Guru
posted Hide Post
Here's an update on my progress to implement a custom combobox on the ribbon in PMF:

I modified the pmf_ribbon.htm file in the mainstreet app folder as follows:

1. add a combo to the table tags in the body section near the bottom (replace the { with < ):

{ td>
{ label for="time_combo" id="lblTimeCombo">
Time:
{ /label>
{ /td>
{ td>
{select name="time_combo" id="time_combo" class="filtercombo" size=1
style="width: 180;" onchange="change_time_level(value);">
{option value="">---------------------------{/option>
{/select>
{/td>

2. create a change_time(value) function in the javascript section near the top:

//-----------------------------------------------------------------------------------------------------------------------------//
// This function is called when the user changes the time combobox on the ribbon
function change_time_level(TIME_RANGE_ID)
{
SetIBICookieElement("WF_USER", "TIME_RANGE_ID", TIME_RANGE_ID);
alert(GetIBICookieElement("WF_USER","TIME_RANGE_ID"));
}


//-----------------------------------------------------------------------------------------------------------------------------//


3. populate the combobox with the IDs and Names/Descriptions from the TIME_RANGES table:

-add this to the docInit() function that already exists

// ccccccccccccccccccccccccccccccccccccccccccccccc
// this loads the time period combo box
var cgicommand = getWFScriptName() + "?" ;
var theFEX = buildFEX("TIME_RANGES", "TIME_RANGE_NAME", "A50", "TIME_RANGE_ID", "I11",null, null, null, null) ;
var commobj = new ibihttpxml(cgicommand, theFEX) ;
// populateListBox(commobj,time_combo,false);
customListBox(commobj,time_combo,0,"select...");
// cccccccccccccccccccccccccccccccccccccccccccccccc



Now I have an additional combobox just to the right of the Scorecard combobox, which shows all the time range names that are in PMF. If I select a particular value, it writes the time range id to the WF_USER cookie.

As I developed this, I realized that there are two time-related settings to worry about, not just the time range. I also want to control the level of Time that gets set as the BY field / Across field. For instance, if you look at the Measure 5 Periods report, it uses the time dimension tree. You can click on a yearly value, and you will get five years of data showing on the report. This has a relative time range, with 5 periods, with period being either yearly or quarterly or monthly (default time dim). Using my time range combobox, I could easily read the cookie to change to 12 rolling periods. However, that will do nothing for the period-type.

I'm starting to wonder about the two functions Bob mentioned: populateTimeFilter() VS populateListBox(). Do they both do the same thing, or does the populateTimeFilter also handle the period-type behind the scenes? I don't really want two comboboxes to handle this, although I do understand that these are two operations and they may need to be broken into two steps.

How does one control the period-type anyway? Is it something like you SET TIME_DIM_LEVEL01-03 in a particular variable?

I am also wondering about how to refresh my report after I write the time range id to the WF_USER cookie. Is there a function that maintains the state and variables during a refresh?

Hope this post is useful for others, and I'm also grateful for some answers on my two questions.

Cheers,

Joey


-WebFOCUS 8.2.01 on Windows
 
Posts: 318 | Location: Los Angeles, CA | Registered: November 15, 2005Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  Performance Management Framework (PMF)    Customizing PMF_Ribbon.htm to add a Time combobox

Copyright © 1996-2020 Information Builders