11g : column fornula as a SQL query
While creating a report in 11 g and choosing columns from the subject area, I see that we can edit the column formula.
Is it possible to specify a SQL query in the column formula.?
No, it's not possible.
If you want to use specific sql you can use the EVALUATE function
http://gerardnico.com/wiki/dat/obiee/evaluate
Regards
Adil
Similar Messages
-
Resolve column names in a sql Query
Hi Folks,
I’m upgrading an application and there are database columns that have major changes that could affect production reports. I would like to survey v$SQL for a few days to see if these columns are affected. Here’s the problem.
Looking at a SQL query to determine which columns are used is not nearly as easy as it sounds. Are there any oracle functions or 3rd party tools that can be used to list the columns used by a sql query? (this gets extremely tricky when subqueries become involved)
For instance.
select
name, b.dep_id, employee_id
From emp a
Inner join v_department b on a.dep_id=b.dep_id
Columns used:+
Emp.name+
Departments.dep_id (under the view)+
Emp.employee_id+
Emp.dep_id (from the join)+If you're on > 10g, you can use dbms_xplan with "all" option.
It shows "column projection information" which is exactly what you want.
UKJA@ukja102> set serveroutput on
UKJA@ukja102>
UKJA@ukja102> drop table t1 purge;
Table dropped.
Elapsed: 00:00:00.03
UKJA@ukja102> create table t1(c1 int, c2 int);
Table created.
Elapsed: 00:00:00.03
UKJA@ukja102>
UKJA@ukja102> explain plan for
2 select
3 t1.c1, t1.c2, v.cnt
4 from t1,
5 (select /*+ no_merge */ c1, count(*) as cnt
6 from t1
7 group by c1) v
8 where
9 t1.c1 = v.c1
10 ;
Explained.
Elapsed: 00:00:00.01
UKJA@ukja102>
UKJA@ukja102> @plan_all
UKJA@ukja102> select * from table(dbms_xplan.display(null,null,'all'))
2 /
PLAN_TABLE_OUTPUT
Plan hash value: 536125944
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 52 | 6 (34)| 00:00:01 |
|* 1 | HASH JOIN | | 1 | 52 | 6 (34)| 00:00:01 |
| 2 | TABLE ACCESS FULL | T1 | 1 | 26 | 2 (0)| 00:00:01 |
| 3 | VIEW | | 1 | 26 | 3 (34)| 00:00:01 |
| 4 | HASH GROUP BY | | 1 | 13 | 3 (34)| 00:00:01 |
| 5 | TABLE ACCESS FULL| T1 | 1 | 13 | 2 (0)| 00:00:01 |
Query Block Name / Object Alias (identified by operation id):
1 - SEL$1
2 - SEL$1 / T1@SEL$1
3 - SEL$2 / V@SEL$1
4 - SEL$2
5 - SEL$2 / T1@SEL$2
Predicate Information (identified by operation id):
1 - access("T1"."C1"="V"."C1")
Column Projection Information (identified by operation id):
1 - (#keys=1) "T1"."C1"[NUMBER,22], "T1"."C2"[NUMBER,22],
"V"."CNT"[NUMBER,22]
2 - "T1"."C1"[NUMBER,22], "T1"."C2"[NUMBER,22]
3 - "V"."C1"[NUMBER,22], "V"."CNT"[NUMBER,22]
4 - (#keys=1) "C1"[NUMBER,22], COUNT(*)[22]
5 - "C1"[NUMBER,22]
Note
- dynamic sampling used for this statement
40 rows selected.
Elapsed: 00:00:00.01
UKJA@ukja102>
UKJA@ukja102>
UKJA@ukja102> @end
UKJA@ukja102> set echo offDion Cho -
Set the column length in an sql query
Hi,
Is there a way to set the column length in a query without using sqlplus commands like row size and format column.
I'd like to do it just from the sql query itself.
select 'this is a test' from dual; Can I define the width of this column in the select statement
Cheers.Use RPAD,
SQL> WITH T
2 AS (SELECT 'this is test' str FROM DUAL
3 UNION ALL
4 SELECT 'this is a long test' FROM DUAL
5 UNION ALL
6 SELECT 'this is a long long long long test' FROM DUAL)
7 SELECT RPAD ( str, 20) str,LENGTH( RPAD ( str, 20)) len
8 FROM T;
STR LEN
this is test 20
this is a long test 20
this is a long long 20
SQL> G. -
Changing Column Value Style using SQL Query
Hi,
I'm trying to build a fantasy basketball game with APEX. I have a table that has a list of games. I need to change the color of the column value i.e. the name of the team that wins according to a SQL query Here's an example:
TABLE NAME: LATESTGAMES
Home Away Homepoints Awaypoints
Boston Cleveland 105 101
Toronto Washington 122 83
What I want to do is display the winning team i.e. Boston and Toronto in Green since that's the team that won.
The SQL query is:
SELECT HOME,
AWAY,
HOMEPOINTS,
AWAYPOINTS
from LATESTGAMES;
What do I need to do in order to display the Winning Team as Green on every column? Please HelpHello Devilfish,
I did something like that in my DG Tournament application (http://www.dgtournament.com)
Your SQL query can look like this:
SELECT CASE
WHEN (homepoints > awaypoints)
THEN '<span style="color:green;">' || home || '</span>'
ELSE home
END AS home,
SELECT CASE
WHEN (awaypoints > homepoints)
THEN '<span style="color:green;">' || away|| '</span>'
ELSE away
END AS away,
HOMEPOINTS,
AWAYPOINTS
from LATESTGAMES;Hope that gives you an idea,
Dimitri
-- http://dgielis.blogspot.com
-- http://apex-evangelists.com -
Executing a column which has a sql query in a tabular form
Hi,
I have a tabular form which contains a column named as SQL which has sql statements in it. Without going to the SQL workshop in Apex i want to execute that query in the tabular form itself. For that i've created a page item which fetches the particular rows sql query and created a button 'EXECUTE'. When i click the execute button it should run the query and should display whether the query is correct or not and should show the error message.
Can any one provide solution for this or whether there are any other ways to achive this scenario.
With Regards
Balaji.P.KBalaji P.K wrote:
Can any one provide solution for this or whether there are any other ways to achive this scenario.Difficult as we have no idea what this "scenario" actually is. Go back several steps and explain in detail the problem this is supposed to solve.
I have a tabular form which contains a column named as SQLBad idea. <tt>SQL</tt> is a PL/SQL reserved word. Using any token from Oracle namespaces as a database identifier is confusing/problematic.
which has sql statements in it.Why? Where does this SQL come from? What is the source of the tabular form?
Without going to the SQL workshop in Apex i want to execute that query in the tabular form itself.Explain the "execute that query in the tabular form itself" concept. Where do the results go? -
Report Column Headings based on SQL Query
Hi ,
I am working on creating a SQL query based report. However, my column headers for this report are stored in a table and hence, I need the column headers to be based on a sql query also.
Can you give me some pointers on how to do this ?
Thanks!
LavanyaLavanya,
The report column attributes page has a radiogroup of column heading types. One lets you specify a PL/SQL function that returns the headings.
Scott -
How can I display multiple column results of a sql query?
I'm wanting to display the results of a query selecting from multiple columns, but I can't seem to find an item type that will allow this. I've tried LOV, multiselect, display as text and others. Any ideas on how to do this. Here is my basic query:
Select ul.meaning,
rqa.submission_date,
rqa.location_num
from
cfa_rqa_doc_submit_dates rqa,
cfa_user_lookups ul
where
rqa.location_num in (Select location_num from cfa_current_locations_mv
where operator_person_id = :P1_PERSON_ID and substr(location_num,1,1) = '8')
and
ul.lookup_type_id='1269'
and
to_char(rqa.submission_date, 'month') = to_char(sysdate, 'month')
and
rqa.submission_date >= (SYSDATE-365)
and ul.lookup_ID= rqa.document_type_id
;Hi,
Do you just wish to display the result of the query? If so, you can simply parse it out in HTML.
You can then choose if you want to use tables or css.
Multiple column layout in tables are based on <tr> and <td>.
<tr> is a table row, where <td> is a column.
All tags should be closed.
Example:
<table>
<tr>
<td>col1</td><td>col2</td>
</tr>
<tr>
<td colspan="2">spans over 2 cols</td>
</tr>
</table>If you want to do the same in css:
(Seems this forum removes the styles!):
float:left; width:50; << first div and 2 div (col 1 and col 2 style)
float:left;clear:both; width:100%; << clear both, double width (spans over 2)
<div>
<div style="float:left; width:50;">col1</div><div style="float:left;width:50%;">col2</div>
<div style="float:left;clear:both; width=100%;">Spans over 2 cols</div>
</div>The div might look more complicated, but if you refrain from styling in the tags them selves, you can define different styles in the .css file.
You need the clear:both to start a new line with the divs that float.
I usually run a dedicated "new line" div, without content.. (exception beeing the html-entities version of ' ' (& nbsp ; << without the spaces)).
eg.:
<div style="cls"> </div>Parsing out the values from the PL SQL you do like so:
begin
declare
cursor c_search is
Select ul.meaning,
rqa.submission_date,
rqa.location_num
from
cfa_rqa_doc_submit_dates rqa,
cfa_user_lookups ul
where
rqa.location_num in (Select location_num from cfa_current_locations_mv
where operator_person_id = :P1_PERSON_ID and substr(location_num,1,1) = '8')
and
ul.lookup_type_id='1269'
and
to_char(rqa.submission_date, 'month') = to_char(sysdate, 'month')
and
rqa.submission_date >= (SYSDATE-365)
and ul.lookup_ID= rqa.document_type_id
begin
htp.p('<div style="width:80%;">');
for v_search in c_search loop
htp.p('<div style="float:left;clear:none;">'||v_search.location_num||'</div>');
htp.p('<div style="float:left;clear:none;">'||v_search.submission_date||'</div>');
end loop;
htp.p('</div>');
end;
end;Ps. hope I understood you correctly, also this code is untested.. but I hope it can still help.
Edited by: Olav Alexander Mjelde on May 12, 2010 9:36 AM -
Hai all,
i want to get value from decimal column as tow columns using "regexp" in sql query
that means 72.58 value
as 72 value1 , 58 value2
need help.........Hi Hari,
Made a format change in query using decode.
SQL> with t
2 as
3 (
4 select '12.58' str from dual union all
5 select '.72' str from dual
6 )
7 select regexp_substr(decode(substr(str,1,1),'.',lpad(str,length(str)+1,'0'),
8 str),'[^.]+',1,1) val1,
9 regexp_substr(decode(substr(str,1,1),'.',lpad(str,length(str)+1,'0'),
10 str),'[^.]+',1,2) val2
11 from t
12 /
VAL1 VAL2
12 58
0 72 -
Apex - SQL query report.
Hi,
Apex - 4.0 and Oracle -11g
I m having a SQL Query report.
Query
SELECT htmldb_item.hidden(1,id) id,
htmldb_item.select_list_from_query_xl(2,name,'SELECT name ,
deptid
FROM emp
WHERE name like ''E%''') name,
htmldb_item.select_list_from_query_xl(3,deptname,'SELECT deptname from dept where deptid = ???') deptname
FROM tabel
My problem, in the report when the Select list for 'name' has been choosen , then it should retrieve the deptname based on the 'name'.
Is it possible ?you want select list value should affected in SQL report? i mean redirect and set value to SQL report?
-
What can be the SQL Query for this requirement ?
Hi,
I have a table with fields like this:
ID DESC PARENT
01 ABC 02
02 ABC1 01
03 ABC2 01
04 ABC4 02
In the above table PARENT column refers to ID column , but actually in SQL query i want to have ID, DESC , and PARENTDESC (i.e., desc value of the corresponding ID)
Actual output that i need is
select ID , DESC , ?? from table where ID=someValue . Now if i provide ID=01 then output should be like this:
ID DESC PARDESC
01 ABC ABC1
Can anyone help what can be the required sql query ?
Edited by: bootstrap on Apr 29, 2011 6:15 AMSELECT T1.ID, T1.DESC, T2.DESC
FROM TABLEA T1, TABLEA T2
WHERE T1.ID='01'
AND T2.ID = T1.PARENT; -
Need sql query to convert rows to columns
Im using oracle 11g.
I have data in a table as below: Column names are type,month,percentage
TYPE MONTH PERCENTAGE
A1 JAN-2013 100
A2 JAN-2013 100
A3 JAN-2013 95
A4 JAN-2013 98
A5 JAN-2013 99
A6 JAN-2013 90
A7 JAN-2013 92
A1 FEB-2013 100
A2 FEB-2013 99
A3 FEB-2013 88
A4 FEB-2013 67
A5 FEB-2013 98
A6 FEB-2013 95
A7 FEB-2013 84
The desired output using a sql query is as below
TYPE JAN-2013 FEB-2013
A1 100 100
A2 100 99
A3 95 88
A4 98 67
A5 99 98
A6 90 95
A7 92 84Try this:
select * from table_name
PIVOT( max(Percentage)
for MONTH
in ('JAN-2013','FEB-2013')
) ;with data
with t(TYPE,MONTH,PERCENTAGE) as
SELECT 'A1', 'JAN-2013', 100
FROM DUAL
UNION ALL
SELECT 'A2', 'JAN-2013', 100
FROM DUAL
UNION ALL
SELECT 'A3', 'JAN-2013', 95
FROM DUAL
UNION ALL
SELECT 'A4', 'JAN-2013', 98
FROM DUAL
UNION ALL
SELECT 'A1', 'FEB-2013', 100
FROM DUAL
UNION ALL
SELECT 'A2', 'FEB-2013', 99
FROM DUAL
UNION ALL
SELECT 'A3', 'FEB-2013', 88
FROM DUAL
UNION ALL
SELECT 'A4', 'FEB-2013', 67
FROM DUAL
select * from t PIVOT( max(Percentage)
for MONTH
in ('JAN-2013','FEB-2013')
) ; -
HELP! SQL Query: Other ways to reorder column display?
I have a SQL query report with a large number of columns (users can hide/show columns as desired). It would be great if the column display order could be changed by changing the order of the columns in the SELECT list in the Report Definition, but that doesn't work -- it puts changed or added columns at the end regardless of the order in the SELECT list of the query.
Is there some other way to reorder the columns displayed without using the Report Attributes page? It's extremely tedious to move columns around using the up/down arrows which redisplays the page each time. Am I missing a way to change display order, or does anyone have a "trick" to do this? It's so painful....
When defining forms you can reoder columns by specifying a sequence number for each column. Just curious as to why reports were not done the same way, and are there any plans to address this in a future release?
KarenYes, reordering columns is extremely painful.
It is supposed to be much improved in the next version.
See
Re: Re-ordering columns on reports
Moving columns up/down in Report Attributes
See my example at
http://htmldb.oracle.com/pls/otn/f?p=24317:141
Basically, let the users move columns around until they are blue in the face, provide a Save button to save the column order in a user preference and reorder the columns when the page reloads.
Or you can use Carl's PL/SQL shuttle as the widget to specify the columns shown and their order. The shuttle is at http://htmldb.oracle.com/pls/otn/f?p=11933:27
Hope this helps.
Message was edited by:
Vikas -
Can we use formula column in lexical parameter in sql query ...
hi
can we use formula column in lexical parameter in sql query ...
as example
i want to give
select * from & c_table
forumula
function c_table
if :p_sort = 1 then
return 'dept'
else
return 'emp'
end;
c_table formula column
is this possible ...
i have such example in oracle apps reports
if i try in ordinary report usinf emp table it show error ..
how we can give formula column...
please help me in this regard...
Edited by: 797525 on Feb 20, 2012 9:31 PMthanks sir,
iam not exactly saying select * from &c_table but some thing that like columns in select stmt also will be populated in user_parameters ,there are lot of table select.......from mtl_demand md, mtl_system_items msi, mtl_txn_source_types mtst, mtl_item_locations loc &C_source_from &C_from_cat
&c_source_from and &c_from_cat formula column and there are defined at report level only ......
pl/sql code &c_source_from is
function C_source_fromFormula return VARCHAR2 is
begin
if :P_source_type_id = 2 then return(',MTL_SALES_ORDERS mkts');
else if :P_source_type_id = 3 then return(',GL_CODE_COMBINATIONS gl');
else if :P_source_type_id = 6 then return(',MTL_GENERIC_DISPOSITIONS mdsp');
else if :P_source_type_id = 5 then
if :C_source_where is null then
return NULL;
else
return(',WIP_ENTITIES wip');
end if;
else if :P_source_type_id = 8 then return(',MTL_SALES_ORDERS mkts');
else if :P_source_type_id is null then
return(',MTL_SALES_ORDERS mkts,
MTL_GENERIC_DISPOSITIONS mdsp,
GL_CODE_COMBINATIONS gl ');
else null;
end if; end if; end if; end if; end if; end if;
RETURN NULL; end;
this is forumula column i hope that you understand what iam saying
please help me in this regard....
thanking you... -
How to run a SQL query which is stored in a column using PL/SQL?
Hello
I have a table A and one of the column values is select * from emp where empno :=xyz;
Now I would like to call this SQL query using a cursor in PL/SQL and run this for all the empno's and insert them into a temp table.
Can anybody help me in writing this PL/SQL query?
With Regards,
Mohanuser525114 wrote:
The primary reason for doing this is we are calculating percentiles on an entity sales for different range periods, and there are several sql queries stored in a cloumn, so we would like to know whether we can run these queries by calling them in a pl/sql query, Its not necessary that we need to use a cursor, but once fetching the result set of the query we would like to insert them in a table.Vamsi,
As said in response to Satya, executing dynamic SQL, looping over the result set and inserting the results one by one in a temporary table, is a horribly bad idea. Especially in terms of performance, but also regarding the maintainability of your code. It's just way more complex than necessary.
If you want to calculate percentages, then use analytic or aggregate functions in SQL to do so. If you want to store them, use a single INSERT SELECT statement.
If you want to continue on the same path, use Satya's code and use it inside a loop.
Regards,
Rob. -
Showing column value as counter in sql query - report
I created a classic report with search bar based on an sql query. I would like to show the "notes" column in this query using some sort of counter and as a hyperlink to another section on the page (same idea as footnotes in a book). So if I have 10 rows and 5 have "notes". I should show 1,2,3,4,5 in the notes column for those rows and the number gets displayed as a link to another section listing the notes 1 through 5.
I was thinking of creating a hidden page item as the counter with value of 0 and then in my query doing counter+1 but i'm not sure how to do this or if i can do that...
If anyone can help or have any other ideas I would really appreciate it!!
Thanks,
HindyWell, I'm doing this in VB and the subquery is dynamic. I'm passing an ADO recordset to a routine that sets up a listview to display the results. The number of columns selected can vary. My idea was to size the columns appropriately based on the size of the data. Within the display routine I could:
sql = "SELECT "
for i = 0 to oRS.Fields.Count - 1
sql = sql & "MAX(LENGTH(" & i & ")), "
next 'i
sql = sql & "FROM (" & oRS.Source & ")"
Maybe you are looking for
-
Wired ports 1,3,4 no longer work on WRT54G
I have a wireless router, WRT54G v2, and the wired ports 1,3,4 do not work anymore. The only one that works is port 2, and after a variable amount of time, but within a day or two, both the lights for port 2 and port 4 will light up. At that time I w
-
Private constructor documented as public by javadoc
I'm generating document for a class similar to the following: public class Example { public static final Example TYPE1 = new Example(); public static final Example TYPE2 = new Example(); private Example() { // private constructor When I run the Javad
-
Shape Tween grayed out between 2 vectors
I have two vector graphics I imported to my stage and want to do a shape tween between them. But shape tween is grayed out. The images are imported Illustrator EPS's. Why is this happening? I attached two screenshots. Thx!
-
I had siri called me master and then forgot about it. today i emailed a teacher. will they be able to see my nickname?
-
Save a dynamic sql into a column
Hello, I need to save dynamic SQL into a column called STR in a table. I have a insert into table A( id, fname, lname) values(1, 'John', 'Smith'); I have a requirement to save the DML statement that user executed such as this insert statement into ta