Tree Drill Down
Hello,
I have been following this tutorial: http://thepeninsulasedge.com/frank_nimphius/2008/05/02/adf-faces-adf-faces-tree-drilldown-example/
To get my links on my tree to work. I'm using the first method he describes.
I understand everything except the part where he mentions a managed bean:
"Next step is to create a binding of the tree component to a managed bean. The binding is used later to detect the depth of the tree, which is important for the command link to access the right setCurrentRowsWithKey action."
I don't understand how to do this, and once I make a managed bean he doesn't decribe any way to get it to store the depth of the tree.
Can anybody help explain this to me?
Thanks,
Nelson
Just to clarify the binding issue - you didn't do what I meant.
Click the tree component in the structure pane - now the property inspector (ctrl+shift+i) window will list properties of the tree. You'll find a property called binding there.
You can also assign this in code:
<af:tree value="#{bindings.RegionsCountries.treeModel}"
var="node" binding="#{faa.tree}"
partialTriggers="navList1">(Here the tree is associated with the backing bean called faa and the object tree in there.)
The tree component automatically tracks depth for you. And you can access it with a simple expression language.
For example this EL will return true or false depending if the tree level is 1 or not.
"#{beanname.tree.depth!=1}"
Similar Messages
-
A different implementation of Frank Nimphius'sADF Tree drill down example
I am using this implementation of adf tree and it works ok, but my tree is different because i want to use the command link when the node has no child and not when the node is in level 2.
So i suppose i must change the TreeManagedBean when it said :
if (getTreeHandler().getDepth()==2) {
i must write if the node has child.
For example my tree is like this:
informacion
--informacion general
--- Domicilios (*)
--- fallecidos (*)
--informacion social
--- asistencia social (*)
--- salud (*)
--- patrimonio
---- autos (*)
---- aeronaves (*)
so i want these (*) nodes appears with a command link and the other with output text, but i don't know how to ask if the node has or not child.
i use this System.out.println("Childs:"+getTreeHandler().getChildCount()); but always shows me 0.
any ideas?
thanks.Hi,
i have under my nodeStamp a commandlink with value #{node} and in rendered i type #{node.children!=null} but it shows me all the items of the tree with a link, and except the root, when and item has childs it appears not with his name instead appears with the name of the first child.... i give you an example:
This is the tree ok:
-Root
-- Nodo 1
--- item 11
--- item 12
-- Nodo 2
-- Nodo 3
--- item 31
--- item 32
--- item 33
and this what happend when i put in rendered property of commandlink: #{node.children!=null}
the tree appears like this:
-Root
-- item 11 (instead of Node 1 it shows the name of the first child)
--- item 11
--- item 12
-- Nodo 2
-- item 31 (instead of Node 3 it shows the name of the first child)
--- item 31
--- item 32
--- item 33
why is that happening?, i don't understand.... and i don't know how to do it right
if you could help me , please
thanks a lot. -
Drill down to specific topic on TOC?
Is it possible to have the Navigator display a specific topic when that topic is displayed via showTopic? In other words, I have default to docking set to true, and I call up a specific topic via showTopic. I don't want just my generic TOC displayed; I want the tree drilled down to the specific topic on the TOC.
Can I do this?
ChrisHi Chris,
The table of contents is automatically kept in sync with the active topic window. In docked mode, if you call showTopic(), in theory the table of contents should automatically expand to the displayed topic (assuming there is a table of contents item that maps to the same topic-id or URL). Is this not what you are seeing?
Jeffrey Stephenson
Oracle Help Technologies -
Hi gurus,
This is regarding the drill down in the Tree report.
My scenario is,
i am doing a budget variance report which displays the report in tree format.
i have texts for different nodes in the tree, along with that i have a 10 feilds which i display using fieldcat in output along with nodes.
now i want to have the drill down to the 2 of the fields, where it has to go to some transaction.
i tried with hotspot in fieldcat definition but it is not working.
please can u tell me a solution as how can i do this drill down.
thanks in advance.
u will be rewarded heavily.Hi Vipin,
You can try with following example:
*& Report ZPRG *
&--INTERACTIVE ALV REPORT PROGRAM--
&This program displays order detais for a particular customer----
REPORT zprg .
--TYPE POOLS--
TYPE-POOLS slis.
--TABLES--
TABLES : kna1, vbak.
--DATA TYPES--
TYPES : BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
netwr TYPE vbak-netwr,
END OF ty_vbak.
TYPES : BEGIN OF ty_vbap,
posnr TYPE vbap-posnr,
arktx TYPE vbap-arktx,
werks TYPE vbap-werks,
END OF ty_vbap.
--WORK AREAS--
FOR FIRST PAGE *
DATA w_fcat TYPE slis_fieldcat_alv. "Used as Header for Field Catalog
DATA w_vbak TYPE ty_vbak. "Used as Header for Data Table
DATA w_events TYPE slis_alv_event. "Used as header for Events Table
DATA w_comments TYPE slis_listheader. "Used as Header for Comments Table
SECOND PAGE *
DATA w2_fcat TYPE slis_fieldcat_alv. "Used as Header for Field Catalog
DATA w2_vbap TYPE ty_vbap. "Used as Header for Data Table
DATA w2_events TYPE slis_alv_event. "Used as header for Events Table
DATA w2_comments TYPE slis_listheader."Used as Header for Comments Table
--INTERNAL TABLES--
FOR FIRST PAGE *
DATA t_fcat TYPE slis_t_fieldcat_alv. "Table for Field Catalog
DATA t_vbak TYPE ty_vbak OCCURS 1. "Data Table
DATA t_events TYPE slis_t_event. "Table for events
DATA t_comments TYPE slis_t_listheader. "Comments table
SECOND PAGE *
DATA t2_fcat TYPE slis_t_fieldcat_alv. "Table for Field Catalog
DATA t2_vbap TYPE ty_vbap OCCURS 1. "Data Table
DATA t2_events TYPE slis_t_event. "Table for events
DATA t2_comments TYPE slis_t_listheader. "Comments table
*****************VIPIN: START*****************************
DATA: V_REPID LIKE SY-REPID.
V_REPID = SY-REPID.
*****************VIPIN: END*******************************
--SELECTION SCREEN--
PARAMETERS p_custno TYPE kna1-kunnr.
--FILLING FIELD CATALOG--
FOR FIRST PAGE *
w_fcat-col_pos = 1.
w_fcat-fieldname = 'VBELN'.
w_fcat-seltext_m = 'ORDER NUMBER'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'ERDAT'.
w_fcat-seltext_m = 'ORDER DATE'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'NETWR'.
w_fcat-seltext_m = 'ORDER VALUE'.
APPEND w_fcat TO t_fcat.
SECOND PAGE *
w2_fcat-col_pos = 1.
w2_fcat-fieldname = 'POSNR'.
w2_fcat-seltext_m = 'ITEM NUMBER'.
APPEND w2_fcat TO t2_fcat.
w2_fcat-col_pos = 2.
w2_fcat-fieldname = 'ARKTX'.
w2_fcat-seltext_m = 'ITEM DESCRIPTION'.
APPEND w2_fcat TO t2_fcat.
w2_fcat-col_pos = 3.
w2_fcat-fieldname = 'WERKS'.
w2_fcat-seltext_m = 'PLANT'.
APPEND w2_fcat TO t2_fcat.
--FILLING DATA TABLE--
FOR FIRST PAGE *
SELECT vbeln
erdat
netwr
FROM vbak
INTO TABLE t_vbak
WHERE kunnr = p_custno.
SORT t_vbak BY vbeln.
SECOND PAGE *
DATA FOR 2ND PAGE IS FILLED IN THE SUBROUTINE HANDLING USER_COMMAND *
--FILLING EVENTS TABLE--
w_events-name = 'TOP_OF_PAGE'.
w_events-form = 'SUB1'.
APPEND w_events TO t_events.
w_events-name = 'USER_COMMAND'.
w_events-form = 'SUB2'.
APPEND w_events TO t_events.
--FILLING COMMENTS TABLE--
w_comments-typ = 'H'.
w_comments-info = 'CUSTOMER ORDER INFORMATION'.
APPEND w_comments TO t_comments.
w_comments-typ = 'S'.
w_comments-key = 'Sold To Party'.
w_comments-info = p_custno.
APPEND w_comments TO t_comments.
-----PASSING FIELD CATALOG AND THE DATA TABLE TO THE FUNCTION-----
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = t_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = t_events
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t_vbak
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Subroutine for the Event TOP_OF_PAGE
FORM sub1 .
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_comments
i_logo = 'COMPANY LOGO'
I_END_OF_LIST_GRID =
ENDFORM. " sub1
Subroutine for the Event USER_COMMAND
Here u_comm contains the function code of the selected function
and slis_field is a structure containing cursor information
FORM sub2 USING u_comm LIKE sy-ucomm rs_field TYPE slis_selfield.
CASE u_comm.
WHEN '&IC1'.
IF rs_field-fieldname = 'VBELN'.
SELECT posnr
arktx
werks
FROM vbap INTO TABLE t2_vbap WHERE vbeln = rs_field-value.
ENDIF.
ENDCASE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = t2_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t2_vbap.
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "sub2 -
Drill down hide/show report on same page
Hi,
Is it possible to create a drill down report where instead of linking to new pages, the details can be displayed using hide/show buttons on the relevant columns? For example, if you have the following fields:
Region
Country
Division
Account
Order
Product ID
Product Price
Would it be possible to ,by default, have the report only show distinct regions. By clicking an expand button on a particular region, it's countries are displayed. By clicking an expand button on a country, its divisions are displayed,etc., eventually being able to drill down to order details.
This seems similar to a tree to me, although I have not used trees before. However, from the way I understand the structure of hierarchy in trees, the way this data is structured it would not be possible through a tree.
Any ideas? If not I can just settle on a standard drill down report with links to new pages, but if the above is possible it would work much better for my users.
ThanksFJW,
Yes, it's possible. We typically refer people to this demo from Carl to get an idea of how it can be accomplished:
http://htmldb.oracle.com/pls/otn/f?p=11933:13
Regards,
Dan
http://danielmcghan.us
http://sourceforge.net/projects/tapigen -
Problem with drill down on hierarchy with data on diffrent levels
Hello,
Im working on a project using oracle bi 10.1.3.4.1, and im kinda stuck with some problems.
I have a transaction table in which i have data about products, something like :
prod_id
amount1
amount2
and a product hierarchy which is something like:
prod_id
prod_name
parent_id
since bi doesnt support hierarchies, i had to faltten the hier table to somehing like this:
prod_id
lvl1_prod_id
lvl2_prod_id
lvl3_prod_id
lvl4_prod_id
and use this as my hierarchy in oracle bi. thus when i drill to lvl3, it will find all the products which are decendents of lvl3 value and group them.
the problem is, that the hier tree is not even, one product data (in transaction table) can be for lvl4 and another for lvl2. so for a lvl2 product id's in level 3 and 4 will be null.
when i try to drill to lvl 4, it takes all the rows which have the selected value in column lvl4 and group them, and if lvl 4 is null, it would sum up all the rows that have no parent at lvl4...
i hope you understand... cause it is a bit complicated..
anyway i would eventually like to add a filter of != null to the column being drilled down.
but how do i know which column is it?
i cant add a != null filter to all the columns since most if not all of them will have null in some lvl (lvl 10 or so).
one suggested solution was to make a report for each lvl with the !=null filter on the report lvl, and use navigate instead of drilldown... but that would mean i have to make 10 reports for each "real" report... a big problem to maintain.
hope i was clear enough, any suggestions?
thanks a lot!Hi Ingo,
Thanks for your reply. If I combine two objects in one objects then I cannot use that object for drill down in my report.
I want to drill down for both Key and Text. -
Report Designer drill down issue
Hi Friends,
I am having an issue with report designer.When i run the report designer the characteristics are getting displayed in drill down form for each row of values.Is there any way to restrict this. i want to display the header part in tabular view.
Thanks in advance.
Mandadi.Hi Srikanth,
In Report designer output i'm getting the header part as drill down which i dont want.
i want the output in the following format
header1 header2 header3 value
xxxx abc efg 10
yyyy cfg tre 20
but i'm getting in the drill down format as follows
xxxx
abc
efg 10
yyyy
cfg
tre 20
Thanks
Mandadi -
Hierarchy (Parent-Child) drill-down report
Good morning,
I use Crystal Reports v12.3.0.601 & backend is Oracle - And I am a beginner.
Attached JPG details my question/ problem - Thank you for your time.
Regards,
Sridhar LamHi Abilash,
I tried what you suggested...it returns the entire tree stucture. (returns ALL folder structure with indent....runs into hundreds of pages)
The problem I face is that...for a specific folder 'D7'...I need the structure....
(possibly a drill-down or drill-up structure or both if it is in the middle of the tree structure)
Let me explain....
My question is not that simple:
1. If I am given a FOLDER_RSN = D7 (could be any...but I am picking one as required by my business here)
2. Objective is to display drill-down/ drill-up/ or both structure of D7
Scenarios:
a. D7 could be a top-node parent
b. D7 could be a sub-parent under top-node parent.
c. D7 could be a sub-parent under another sub-parent
I would prefer a SQL statement referring the image...makes it easy to solve !!!
Thank you,
Regards,
Sridhar Lam -
Heirarchical Drill Down Reports
I went to a contract interview yesterday where the client asked if I could reproduce the heirarchical drill down features they currently have in MS SQL Reporting Services. The design they showed me was where there was a plus sign by each row and when you clicked it, it opened a subsection with additinoal detail. If you then clicked on the minus , it closed the subsection.
I told the interviewers that I could use a dynamic subreport with a link from the main report page, but they did not seem impressed, wanting all the detail on the same page and my sample report created a second preview page for the subreport. Any ideas or suggestions would be appreciated.
Fuskie
Who adds that he was just offered the contract, so any suggestions you might have would make his new masters very happy...Fuskie,
I can't see this really happening in CR. You could create a + symbol in the GH for a visual effect but if the user clicks anywhere in the GH it will drill down with a new page. Closing that page by clicking on anything other than the x will prove very difficult.
You could however export (or schedule) a repot to PDF and select the create Create bookmarks from grouptree option. Then in adobe they can browse via the group tree + or - icons
or
Export to Excel Data only and enable the Show Group Outlines option -
Drill-down reports Discoverer-style
Hi,
I'm looking for a way to implement drill-down reports in HTMLDB. All the references I found are showing details in a 2nd page for a certain row in the 1st page (e.g. ordered items for an order ID).
I'm not looking for this, but for drill-down "a la Discoverer", such as this example
http://www.oracle.com/technology/obe/obe_bi/discoverer/discoverer_1012/viewer/lesson1.htm#t7
One can select there multiple criterias for drill down.
Perhaps the solution would be a combination of tree reports with standard reports
http://www.oracle.com/technology/products/database/htmldb/howtos/howto_tree.html
but I don't see clearly how to do it, especially with a lot of drill-down options.
Do you have any suggestions?
Many thanks,
MariusI think there are two differen approaches:
- using the HTML report and doing some "dynamic" SQL at the block level
(That means you have to write the drill down - this is the logic that
is done by the tree - by yourself)
If you ever have done the work to do this in combination with a HTML DB report,
please post it here.
- using the a Tree Page with a special layout and view
Which one to use depends on how often you have to use this.
You can see an example under:
http://htmldb.oracle.com/pls/otn/f?p=41053:30
Here is a quick hack for the Tree Page variant, that may help you.
Using a Tree page uning a view and changing the tree template gives you some of
this functionality. If you have to do more of this kind use a stylesheet (.css) to
controll the layout.
1. Create a View that represents your Hierarchy (Structure)
For every level create a UNION secion.
Using UNION you can get the records from different sources also.
2. Create a Page with a Tree, SQL Query Based.
Use the View that you created before.
NAME .. are the levels of your dimensions
A1, A2 .. are your measures of your fact
ID, PID .. the hierarchy (structure) information
* Step 1 - creating a view:
create or replace view tree as
select id, pid, name, link, a1, a2
from (
-- Level 1 (Root Level)
select
to_char(ORDER_TIMESTAMP,'YYYY') id, null pid,
to_char(ORDER_TIMESTAMP,'YYYY') name, null link,
to_char(sum(ORDER_TOTAL),'999G9990D99') a1, to_char(count(*),'999G9990D99') a2
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'YYYY')
UNION
-- Level 2
select
to_char(ORDER_TIMESTAMP,'YYYYMM'), to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'Month'), null,
to_char(sum(ORDER_TOTAL),'999G9990D99'), to_char(count(*),'999G9990D99')
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYYMM'), to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'Month')
UNION
-- Level 3 (Leaf Level)
select
to_char(ORDER_TIMESTAMP,'YYYYMMDD'), to_char(ORDER_TIMESTAMP,'YYYYMM'),
to_char(ORDER_TIMESTAMP,'DD. Day'), null,
to_char(sum(ORDER_TOTAL),'999G9990D99'), to_char(count(*),'999G9990D99')
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYYMMDD'), to_char(ORDER_TIMESTAMP,'YYYYMM'),
to_char(ORDER_TIMESTAMP,'DD. Day')
)If you have a lot of this kind of reports you realy should think to
use discoverer. It does a lot of sql behind the szenes and also in the
presentation logic - this is what you have to do here by hand.
If you have more than two measures (A1,A2) you can do the
formatting in your view (realy ugly, but it is a workaround).
* Step 2: Create the tree page
Tree Query:
select
"ID" id, "PID" pid, "NAME" name,
null link, a1 a1, a2 a2
from TREEBefore Tree:
<table border="0" cellspacing="0" cellpadding="0">After Tree:
</table>Leaf Node:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" align="left">
</td>Leaf Node Last:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" align="left">
</td>Drill Up:
(up)Indent Vertical Line:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" > </td>Indent Vertical Line Last:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" > </td>Unexpanded Parent:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" >
< a href="#DRILL_DOWN#">
< img src="#IMAGE_PREFIX#rollup_plus_dgray.gif" width="16" height="22" border="0">
< /a>
</td>Unexpanded Parent Last:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" >
< a href="#DRILL_DOWN#">
< img src="#IMAGE_PREFIX#rollup_plus_dgray.gif" width="16" height="22" border="0">
< /a>
</td>Expanded Parent:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" >
< a href="#DRILL_DOWN#">
< img src="#IMAGE_PREFIX#rollup_minus_dgray.gif" width="16" height="22" border="0">
< /a>
</td>Expanded Parent Last:
<td style="background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #cece9c #9c9b64 #cece9c;
border-width:1px 0px 1px 0px;" >
< a href="#DRILL_DOWN#">
< img src="#IMAGE_PREFIX#rollup_minus_dgray.gif" width="16" height="22" border="0">
< /a>
</td>Parent Node Template:
<tr>#INDENT#
<td style="color:#00319c; background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #9c9b64 #9c9b64 #cece9c;
border-width:1px 1px 1px 0px;" colspan="#COLSPAN#"
valign="CENTER" class="tiny">#NAME#</td>
<td align="right" style="background:#f7f7e7;">#A1#</td>
<td align="right" style="background:#f7f7e7;">#A2#</td>
#DRILL_UP#
</tr>Node Text Template:
<tr>#INDENT#
<td style="color:#00319c; background:#cece9c;
border-style:solid;
border-color:#f7f7e7 #9c9b64 #9c9b64 #cece9c;
border-width:1px 1px 1px 0px;" colspan="#COLSPAN#"
valign="CENTER" class="tiny">#NAME#</td>
<td align="right" style="background:#f7f7e7;">#A1#</td>
<td align="right" style="background:#f7f7e7;">#A2#</td>
</tr>Name Link Anchor Tag:
< a href="#LINK#">#NAME#</a>Name Link Not Anchor Tag:
#NAME#* Extended Version of the View. Use this style of query if you have more than two measures:
create or replace view tree as
select id, pid, name, link,
'<table border="0" cellspacing="0" cellpadding="0" style="background:#f7f7e7;">'||
case when rownum = 1
then '<tr style="background:#cece9c;">'||
'<th style="border-style:solid; border-color:#cece9c #9c9b64 #9c9b64 #f7f7e7; border-width:0px 1px 1px 1px;">Amount</th>'||
'<th style="border-style:solid; border-color:#cece9c #9c9b64 #9c9b64 #f7f7e7; border-width:0px 1px 1px 1px;">Orders</th>'||
'<th style="border-style:solid; border-color:#cece9c #9c9b64 #9c9b64 #f7f7e7; border-width:0px 1px 1px 1px;">Measure</th>'||
'<th style="border-style:solid; border-color:#cece9c #9c9b64 #9c9b64 #f7f7e7; border-width:0px 1px 1px 1px;">Measure</th>'||
'</tr>'
end||
case
when lvl = 2 then '<tr style="color:#000088;">'
when lvl = 3 then '<tr style="color:#888888;">'
else '<tr>'
end ||
'<td align="right" width="80px" height="24px" style="background:#f7f7e7; border-style:solid; border-color:#9c9b64 #9c9b64 #f7f7e7 #f7f7e7; border-width:1px 1px 0px 0px;">'||
to_char(a1,'999G9990D99')||'</td>'||
'<td align="right" width="80px" height="24px" style="background:#f7f7e7; border-style:solid; border-color:#9c9b64 #9c9b64 #f7f7e7 #f7f7e7; border-width:1px 1px 0px 0px;">'||
to_char(a2,'999G9990D99')||'</td>'||
'<td align="right" width="80px" height="24px" style="background:#f7f7e7; border-style:solid; border-color:#9c9b64 #9c9b64 #f7f7e7 #f7f7e7; border-width:1px 1px 0px 0px;">'||
to_char(a3,'999G9990D99')||'</td>'||
'<td align="right" width="80px" height="24px" style="background:#f7f7e7; border-style:solid; border-color:#9c9b64 #9c9b64 #f7f7e7 #f7f7e7; border-width:1px 1px 0px 0px;">'||
to_char(a4,'999G9990D99')||'</td>'||
'</tr>'||
'</table>' a1, null a2
from (
-- Level 1 (Root Level)
select
1 lvl, to_char(ORDER_TIMESTAMP,'YYYY') id, null pid,
to_char(ORDER_TIMESTAMP,'YYYY') name, null link,
sum(ORDER_TOTAL) a1, count(*) a2,
count(*)*10 a3, count(*)*100 a4
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'YYYY')
UNION
-- Level 2
select
2, to_char(ORDER_TIMESTAMP,'YYYYMM'), to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'Month'), null,
sum(ORDER_TOTAL), count(*),
count(*)*10, count(*)*100
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYYMM'), to_char(ORDER_TIMESTAMP,'YYYY'),
to_char(ORDER_TIMESTAMP,'Month')
UNION
-- Level 3 (Leaf Level)
select
3, to_char(ORDER_TIMESTAMP,'YYYYMMDD'), to_char(ORDER_TIMESTAMP,'YYYYMM'),
to_char(ORDER_TIMESTAMP,'DD. Day'), null,
sum(ORDER_TOTAL), count(*),
count(*)*10, count(*)*100
from DEMO_ORDERS
group by
to_char(ORDER_TIMESTAMP,'YYYYMMDD'), to_char(ORDER_TIMESTAMP,'YYYYMM'),
to_char(ORDER_TIMESTAMP,'DD. Day')
)If you use stylesheets the above query will be more suitable.
See also:
Expand/Collpase Lists
Hope that helps, Willi -
Hi,
Is there any way to display the drill down in webi report. For example:
YearQuarterMonth--Week.......
if the drill the Year option I can able to see all Quarter level measures and if I drill down further I can get into Month level measures and Week level and so on .
But my question is When I drill the Year to Quarter...I want it to display both Year and Quarter and If I drill down further
I want all the measures related to Year ,Quarter, Month and so on
Basically want I need is a tree level hierarchy......Could any one plz help me what all changes I need to make in order to get a detailed report.
Thanks
Sushma
Edited by: Sushma Reddy on Feb 9, 2010 9:44 PMHi,
Try to create a Class e.g Time in universe and objects to that class as year, quarter,month as
Year Object -> data type -> D/N
select To_date('sysdate','YYYY) as year from dual
Month object-> data type -> D/N
select to_date)'sysdate','MM') as month from dual;
Quarter -> data type -> D/N
case when @select(Time/Month) in (1,2,3) then q1
when @select(Time/Month) in (4,5,6) then q2
when @select(Time/Month) in (7,8,9) then q4
when @select(Time/Month) in (10,11,12) then q4
endcase
Then create a hierarch in tools -> hiearchy ->custom hierarchy and add the above class there then in any report (Deski/WebI)
you will get the above hierarchy and use it according to your requirement.
Cheers,
Suresh Aluri. -
Manager - Sales-rep drill down report
[code]
SELECT
FSU.parentsystemuseridname AS Manager
, FSU.fullname AS 'Sales Rep'
, FSU3.fullname AS 'Level 3'
FROM FilteredSystemUser AS FSU
LEFT JOIN FilteredSystemUser AS FSU3
ON FSU.fullname = FSU3.parentsystemuseridname
[\/code]
There are multiple levels in the hierarchy but i am showing 3 levels only in the sample query above. I am trying to create a drill down SSRS report which shows the hierarchy. It works fine with a small problem.
Problem:
1.) Manager is a sales rep himself so in the "sales rep " column manager should be shown along with his associates with a null value for the "Level 3 " column.
2.) In the same way Sales rep should also be present along with his associates in "Level 3 " column.
Please help me with your ideas for the query. Thanks in advance.
Oracle 11g database.Hi,
If you can show what you need to do using commonly available tables, such as those in the scott schema, then you don't need to post any sample data; just the results you want from the given data, and an explanation of how you get those results from that data.
For example, using the scott.emp table (where the relevant raw data, which you can get from this query:
SELECT empno, ename, mgr
FROM scott.emp
ORDER BY empno;
is
EMPNO ENAME MGR
7369 SMITH 7902
7499 ALLEN 7698
7521 WARD 7698
7566 JONES 7839
7654 MARTIN 7698
7698 BLAKE 7839
7782 CLARK 7839
7788 SCOTT 7566
7839 KING
7844 TURNER 7698
7876 ADAMS 7788
7900 JAMES 7698
7902 FORD 7566
7934 MILLER 7782
that is:
KING is the parent of JONES, BLAKE and CLARK,
JONES is the parent of SCOTT and FORD, and
SCOTT is the parent of ADAMS, and
you can get output like this:
CHAIN_O_COMMAND
KING
KING JONES
KING JONES SCOTT
KING JONES SCOTT ADAMS
KING JONES FORD
KING JONES FORD SMITH
KING BLAKE
KING BLAKE ALLEN
KING BLAKE WARD
KING BLAKE MARTIN
KING BLAKE TURNER
KING BLAKE JAMES
KING CLARK
KING CLARK MILLER
using a query like this:
SELECT REPLACE ( SYS_CONNECT_BY_PATH ( RPAD (ename, 10)
) AS chain_o_command
FROM scott.emp
START WITH mgr IS NULL
CONNECT BY mgr = PRIOR empno
Notice that the result set only has 1 long column, but it's formatted to look like multiple short columns. That's because the number of columns in the result set must be hard-coded in the query. If you don't know how many columns you'll need (because you don't know how many levels will be in the tree) this is one way to avoid dynamic SQL. -
Webi report on OLAP Bex query - Cost element Hierarchy not working Drill down
Hello,
We have a BO report on Bex query, Not on universe, we have a Hierarchy for Cost Element Group, and we are expecting the Drill down functionality for that in BO report, but it does not.
Webi report on OLAP Bex query - Cost element Hierarchy not working Drill down
Any pointers how to do it please
Thanks
KrishnaHi,
WebI reports on BEx source don't use same Drill feature as other sources, it's replaced by expland/collapse of hierarchy nodes (documented in WebI user guide in § "24.1 Drill defined"). This means you have to create query which selects all hierarchy sub-tree you plan on exploring later in report, otherwise if no data is available under a node there will be no '+/-' sign to visit this part of tree.
You could try first to select "All members" from hierarchy in QueryPanel and see if behavior in report suits your needs. Then you should restrict hierarchy member selection to what's really needed to avoid performance issues.
Regards,
Loic -
I'm trying to create a drill down report where, if the user clicks on an item in the group tree it will show the information for that and only that item
I've created my report as a "standard report" because the "Drill down" option was not available in .NET2005 or my Crystal Reports 9 developer edition
Right now I have a group structure that looks like this:
Day
Order Number
Right now when I click on it; it brings me to the Group Details section and shows all the data, I want it to show the data for that Order Number
I've been looking into the formulas and "DrillDownGroupLevel" always returns 0 no matter what I click on in the group tree, I'm guessing because I don't have drill down setup for the group(I don't know how)?Can you satisfy this requirement using cascading prompts? Your requirement sounds best suited for this functionality.
-
Reporting Services Error after Interactive sorting and drill down in pps
Hi
i have a report that has a drill down option that shows all workgroups within a specific parent group and an interactive sorting ass well on both columns parent group & workgroup
This is displayed in pps combined with a SharePoint
---the problem is that after sorting the parent group column by name i then press the drill through icon (+) next to it hopping to see all workgroups related to each parent group
- but instead
i receive this Reporting Services Error :
The value for parameter 'SortItem' is not specified. It is either missing from the function call, or it is set to null. (rsMissingParameter) Get
Online Help
If I don't press the sorting and just drill through it works fine. the sorting itself also works fine.
any suggestions ?
Hi Hyaron,
I am unable to reproduce the issue in my test environment. How did you add the drilldown feature? Were you doing that by setting visibility of the column or of the group? Please ensure to add the drilldown functionality by set the visibility of the workgroup
from the Grouping Pane in the Report Designer.
How did you add the Interactive Sorting on the headers of the two columns? Based on the drilldown functionality, the Interactive Sorting on the second column doesn’t work. So, you can move the Interactive Sorting on the second column. When configuring the
Interactive sorting on the first column, you should set the parent group to sort, and sort by the field that the parent group groups by.
Hope this helps.
Regards,
Mike Yin
TechNet Community Support
Maybe you are looking for
-
IPod Shuffle 2nd Gen overrides my playlist order
Goal: copy 8 (or whatever number) podcasts onto my iPod Shuffle 2nd Gen (silver, 1 Gig), in a specific order. What actually happens: everything looks good, but when I eject the iPod and listen to the tracks, or when I reconnect the iPod, the tracks h
-
Trying to capture IPv6 BGP hello traffic with monitor capture feature without success. With the monitor capture for IPv6 traffic active and running; If I traceroute (IPv6) from this same router I do see the IPv6 traceroute traffic but NEVER IPv6 BGP
-
Sticky sessions and Load Balancing in WL Clusters
We are using iPlanet Web Server 4.1 with WebLogic App Server; and would like to implement load balancing with sticky sessions and in-memory state replication. The documentation in Weblogic says that - When using in-memory state replication, your WebL
-
ESB console issue - defining tracking fields - minor.
when defining a tracking field, when you wish to insert a simple XML element into the expression builder by selecting it , don't drag and drop the element onto the edit area; instead, use the "Insert into Expression button". the expression generated
-
Using latest version of OS X on and iMac. When I upgraded to new Photos, the drag and drop feature stopped working. Any suggestions on how to fix it?