Regarding dynamic formatting on column
Hi All,
i have a requirement from client.
He selects column from prompt and one of the report column changes dynamically.
i have to do different data formatting for different column .
so how to do dynamic formatting on same column that, shows different value on basis of prompt selection.
Please reply.
Regards,
manoj
Hi Manoj,
generally you can achieve dynamic changes in your dashboard by creating a presentation variable prompt as part of your dashboard prompt and then using the prompt value to change your report.
For example, you can create a prompt with values 5,10,25 in it and based on it create a report where you can switch between the top 5,10 or 25 records, depending on your selection.
Because you did not specify what sort of formatting you require, it is hard for me to be more specific.
Again, generally, if you cannot achieve the desired effect with Presentation Variables, you should resort to JavaScript, assuming the result is worth the effort.
Cheers,
Janis R
Similar Messages
-
I am interested in creating a report that allows the columns and format of those columns to change dynamically.
For example in one instance the report would contain 3 columns
Name, Address, Phone Number
In this example we may want to highlight the Name column
In another instance the report could contain 2 columns:
Oder Id, Credit Card Type
In this example we don't want any highlighting
In another instance the report would contain 4 columns:
Name, Order Id, Payment Amount, Account Status
In this example we want to display the words GOOD if the Account Status column = 1 and Bad if the Account Status = 0
We have mocked up a report using the Cross Tab type however I am not able to dynamically format each column when the report runs.
I know I could create six separate reports however, that leaves me in a bad position when upgrading the report(s). Also if I need to introduce another report I have to create and maintain yet another report.
Any help would be appreciated.Hello Wayne;
I'm not sure if you actually want to work with a crosstab report or if that is an idea you have re. the modification. If it is a crosstab, you want to have a look at [this|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note. The note discusses the RAS SDK, but RAS is way more featured than CR, so same applies for CR.
Other than that, if you want to vary the number of columns in a non crosstab report, you'd have two choices;
1) RAS SDK. See the sample links in [this|https://wiki.sdn.sap.com/wiki/display/BOBJ/NETRASSDK+Samples] wiki (Report Modification heading)
2) Using CR SDK. You'd create a report with a number of empty formulas. Then at runtime populate the formulas with the fields;
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Inherits System.Windows.Forms.Form
Dim Report As New CrystalReport1()
Dim FormulaFields As FormulaFieldDefinitions
Dim FormulaField As FormulaFieldDefinition
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FormulaFields = Report.DataDefinition.FormulaFields
FormulaField = FormulaFields.Item(0)
FormulaField.Text = "[formula text]"
CrystalReportViewer1.ReportSource = Report
End Sub
Ludek -
Problem in Formatting Total Column in Classic Table
Hi,
I am using Classic Table.
I am able to format the column data but i am unable to format the column total value. I searched in forum and tryed something like in the following thread..
Problem in formatting Total Value in advanced table
since i am using Classic Tables i am unable to do it.
I also tried the following
OATableBean table = ....
OATotalRowBean totalRowBean = (OATotalRowBean)table.getColumnFooter();
System.out.println("Formattotal : "+totalRowBean);
if (totalRowBean != null)
oracle.cabo.ui.validate.Formatter formatter = new OADecimalValidater("#,##0.00;#,##0.00","#,##0.00;#,##0.00");
totalRowBean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);
in this case the total is not formatted.
I also refered developer guide. There i found how to set value to total column.. but how to get the value its not given..
Any body pls help in this regards
Thanks & RegardsHi,
When i am using Classic Table i am able to format column data but i am not able to format the column Total
Code i using ;
OATableBean table = (OATableBean) webBean.findChildRecursive("EmpTestVO12");
table.prepareForRendering(pageContext);
OAMessageStyledTextBean totalBean = (OAMessageStyledTextBean)table.findChildRecursive("Salary");
if(totalBean!=null)
Formatter formatter = new OADecimalValidater("#,##0.00;(#,##0.00)","#,##0.00;(#,##0.00)");
totalBean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);
//Properly formatting column data
Whe i am using OAAdvance Table bean i am able to format the total but i am unabele to format the Column data. Using following code..
OAAdvancedTableBean tableBean=(OAAdvancedTableBean)webBean.findChildRecursive("region2");
tableBean.prepareForRendering(pageContext);
OAColumnBean c1=(OAColumnBean)webBean.findChildRecursive("column12");
if(c1!=null)
c1.setAttributeValue(CURRENCY_CODE,"USD");
Can anybody pls tell me how can i achieve both (column values and totals formatting) using either Classic Table or Advance Table..
Thanks & Regards,
Ram -
Dynamically set number-columns-spanned
Hi all,
I have a cross tab which has a dynamic number of columns. Each column has a header "Location" (which is determined by the data), but the table also has a master header "Volume" which should span all of the locations. How can I acheive this?
I currently have:
<xsl:attribute xdofo:ctx="block" name="number-columns-spanned">2</xsl:attribute> Volumne
But this is obviously static.
Many Thanks
AndyHi lmd2,
Attached is a quick example of one way to do what you are asking. This is only a general example, and there may be a bettter implementation depending on the architecture of your application. The link here also has information on setting the number of sockets for a specific sequence file. Hope this helps.
Regards,
Ebele O.
National Instruments
Attachments:
ParallelModel.seq 455 KB -
Dynamic selection of columns in report and print the output
Hi,
I tried to have dynamic selection of columns in SQL query using lexical parameter. The hitch is how to print those selected column in excel ouput ?
Suppose
I have select &col from table_name
Initial value of &col is col1 and in data layout only col1 appears
where &col was replaced with more than a column (col1,col2,col3)
now how to print the column selected at the run time,
i have coded in Before Report Trigger
:cell_val := ' <td><rw:field id:"cl1" src="col1"></rw:field></td>
<td><rw:field id:"cl2" src="col2"></rw:field></td>
<td><rw:field id:"cl3" src="col3"></rw:field></td> ' ;
and this user parameter was replaced in web source using JSP expression
<rw:getvalue id: "v_cell" src:"cell_val"></rw:getvalue>
<rw:foreach src:"g_val">
<table>
<tr>
<% =v_cell%>
</tr>
</table>
</rw:foreach>
but in the output i can see only blank columns
Regards
SureshThe strings replaced by expression <%= v_cell %>
should print the field values contained in col1,col2,col3 columns, but nothing is printed . i think the custom tags (rw...) are not replaced by the jsp expression properly. -
Dynamically Pass the Column Name cursor. || Dynamic Column Name
Hi,
I need to dynamically pass the column name based on a Mapping table in a loop ( Right now i have hardcoded stuff )just like using Execute immediate.... Inside the procedure, I have commented as where i hit the problem.
Thanks for all of your time...
Thanks
Muthu
CREATE OR REPLACE PROCEDURE xml_testing_clob AS
doc xmldom.DOMDocument;
main_node xmldom.DOMNode;
root_node xmldom.DOMNode;
user_node xmldom.DOMNode; item_node xmldom.DOMNode;
root_elmt xmldom.DOMElement;
item_elmt xmldom.DOMElement;
item_text xmldom.DOMText;
item_test xmldom.DOMText;
nodelist xmldom.DOMNodeList;
sub_variable varchar2(4000);
x varchar2(200);
y varchar2(200);
sub_var varchar2(4000);
CURSOR get_users IS
SELECT FIRST_NAME,LAST_NAME,ROWNUM FROM USER_INFO_TBL WHERE WEIN_NUMBER = '1234' ;
CURSOR get_cdisc_name IS
select CTS_COL_NAME,CDISC_NAME from CTS2CDISC_DICTIONARY where CTS_TABLE_NAME = 'USER_INFO_TBL';
BEGIN
-- get document
doc := xmldom.newDOMDocument;
doc := xmldom.NewDomDocument;
xmldom.setVersion(doc, '1.0');
xmldom.setStandalone(doc, 'no');
xmldom.setCharSet(doc, 'ISO-8859-1');
-- create root element main_node := xmldom.makeNode(doc);
root_elmt := xmldom.createElement(doc,'AdminData');
root_node := xmldom.appendChild(main_node,xmldom.makeNode(root_elmt));
FOR get_users_rec IN get_users LOOP
item_elmt := xmldom.createElement(doc,'User');
xmldom.setAttribute(item_elmt,'OID' , get_users_rec.rownum);
user_node := xmldom.appendChild(root_node,xmldom.makeNode(item_elmt));
FOR cv_get_cdisc_name IN get_cdisc_name LOOP
EXIT WHEN get_cdisc_name%NOTFOUND;
sub_var := cv_get_cdisc_name.cts_col_name;
sub_variable := 'get_users_rec.';
sub_variable := 'get_users_rec.'||cv_get_cdisc_name.cts_col_name;
x := sub_variable;
dbms_output.put_line(x); -------------- Here i just see the literal string
y := get_users_rec.FIRST_NAME;
dbms_output.put_line(y); -------------- Here i just see actual value ( data )
item_elmt := xmldom.createElement(doc,cv_get_cdisc_name.cdisc_name);
item_node := xmldom.appendChild(user_node,xmldom.makeNode(item_elmt));
item_text := xmldom.createTextNode(doc,x ); ---- This is the place i am hitting with an error .
If i use variable X then i am able to see only the literal
string in the output. BUT if i put cursor name.coulmname,
then the resumt (XML) is fine.I wanted acheive this
dynamically just like execute Immediate
item_node := xmldom.appendChild( item_node , xmldom.makeNode(item_text));
END LOOP;
END LOOP;
-- write document to file using default character set from database
xmldom.WRITETOCLOB(doc,);
xmldom.writeToFile(doc, 'c:\ash\testing_out.xml');
-- free resources
xmldom.freeDocument(doc);
END;
+++++++++++++++++++++++++++++++++++ XML OUTPUT +++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" ?>
- <AdminData>
- <User OID="1">
<FirstName>get_users_rec.FIRST_NAME</FirstName>
<LastName>get_users_rec.LAST_NAME</LastName> </User>
- <User OID="2">
<FirstName>get_users_rec.FIRST_NAME</FirstName>
<LastName>get_users_rec.LAST_NAME</LastName>
</User>
- <User OID="3">
<FirstName>get_users_rec.FIRST_NAME</FirstName>
<LastName>get_users_rec.LAST_NAME</LastName>
</User>
- <User OID="4">
<FirstName>get_users_rec.FIRST_NAME</FirstName>
<LastName>get_users_rec.LAST_NAME</LastName>
</User>
- <User OID="5">
<FirstName>get_users_rec.FIRST_NAME</FirstName>
<LastName>get_users_rec.LAST_NAME</LastName>
</User>
++++++++++++++++++++++++++++++++++++++++++++++++++++ MAPPING TABLE DETAILS +++++++++++++++++
CTS_COL_NAME CDISC_NAME CTS_TABLE_NAME XML_TAG -----------> Column Name
FIRST_NAME FirstName USER_INFO_TBL Element -----------> Records
LAST_NAME LastName USER_INFO_TBL Element -----------> RecordsMy scenario is little different, let me explain:
My columns will remain same but values changes (based on column formula) according to the selected prompt value
If I select 'Oct' from prompt then
Curr will contain data for 'Oct' only
Next1 will contain data for 'Nov' only
Next2 will contain data for 'Dec' only
Next3 will contain data for 'Jan' of next year only.
Later if I select 'Jul' from prompt then
Curr will contain data for 'Jul' only
Next1 will contain data for 'Aug' only
Next2 will contain data for 'Sep' only
Next3 will contain data for 'Oct' only.
I don't have different columns for each months but the columns are capable to reflect data for any month.
So, how can I reflect the column name as month name for which that contains data.
Regards,
S Anand -
Conditionally Formatting One Column Based On The Value of Another Column
I have the following requirement:
I have 2 columns in a report showing Actual Sales & Budget Sales each year. I am using a bar chart to show the different values for these 2 columns.
I need to conditionally format the column "Actual Sales" so that if it is less than the "Budget Sales" it will appear in red, and green if "Actual Sales" is greater than "Budget Sales." So in a nutshell,
CASE WHEN "Actual Sales" < "Budget Sales" THEN
RED
ELSE
GREEN
END
Thoughts anyone?CASE WHEN (COL1 - COL2) < 0 then Red else Green end
regards
John
http://obiee101.blogspot.com -
Hello,
Is it possible to dynamically hide IR columns. Here's my situation:
I have an IR report that has roughly 60 columns. However, based upon the parameters passed to the report, only about 20 - 25 columns have data in them. The remaining columns contain all Nulls. I want to display only those columns that contain data, and hide those that contain ONLY Null values.
I tried using conditional displays, using column_name is null but it hides the columns whether it contains data or not.
Has anyone else done this, or have a suggestion as to how I can dynamically hide columns based on whether the column contains data? Thanks in advance for any assistance you can provide.
BobOne way is to create an apex item for each column that you think it may contain null in all rows.
Use that apex item in the conditional display of your related column in interactive report.
Regards,
Salim -
Function returning SQL - dynamically select the column
Hi there,
[Oracle 11g],
Hi there,
I want to dynamically select the column to be displayed.
Or lets say it in an easier way regarding the EMP Table:
I got a table called teststable with value1 and value2 in it.
Value1 is EMPNO
Value 2 is DEPTNO
Now I like to have something like this:
Select (Select Value1 from testtable),(Select Value2 from testtable) from EMP This will not work. So I need a function for this. Does someone now how to get this to work? Thx in advance. Thorsten+ 1 to the above replies.
An example to pick the column name dynamically from a table and rendering the output of EMP table as a XMLTYPE is here.Pushing it a little bit further, you can project back XML as relational rows and columns :
SQL> with testtable (value1, value2) as (
2 select 'EMPNO', 'DEPTNO' from dual
3 )
4 select x.*
5 from testtable t
6 , xmltable(
7 'for $r in fn:collection("oradb:/SCOTT/EMP")/ROW
8 return element r {
9 $r/*[local-name()=$v1]
10 , $r/*[local-name()=$v2]
11 }'
12 passing t.value1 as "v1"
13 , t.value2 as "v2"
14 columns value1 varchar2(30) path '*[1]'
15 , value2 varchar2(30) path '*[2]'
16 ) x
17 ;
VALUE1 VALUE2
7369 20
7499 30
7521 30
7566 20
7654 30
7698 30
7782 10
7839 10
7844 30
7900 30
7902 20
7934 10
12 rows selected -
Dynamic Number of Column in a table
Hi guys,
I have a requirement that needs dynamic number of column in a tale.
It is possible to do this in Adobe forms.
Thanks,
ChirantanHello. It of course is possible in Adobe.
You need to write a simple script using JavaScript or FormCalc to hide or show columns according to some special value. You will work with the presence attribute of the object. E.g. MYFIELD.presence = "visible" or "hidden" or "invisible". You will need to change your subforms content to flowed.
Use these guides:
http://www.adobe.com/devnet/livecycle/articles/lc_designer_scripting_basics/lc_designer_scripting_basics.pdf
help.adobe.com/en_US/livecycle/es/FormCalc.pdf
Hope this helps, good luck, Otto -
BI Layout/Template | Table with dynamic number of columns
hi!
i have a problem concerning the creation of a dynamic report with the BI publisher.
in my BI template i need a table with a dynamic number of columns. i have searched the
forums but havent really found a solution for this type of problem.
first of all this is A dummy-structure of my dataset:
<ROWSET>
<ROW>
<FIELD1>1</FIELD2>
<FIELD2>2</FIELD2>
<FIELD3>3</FIELD3>
<FIELD4>4</FIELD4>
</ROW>
<ROW>
<FIELD1>a</FIELD2>
<FIELD2>b</FIELD2>
<FIELD3>c</FIELD3>
<FIELD4>d</FIELD4>
</ROW>
</ROWSET>
in the report the fields represent the columns i need in the table.
the problem is, that the number of the fields vary. in this example i have 4 fields/columns
but another time i may have 6 or 10 etc..
my dataset is always different because i am loading my dataset via a http request which is
returning the needed data in XML.
is there a nativ possibility within the publisher to generate the columns dynamically?
i read about <?split-column-header:group element name?> etc. but this is only for cross-tables.
can anybody give me a hint how to approach this problem?
would be very glad for some advice.
thanks a lot in advance!Specific answer is here
http://winrichman.blogspot.com/2008/09/dynamic-column.html
but these link let you know, how to do
http://winrichman.blogspot.com/search/label/Dynamic%20column
http://winrichman.blogspot.com/search/label/Cross-tab
http://winrichman.blogspot.com/search/label/cross%20tab -
Dynamic formatting of Process Success Message
I have read through some of the threads that have already been raised re dynamic formatting of the process message and haven't seen how/if I can do what I would like.
I have a form with multiple process buttons which call a package and return an error code and message.
I then wrote a function to take the error code and message and a couple of other fields to format an appropriate response.
The process may return successfully but still have the error codes set (or may be null). I did note that could raise_application_error but would still have to go through some process to format the response.
But when I use the function as the response message it is just treated as a text string.
So for example I get
Action Processed.nva_batch_validate.format_response( 'VALIDATE', VALID, , );
rather than
Action Processed - Validation Successful
or
Action Processed.nva_batch_validate.format_response( 'SUBMIT', 'APPROVED','-20004' , ' Some error with submission' );
rather than
Action Processed - Submit failed Some error with submission
How can I get the Process Success Message to recognize that this is a function not text?
Or can I have another process which just uses my format_response that would put message into the Action Processed.
I don't want to have to go done the raise_application_error as I'd have to format the response within each procedure that is called and who knows what other issues this would raise.anonymous - Create an item, say P1_MSG and set its value in your page process, after your API calls, like :P1_MSG := Action Processed.nva_batch_validate.format_response( 'VALIDATE', VALID, , );
Then put &P1_MSG. in the process success message field.
Scott -
Dynamic formating in smartforms
I'm just curious if there is a possible to create a dynamic formatting in Smartforms. What I mean saying dynamic? Lets imaging that I've a strucure where I've following information;
LINE_NUMBER
TEXT
This structure is used to build a table, where I can assign one or more text to one line.
So my example data in this table will be:
LINE_NUMBER | TEXT
1 | my first item
1 | first item description
1 | some other text
2 | second item
2 | second item extended name
2 | second item additional text
2 | second item summary text
and so one...
So I can have varying texts number assigned into one line (max 8).
Now I want to use paragraph, with 8 prepared tabs.
Now the problem comes, how to pass this texts into tableline inside smartform and do not prepare separate lines for 1,2,3... elements?
Any idea? It is possible to prepare data in variable which looks like:
1,,my first item,,first item description,,some other text
and display this data in such way, that commas will be recognized as tabs formatting in paragraph instead displaying them?hi..try this...
create table->create a line type as required.
loop at itab containing ur data.
in the main area of the table create a row:
right click on main area->table line
in the output options of the row assign the line type from the drop down. in the condition of the row give the condition wa-LINE_NUMBER = 1.
similarly create other rows(table lines) giving the conditions 1 to 8.
that is you will have 8 table lines with conditions:
row1 condition -> wa-LINE_NUMBER = 1
row2 condition -> wa-LINE_NUMBER = 2
row3 condition -> wa-LINE_NUMBER = 3
row8 condition -> wa-LINE_NUMBER = 8
so if line_number = 1 then row 1 will be use..
if its 8 then row 8 will be used......
inside the rows u can use different text elements with different para formats... -
Is it possible to make a condition for formatting multiple column?
I am working on financial report like Balance Sheet. So that I am going to have 2 column and 1 on left, 2 and 3 on right.
I tried to use format multiple columns but can't find any method to define where to break.when you create a stored procedure or use a command file( i believe) you can create CASE statements
CASE WHEN ='BLUE' THEN 'COLUMN1'
WHEN ='GREEN' THEN 'COLUMN2' END AS BUCKET1
when you use this as the dataset you will see this as a field
you can then group by the fields created. -
Dynamic change selected columns
hi all,
Created an anwers with 5 columns:
level1 | level2 | level3 | level4 | facts
I created a session filter on all the level columns. Like this:
level1 = session.value or
level2 = session.value or
level3 = session.value or
level4 = session.value
Now i want to dynamic change the columns depended on wich column contains the session value.
For example: level2 contains the session value. The ouput I (want to) expect:
level1 | level2 | facts
Hope someone can help with this...tnx in advancedMore information at this link:
http://oraclebizint.wordpress.com/2007/11/16/oracle-bi-ee-101332-using-indexcol-function-varying-underlying-columns-based-on-user-login/
Hope this helps
Swapan.
Maybe you are looking for
-
The Relation between tables and views in oracle financial
Dears I am work in oracle e business r12 and i need to build report as xml when run my select its need big time to view data i have a huge of data so i need to clear the relation of this tables if there is miss and if there another technique in selec
-
I tried several times to backup my iPhone 5 but failed. Several times it only run for 1 minute and told me 'the last backup could not be completed.' This morning, it run for almost 1hr and told me the same. The last backup still keeps in 2013. What s
-
I keep getting jre application error when launching a online live class
Need help with fixing this problem.
-
New iMac slowing down entire network's internet
I recently purchased a new iMac (warning, I'm a PC user up until a few days ago), and have noticed that any time I have the iMac on (idle, having just started up) the internet for the other 2 computers on the networks drags terrible (long page load t
-
ITunes 10.7.0.21 won't let me search songs in library by "KIND" anymore.
Is there anyway to bring this back? No matter what columns I have selected under VIEW OPTIONS, the search bar only checks by ALL, ARTIST, ALBUM, COMPOSE, or SONG.