Need a query for monthly Report
Hello All,
I need a query for monthly report,
comp_code
emp_id
dept_id
work_day
100
A100
MECH
01/01/2013
100
A100
MECH
02/01/2013
100
A100
MECH
03/01/2013
100
A100
MECH
04/01/2013
100
A100
MECH
05/02/2013
100
A100
MECH
08/02/2013
100
A100
MECH
09/02/2013
100
A100
MECH
10/02/2013
100
A100
MECH
12/05/2013
100
A100
MECH
13/05/2013
100
A101
CIV
01/04/2013
100
A101
CIV
02/04/2013
100
A101
CIV
03/04/2013
100
A101
CIV
04/04/2013
100
A101
CIV
06/04/2013
100
A101
CIV
06/06/2013
100
A101
CIV
07/06/2013
100
A101
CIV
08/06/2013
100
A101
CIV
09/06/2013
100
A101
CIV
10/06/2013
100
A101
CIV
11/12/2013
100
A101
CIV
12/12/2013
100
A101
CIV
13/12/2013
100
A101
CIV
14/12/2013
Dear friends this the sample table of my report.In which table has contain list of employees with their working days(actual table has contain almost 5laks of records).
suppose user choose the date between 01/01/2013 and 31/12/2013 then the result should be like this.
comp_code
emp_id
dept_id
month
Total_work
100
A100
MECH
JANUARY
4
100
A100
MECH
FEBRUARY
2
100
A100
MECH
MARCH
0
100
A100
MECH
APRIL
0
100
A100
MECH
MAY
2
100
A100
MECH
JUNE
0
100
A100
MECH
JULY
0
100
A100
MECH
AUGUST
0
100
A100
MECH
SEPTEMBER
0
100
A100
MECH
OCTOBER
0
100
A100
MECH
NOVEMBER
0
100
A100
MECH
DECEMBER
0
100
A101
CIV
JANUARY
0
100
A101
CIV
FEBRUARY
0
100
A101
CIV
MARCH
0
100
A101
CIV
APRIL
5
100
A101
CIV
MAY
0
100
A101
CIV
JUNE
5
100
A101
CIV
JULY
0
100
A101
CIV
AUGUST
0
100
A101
CIV
SEPTEMBER
0
100
A101
CIV
OCTOBER
0
100
A101
CIV
NOVEMBER
0
100
A101
CIV
DECEMBER
4
Hi,
If you want the output to include months where no work was done (with 0 in the total_work column) then you need to outer-join a "table" that has one row per month, and make it a partitioned outer join:
WITH got_end_points AS
SELECT TRUNC (MIN (work_day), 'MONTH') AS first_month
, TRUNC (MAX (work_day), 'MONTH') AS last_month
FROM table_x
, all_months AS
SELECT ADD_MONTHS (first_month, LEVEL - 1) AS a_month
, ADD_MONTHS (first_month, LEVEL) AS next_month
FROM got_end_points
CONNECT BY LEVEL <= 1 + MONTHS_BETWEEN (last_month, first_month)
SELECT t.comp_code
, t.emp_id
, t.dept_id
, m.a_month
, COUNT (t.work_day) AS total_work
FROM all_months m
LEFT OUTER JOIN table_x t PARTITION BY (t.comp_code, t.emp_id, t.ept_id)
ON t.work_day >= a.a_month
AND t.work_day < a.next_month
GROUP BY t.comp_code
, t.emp_id
, t.dept_id
, m.a_month
ORDER BY t.comp_code
, t.emp_id
, t.dept_id
, m.a_month
As posted, this include every month that is actually in the table. You can change the first sub-query if you want to enter first and last months.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
Point out where the query above is giving the wrong results, and explain, using specific examples, how you get the correct results from the given data in those places. If you changed the query at all, post your code.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ: https://forums.oracle.com/message/9362002
Similar Messages
-
Improving a query for a report in b1
Dear All,
We have a query for a report. this report display all invoices with it´s Dscription in the system just have 3 descriptions so i need the the report display the this description in column not in row and then have the sum by description. i dont know how can i put a picture for showing the example.
Some one knows how can i do? down the code.
Regards
NANCY
SELECT distinct T1.visorder as 'No. Linea',
T0.DocNum as 'No. Factura',
T0.DocDate as 'Fecha',
T0.CardName as 'Cliente',
T1.U_CANTIDAD as 'Tonelaje',
T0.U_OPERACION as 'No. Operación',
T0.DocCur as 'Moneda',
T0.GrosProfit as 'Ingreso total de factura',
T1.ItemCode as 'Código',
T1.Dscription,
T1.Quantity*T1.Price as 'Importe por Servicio',
T1.LineVat as 'IVA por servicio',
T0.VatSum as 'IVA por factura',
T2.PlngGroup as 'Cuenta SUN'
FROM OINV T0 LEFT JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
inner join OCRD T2 ON T0.CardCode = T2.CardCode
WHERE T0.Series = 49 and
T0.DocDate BETWEEN [%0] AND [%1]Hi Nancy,
I'm not sure that I understand your requirement 100% but assuming you only have 3 descriptions then the following would give you totals for your different descriptions...
Simply replace the text ' etc in the code below with the descriptions values.
SELECT distinct
T1.visorder as 'No. Linea',
T0.DocNum as 'No. Factura',
T0.DocDate as 'Fecha',
T0.CardName as 'Cliente',
T1.U_CANTIDAD as 'Tonelaje',
T0.U_OPERACION as 'No. Operación',
T0.DocCur as 'Moneda',
T0.GrosProfit as 'Ingreso total de factura',
T1.ItemCode as 'Código',
CASE
WHEN T1.Dscription = '<description1>'
THEN T1.Quantity*T1.Price
ELSE 0
END as '<description1>',
CASE
WHEN T1.Dscription = '<description2>'
THEN T1.Quantity*T1.Price
ELSE 0
END as '<description2>',
CASE
WHEN T1.Dscription = '<description3>'
THEN T1.Quantity*T1.Price
ELSE 0
END as '<description3>',
T1.LineVat as 'IVA por servicio',
T0.VatSum as 'IVA por factura',
T2.PlngGroup as 'Cuenta SUN'
FROM OINV T0 LEFT JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
inner join OCRD T2 ON T0.CardCode = T2.CardCode
WHERE T0.Series = 49 and
T0.DocDate BETWEEN [%0] AND [%1]
Hope this helps.
Regards,
Sean -
I've created the below crosstab query for a report.
Select Grouping_Condition,Warehouse,Max(Value) Over (Partition By Grouping_Condition,Warehouse) As Total,
Sum(Value) Over (Partition By Warehouse) As Total_Containers_Per_Warehouse,
Sum(Vat1Ue) Over () As Total_Containers,
(Max(Vat1Ue) Over (Partition By Grouping_Condition,Warehouse))
/(Sum(Vat1Ue) Over (Partition By Warehouse))*100 As Total_Pct
From
Seleect Grouping_Condition,Warehouse,Count(*) As Value
From
Set1Ect
T1.Warehouse,Shipped_Weight As Shipped_Tons,T1.Max_Weight As Maxtonnes,
Case When (Shipped_Weight)< (T1.Max_Weight*0.001)*0.95 Then 'containers_under_95'
When (Shipped_Weight*0.001) Between (T1.Max_Weight*0.001)*0.95 And (T1.Max_Weight*0.001) Then 'containers_95_100'
Et1Se 'containers_above_weight'
End Grouping_Condition
From
Tabt1E1 T1
,Tabt1E2 T2
,Tabt1E3 C
Where
T1.Co11 = T2.Col1
And T1.Col2=C.Col2
And More Conditions
Where Warehouse In ('W1','W2','W3','W4','W5')
Group By (Grouping_Condition,Warehouse)
The Above Query Gives Me Output Something Like Below:
Grouping_Condition Warehouse Total Total_Containers_Per_Warehouse Total_Containers Total_Pct
Containers_95_100 W1 5 10 60 50
Containers_Under_95 W1 5 10 60 50
Containers_95_100 W2 10 20 60 50
I've Got Report In The Below Format
W1 W2 W3 W4 W5 Total
Total_Containers 10 20 60
Containers_95_100 5 10 15
Containes_95_100_% 50 50 ????
I Need To Calculate The Total Percentage In The Above Table With ????
Any Help Is Much Appreciated..It appears as though you already have your groupings and counts per grouping, but require a ratio of each groupings count against all other counts. Is that correct ?
If so, try the new 11g analytic function, something like this:
select Grouping_Condition
,Warehouse
,ratio_to_report(Value) over () as Count_Ratio_over_Report
.. -
I need two query in one report (two detail section in one query)
Hi master sorry for again distribute
Sir I need two query in one report
Because I need two detail section in my one report
Such as
Master
Vno=9088989
Detail 1
=
=
==
=
Total 99999
Detail 2
=
=
==
=
Total 33333
Sir how I get this type of report
Please give me idea
Thanking you
AamirI want to see the report as follow.
d_name: CPU-1
date: -----------
Software installed:
sw_id, software, version, serial_no, sw_type
(list of softwares attached, can be more then one)
Hardware attached:
hw_id, hardware, specification (same like software list, it will contain hardware list attached to specific device),
Please if you can help me that how will i make a query for this.
Thanks and Regards
Maz -
Need a query for export table data .....
Hi,
I need a query for exporting the data in a table to a file.
Can anyone help me ?
Thanking You
JeneeshSQL> spool dept.txt
SQL> select * from dept;
DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> spool off
SQL> ed dept.txt -
Hi! Anybody who has a sample sql query for aging report? basically this is the table structure and sample data
bill_no B1-01 B1-02 B1-03
bill_date 01-JAN 01-FEB 01-MAR
previous_balance 100 600 800
current_charges 500 200 400
total_due 600 800 1200
As of march 1, total due is 1200. how can i get the breakdown of 1200 as to the number of days it has been due. ex. 500 (60 days old 01-JAN to 01-MAR), 200 (30 days old), 400 (current)
please help. thanks!
nullSELECT CEIL((SELECT MAX(Bill_Date) FROM Bill)- Bill_Date) Days , Previous_Balance, Current_Charges FROM Bill ORDER BY Days ASC
Then create a matrix reprot. -
Hi,
I have to generate a report which contains a query with database link. This database link is not hard coded and would be picked up from another report which contans a link to this report. So this database link value for the query could be any. Can anyone guide me hot to write a dynamic select statement so that i could append database link value at run time.
Thanks
SalmanHi,
You can not directly use a PL/SQL query to create an Interactive Report - that is not yet available.
What you could do is create a collection from your query and then use that for the report. Have a look at: [http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/advnc.htm#BABGHJFD].
In there, you will see APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY - this allows you to create a collection from a string. You could add a PL/SQL process to your page that runs "On Load: Before Header" that actually creates the collection. Something like:
BEGIN
IF APEX_COLLECTION.COLLECTION_EXISTS('MYCOLLECTIONNAME') THEN
APEX_COLLECTION.DELETE_COLLECTION('MYCOLLECTIONNAME');
END IF;
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING');
END;Your Interactive Report can then be based on:
SELECT SEQ_ID, C001, C002, C003, ...
FROM APEX_COLLECTIONS
WHERE COLLECTION_NAME = 'MYCOLLECTIONNAME'The tricky part is the headings as these would tend to be the SEQ_ID, C001, C002, C003, etc column names from the collection itself.
To get around this, make sure that the report's sql statement includes as many Cnnn columns as you will need for the widest of the reports. Before doing anything else, run the report once to make sure that all these columns are included in the output.
Then, through Shared Components, Application Items, create items that will hold heading names - for example, G_HEADING1, G_HEADING2 etc - one for each possibile column.
Now, update the process to:
BEGIN
IF APEX_COLLECTION.COLLECTION_EXISTS('MYCOLLECTIONNAME') THEN
APEX_COLLECTION.DELETE_COLLECTION('MYCOLLECTIONNAME');
END IF;
IF ..test1.. THEN
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING 1');
:G_HEADING1 := 'ColumnHeading1Value';
:G_HEADING2 := 'ColumnHeading2Value';
:G_HEADING3 := NULL; -- column not used for this query, so set it to null
ELSIF ..test2 .. THEN
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY('MYCOLLECTIONNAME','MY SQL QUERY STRING 2');
:G_HEADING1 := 'ColumnHeading1Value';
:G_HEADING2 := 'ColumnHeading2Value';
:G_HEADING3 := 'ColumnHeading3Value';
ELSIF ...etc...
.. etc ...
END IF;
END;Finally, on the report itself, set the column headings to *&G_HEADING1.*, *&G_HEADING2.* etc. Then, on each column, set a Condition of "Value of Item in Expression 1 is NOT NULL" and in Expression 1, enter in the application item for that column - eg, G_HEADING1
I have done all that here: [http://apex.oracle.com/pls/otn/f?p=16338:5] - select either Departments or Employees from the list and the report will change.
Andy -
Capture current query for a report region
Apologies if this is answered elsewhere, but I could not find it.
I have a reporting application where several different reports that have a list of customers. I would like to develop a means to generate a mailing list for the customers that is generic and can be used on any report. I envision getting the list of customer by executing a query like:
select person_id from
( <report region query> );
Is there a way to get the current query (or query result) for a report region and process it in a PL/SQL procedure? This would need to work for regions that have an SQL query and a PL/SQL function returning a query.
Thanks,
Billsorry for the double post, browser trouble...
-
Query for recurring reports using Query Builder in Business objects
1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
I am able to get summerized recurring reports using Query Builder.
For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring.1. How to count webi Recurring reports using query builder in business objects? (Need Query for this)
2. How to count Crystal Recurring reports using query builder in business objects? (Need Query for this)
I am able to get summerized recurring reports using Query Builder.
For Example we have 343 reports which are under recurring (This includes both Webi Reports and Crystal Reports).
we need to get individually how many webi reports are under Recurring and Crystal reports are under Recurring. -
Dear All,
My A/P Invoice entry is as Follows.
A/P Invoice
1) Item code (Multiple Items Possible)
2) Quantity per item
3) Unit Price per item
4) Under frieght I entry 3 freight value
5) Tax Code is selected
The report required is
1) A/P Invoice No
2) A/P Post Date
3) A/P Documnet date
4) A/P Vendor Code
5) A/P Vendor Name
6) Vendor state ( From Vendor Master date Address)
7) Vendor Cst no / Vat no / Tin No ( These all are UDF)
8) A/P Doc total before Discount ( This does not contain frieght value) ( I am able to obtain this from the OPCH-- Max 1099 Amount Field)
9) A/P Doc total After discount
10) A/P Feieght Break up.
11) A/P DOc total + Excise details
12) A/P Tax Code
13) A/P Tax Amount
14) A/P Final Total Value
The main issue is till point number (8) I can get the query after that the query goes wrong.
I need a similar query for A/R Invoice also.
Please advice.hi aslam,
Try this query,
SELECT T0.DocNum as 'AP Invoice No.',
T0.DocDate as 'Posting Date',
T0.TaxDate as 'Doc. Date',
T0.CardCode as 'Vendor Code',
T0.CardName as 'Vendor Name',
T1.State1,
T2.TaxId1 as 'CST No.',
T2.TaxId11 as 'TIN No.',
T0.Max1099, T0.DocTotal,
T0.TotalExpns,
T0.VatSum
FROM [dbo].[OPCH] T0 INNER JOIN [dbo].[OCRD] T1 ON T0.CardCode = T1.CardCode
INNER JOIN [dbo].[PCH12] T2 ON T0.DocEntry = T2.DocEntry
WHERE T0.DocDate >= '[%0]' and T0.DocDate <= '[%1]'
Whether it solves ur requirement ?
Jeyakanthan -
Query for month start and end date
Hi,
I want to pick every month Start date and End Date. could anybody suggest what is the query for this.
I need output
Start Date End Date
01/01/2011 31/01/2011
01/02/2011 28/02/2011
01/03/2011 31/03/2011
01/04/2011 30/04/2011
01/05/2011 .......Hi,
SQL> select sysdate from dual;
SYSDATE
24-FEB-11
SQL> select last_day(sysdate) from dual;
LAST_DAY(
28-FEB-11
SQL> select last_day(sysdate),last_day(add_months(sysdate,-1))+1 from dual;
LAST_DAY( LAST_DAY(
28-FEB-11 01-FEB-11
SQL> select last_day(sysdate),last_day(add_months(sysdate,-2))+1 from dual;
LAST_DAY( LAST_DAY(
28-FEB-11 01-JAN-11Try to refer to Oracle documentation and try to experiments the functions, you will get results on your hand.
- Pavan Kumar N
Edited by: Pavan Kumar on Feb 24, 2011 12:51 PM
Edited by: Pavan Kumar on Feb 24, 2011 12:52 PM -
TDS Amount on Vendor Advance Shows positive value in *QUERY* for TDS Report
Hi Everybody,
I have made a query for List of TDS Report with Vendor informations as required by my client. In which the value of TDS on Vendor Advance Payment appears as positive value instaead of negative value. Please suggest how to rectify.
Thanks,
PaulDear,
If you have cleared the advance in F-54, then this will reverse the tax amount. That could be the reason for tax amount in debit. -
Help needed in query for Materialized View
Hi,
I want to create a materialized view which has some precalcultaed values.
I have four dimension tables out of which one is a Time Dimension table with levels as Year->Quarter->Month.
The precalculations are the moving averages and cummulative values of Sales Amt on the dimension values over a period of 4 Months.
The dimension tables are Clients, Products, Channel, Time.
Fact Table is Sales_Fact which will have the sales amount for different members of the dimension.
Since my fact table is very huge, i want to create a materialized view where i could store the required calculated measures, here Moving Average of Sales Amt for each Client, Product, Channel dimensions over a period of 4 Months.
Can anybody help with writing the query for this..Any help in this regard will be appreciated..
Please give me suggestions for this..Check this link.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/aggreg.htm#sthref1612
Regards
Raj -
Customizing a query for a report according to login user name
Hi, I am new to the portal, so I have a urgent question:
In my company we have local departments who are supposed to use
the same report but only with their own data.
I have a table with all users and their parameters (e.g.
username + deptno) and might be able to create a function which
gets the username (found that in one of the standard packages)
and retrieves the parameter from the database via SELECT. The
function should then return the parameter to be used where ever
needed.
Big question: How can I use this function in a SELECT-Statement
for my report? I guess it must be something like
SELECT * FROM -table or view- WHERE deptno = -schema.function-
Right? Does the function have to be part of a package?
Thanks in advance for any help.
Yours
Reinhard Piper
Munich / Germanythe table or view is WWSEC_person this is where the users are..
Ruud -
Retrieve underlying SQL query for deski report via java SDK in BOXIR2
Hi all,
I am trying to retrieve underlying SQL queries of a deski report in BOXIR2. However I find the error as
oDataProvider = oDocumentInstance.getDataProviders().getItem(i1);
System.out.print(oDataProvider.getName());
oSQLDataProvider = (SQLDataProvider) oDataProvider;
oSQLContainer_root = oSQLDataProvider.getSQLContainer();
But "This feature is not supported for desktop Intelligence " exception has occured.
I am running the same query for Webi, and I did not find any issue . After several time spending in google, it appears to me that this code is supported by webi only. But "This feature is not supported for desktop Intelligence " exception has occured.
Please help me to find out the solution in java SDK. If its not supported by Java SDK, then could you please provide me any workaround , e.g. any macro . Any help !!
Regards,
Nita
Edited by: Nita Prasad on Aug 11, 2009 11:20 AM
Edited by: Nita Prasad on Aug 11, 2009 11:25 AMHi Fritz,
I am not getting the way.. how to open the deski report programmatically. I am writing the code in this way:
Dim oInfoObjects1 As CrystalInfoStoreLib.InfoObjects
Set oInfoObjects1 = oInfoStore.Query("SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME='" & oInfoObject.Title & "' AND SI_ID='" & oInfoObject.Id & "' order by SI_NAME")
Dim oInfoObject1 As CrystalInfoStoreLib.InfoObject
Dim UserCount1 As Integer
UserCount1 = oInfoObjects1.ResultCount
MsgBox "SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME=' " & oInfoObject.Title & " ' AND SI_ID=' " & oInfoObject.Id & " ' order by SI_NAME"
MsgBox " Total number of Deski reports are : [" & UserCount1 & "]", vbOKOnly
Dim j As Integer
For j = 1 To UserCount1
Set oInfoObject1 = oInfoObjects1.Item(i)
sFile_ReportList = StrConv(oInfoObject1.Title, vbLowerCase) & ".rep"
sFile_Output = "D:\TraceWrite1\ " & StrConv(oInfoObject1.Id & "_" & oInfoObject1.Title, vbLowerCase) & ".txt"
sFile_ReportListTemp = StrConv(oInfoObject1.Files.Item(j), vbLowerCase)
MsgBox "[" & sFile_ReportList & "]", vbOKOnly
If Dir(sFile_ReportList) = "" Then
MsgBox "The text file [" & sFile_ReportList & "] for the DeskI documents does not exist!" & vbCrLf & "Aborting process."
Exit Sub
End If
I am getting the error on line ... If Dir(sFile_ReportList) = "" Then... The code is not able to locate the deski report path.
Is this the correct way to get a deski report information? Please let me know, If I am going in the right direction.
Edited by: Nita Prasad on Aug 18, 2009 3:47 PM
Maybe you are looking for
-
i was given a macbook 5.1 by my mom, being nice, she erased everything on it, but then could not find the original start up disc. i called apple and had the serial number and said that leopard 10.5 was the operating system that orginally came with it
-
No. range not found for maintenance plan
Hi Team, I have maintained no. range for maintenance plan in SPRO. However I am getting this error while creating maintenace plan. Thanks
-
CALL FUNCTION func STARTING NEW TASK task
hi, i developed rfc to extract data and send to xi as my interface is Async as per soem documents it was mentioned the syntax CALL FUNCTION func STARTING NEW TASK task wat is the task ? in the syntax and how do i use it jeff
-
Bug: Creating Web Service data Control
Hi, I am facing a issue while creating a web service data control. While creating the data control I have given the path of the wsdl file saved in my filesystem. Once the data control is created, when I expand the created datacontrol in the data cont
-
Is there anyway to replicate these Android OS features on iOS?
I have an HTC Incredible Android phone that I like very much, though I am considering switching to iPhone. There are a few things I really like about Android that I am wondering if there is a way to replicate on an iPhone through apps or some other w