Report with rolling periods
Hi
We have a requiremt of generating reports with a rolling periods functionality. The report has to return data for the recent one year ( eg., if today is 30 Aug 2007, the report should result data from 31 Aug 2006 to 30 Aug 2007).
We are using XMLA connector to build the query definition as we want to have coustomized reports and do not intend to use standard BI reports.
Please let us know how the rolling periods functioanality can be developed within Visual Composer.
Thanks
Kiran
Hi Raju,
I apologize if you have mistaken my query. I am not referring to deletion of data from the data target. I wanted to know if we can can execute a report in VC which fetches data for the current one year. If we were using standard/customized BI reports we could have had the dynamic selection of the filter value using variables. But in our scenario we are developing queries using XMLA connector through the BI integration wizard. In this process we dont find a flexibility to have dynamic time periods (like the report fetching latest one year data). We would like to know if this functionality can be developed in VC through some functions.
Thanks
Kiran
Similar Messages
-
Opportunity Product reporting with # of Periods and Frequency
We are just about to roll out out a business unit and they will be using the frequency, number of periods, and the start/close date fields on the revenue record.
In staging, I created a test report and it 'explodes' the product to have 12 individual entires, since I picked 12 as the number of periods. I set the qty to 60 and all 11 months have 60 but the first month has 61. Is there a reason for that?Product: you do get the dimensions and facts for the Product object... so you'd build a report with Product information
Opportunity-Product: you do get dimensions and facts for the Products related to an opportunity... so you'd build a report with Opportunity and Product information
Antonio
Bexpert, Brazil -
AP aging Report with Aging Period as parameter
HI all ,
It's required from me to make AP aging period report with parameters including Aging periods as parameter so that the user will have list of value with the aging periods avaialable & he should choose from them .
Based on that
the columns with the period starting & ending periods will be varied (dynamic) up on the period chosen .
The required is to get the invoice amount under each related column ............ is that possible & if yes please just guide me with the idea as the many ideas that i got is calculating the amounts with the period as statically behavior ...
Thanks alotis there something missing in my requirments
-
Report painter report with diff. periods for different company codes
I need to create a report showing different period data for diff. company codes.
If company code = 1000, start date = 1, end date is user selected
If company code = 2000, start date = 6, end date is user selected.
Can this be done?
Thanks experts.Hello
Can you please explain a little more in details. I know how to create a formula variable but am not sure how to frame the if statement. The company code is coming from the selection screen when the user runs the report. How do I put an If statement to say "If company code is XXXX, then start period is "06"?
Thanks for your help, -
Consingment stock report with values and periods..
hello guys,
i have an issue here.. consignmet stock are "managed" within SD. Is there a standard report which cointains info about consigment stock, its amounts (values) and periods ?
Main point here - consingment stock is processed within SD, so for example t.code MB54 is not useful here .
Thanks guys !
Best regards,
LaimonasHi......MB54 wont help since that shows the Vendor consignment stocks.
Use MB52 creatively like this.
Goto MB52
Put your plant name.
In the section 'Selection : Special stock', Mark the check box and put 'W' in Special Stock indicator.
Choose the other settings as per your choice.
Execute.
Now you will see a whole lot of stocks along wioth the Consignment stocks. If you only want to see the consignment stocks, do like this
In the list, put you cursor on the column 'S' which is special stock (i think the 4th colm in the list). Now choose the filter icon and put the filter criteria a 'W' i.e. customer consignment stock.
You can save this is a variant with a name, say /ZCONS.
Now come back to the initial MB52 screen. In the bottom section for display options, put this variant name in the field Layout.
So now when you next run the report with this variant, you will only get the customer consignment stocks with their values.
Hope this helps. -
Displaying the Report with Period, Qtr and Year in a side by side view
We have a requirement on which user wants to see report data with respect to week, Period, Quarter and Half Yearly views side by side in the same report on selecting a Period in the Prompt.
Dividing this to multiple reports for Week, Period,Qtr and Half year is not a Solution as Customer is not ok.
Project is using OBIEE 10.1.3.4.1 as a reporting tool.
Regards
Subhadipta SamantrayHi,
if you are looking for the below format
week|factvalue|month|factvalue|quarter|factvalue|year|factvalue with one prompt
then revert back. Else revert back with the proper format required.
Regards
MuRam. -
My watches issue & rolling period logic
Dear Concerned:
I am unable to view my watches in control panel. I have been facing this problem since a long time , internet speed is awesome, other colleagues of mine can see their watches ,the page ends up in an error mentioned under
Problem Report
There was a communication problem.
Message ID
TCP_ERROR
Problem Description
The system was unable to communicate with the server.
Possible Problem Cause
The Web server may be down.
The Web server may be too busy.
The Web server may be experiencing other problems, preventing it from responding to clients.
The communication path may be experiencing problems.
Possible Solution
Try connecting to this server later.
now in order to resolve the issue when i try to send an e mail to SAP network using my official ID( i receive SDN correspondence on daily basis on my official ID ) or other ID there is delivery failure and i am unable to send it to the concerned to get my issue resolved.
Secondly i am unable to understand the rolling period logic with regard to daily decline in ranking.. I am top contributor on Financial Forum...Today my score is 662, by tomorrow it will be reduced by 20 or 30 , if the 30 days rolling logic would be applied then it should also stand true for other contributors. Rolling period logic was explained to me by Daily Decline in ranking score
Their daily score does not decline. Why is that so? Would someone clarify the underlying logic.
RegardsNilanjan,
Thanks for your prompt reply as always. Somehow I was able to get this thing working, please don't ask me how. It was just a piece of bigger logic code.
I have awarded you full points..
Thx,
Rockdy -
Stock report for a period (based on posting date)
Hi Experts,
We have a requirement as under:
1) We want a report for a period say from 01.04.2011 to 30.09.2011 (closed period for both MM and FI postings). Report is being taken on a later date say 01.12.2011.
2) The report should say the status of stock as of 30.09.2011 only even of being taken in the month of December
3) I tried to take the desired report through MB5B for the period 30.09.2011 to 30.09.2011 (selection date fields) on 20th december, 2011 and noticed that if same report with the same selection criteria is taken at two different times, output data is not the same whereas MM and FI posting periods are already closed.
Can anybody suggest alternative SAP standard report where output will remain the same if report with same selection criteria is taken at different intervals ELSE in case of change we should be able to see the documents posted in between if back dated entries have been posted after opening MM /FI period.
thankssure it speaks the same, but it mentions as well the reasons (1) and has much more information (2) and a solution.(3)
1)
user starts transaction MB5B for a very large number of materials or for all materials in a plant
During the runtime of transaction MB5B, goods movements are posted in parallel:
- The results of transaction MB5B are incorrect.
- Each run of transaction MB5B returns different results for the same combination of "material + plant".
Example: Transaction MB5B should process 100 materials with 10,000 MM documents each. The system takes approximately 1 second to read the material master data and it takes approximately 1 hour to read the MM and FI documents. A goods movement for a material to be processed is posted approximately 10 minutes after you start transaction MB5B. The stock for this material before this posting has already been determined. The new MM document is also read, however. The stock read before the posting is used as the basis for calculating the stocks for the start and end date.
Even for an old and closed period, MB5B starts today and calculates backwards any movement to finally get the stock for the time your specified in your selection.
2)
The SAP standard release does not include a solution
so you have to understand that there is no real alternative transaction in SAP
3) and then they provide a large section with a workaround that can be developed by an experienced programmer within 3 to 5 days.
So how shall anyone here be able to tell you an alternative report?
if someone does, then it is an owndeveloped z-report which is not available in your sap system.
if you know that people want lookup period closing stocks at any time in future, then either schedule MB52 at month end and store the list somewhere (and do not allow backposting)
or have an Abaper create a stock report based on the history tables MARDH, MCHBH, MBEWH etc.
And even here you may encounter an issue at some day, if you start archving special stocks or material masters, because then the stock figures from the historic tables are gone and you cannot rebuilt a reliable stock report . -
P & L report for current period,YTD and previous YTD
I am trying to create a P & L report with the columns for current period,YTD and previous YTD, I have include the measures as the key of columns, which by using period or YTD we can retrieve the current period and YTD column, is there as easy way to get the previous YTD? although I can get it by using evtim to het every month and calculate the previous YTD.
resolved, just need to bring both time and measures in the columns
-
Stock report with the field... last stock changed at certain date?
Is there any standard report with the date of the last change of the stock value and quantity?
Points granted
BR
SasoHi people,
I want to know why MBEWH have not any material stock information for period when doesn´t exist any inventory movement for some materials, for example I have a case in 12.2006 period the material A have stock quantity 100 and value 1000 and the next period 01.2007 no stock movements were done for this reason the MBEWH had to had the same values stock 100 and value 1000 in 01.2007 period, but in MBEWH is missing, there is not any information for material A in this period.
Anybody knows about this problem?
Thanks.
Lili. -
Asset Report to check periods in Closed Fiscal Year
Hi Gurus,
Would want to check what other standard SAP t-codes that could be used to check the periods for the closed Fiscal year in asset reporting? i.e. FY 2008 closed, would need to check asset balances, NBV, etc for period 7, system prompts an error and could only execute for period 12.
Appreciate feedback
Many thanks
eddie limHi
If you are using the report S_ALR_87011963, following is the limitation for it.
You cannot run a report for any day you choose within a period. The
following restrictions apply to the report date:
o If the report date is in the past, or in the current fiscal year:
You can use the end of a fiscal year or the end of any period as the
report date. If the fiscal year is already closed, you can only use
the end of the fiscal year as the date.
o If the report date is in a future fiscal year:
The system always uses the last day of the fiscal year as the report
date.
o If the report date is the first day of a fiscal year:
To ensure that the values for the beginning of the fiscal year are
same as those for the end of the previous fiscal year, the
system runs reports with the report date 1/1/YYYY for the date
12/31/YYYY-1 (the same applies for a non-calendar fiscal year).
If you want to run report for forcating depreciation and NBV, use TCOD - S_ALR_87012026
Thanks
GG -
A big problem of Generate report with PDF format....Urgent
I want to generate a report with pdf format through one java file, it have two page 1)gen_report.jsp 2) report_gen.java , the compliation was failed. However, i don't what the problem is .... i hope anyone can help me as it is very argent for me ....Thanks a lot
1)gen_report.jsp
<table id="AutoNumber1">
<tr>
<td background="images/top5movie.png">
<p align="center"> </p>
</td>
</tr>
<tr>
<td >
<div align="center">
<table id="AutoNumber2" >
<form method="GET" action="../report_gen" name="report_gen" target="_blank" onSubmit="javascript:return checkr1(this)">
<tr>
<td ><b>Report Description:</b></td>
<td >This report is to show the top five popular movies in cinemix for a period </td>
</tr>
<tr>
<td><b>Data scope:</b></td>
<td >Start from
<input type="text" name="start" value="2003-1-1" >to
<input type="text" name="end" value="2006-1-1" ></td>
</tr>
<tr>
<td><b>Data processing:</b></td>
<td >Show
<select name="order_by">
<option value="desc" selected>top</option>
<option value="asc">bottom</option>
</select>
5 films</td>
</tr>
<tr>
<td> <p align="center">
<input type="submit" value="View_Report" name="subm">
</p></td>
</tr>
<input type="hidden" name="report" value="r1">
</form>
<form method="GET" action="../report_gen" name="report_gen" target="_blank" onSubmit="javascript:return checkr2(this)">
<input type="hidden" name="report" value="r2">
</form>
</table>
</div>
</td>
</tr>
</table>Then my java code is here
report_gen.java
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
// chart and pdf out
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.xy.*;
import org.jfree.data.xy.XYBarDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.statistics.SimpleHistogramDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.DefaultFontMapper;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import com.lowagie.text.pdf.PdfPCell;
public class report_gen extends HttpServlet
private final String titles[] = {"Top Five popular movies ",
"Financial cirumstance of cinemas",
"Distribution of time segment",
"Distribution of favourite movie type"
private final String descs[] = {"This report is to show the top five popular movies in cinemix for a period ",
"This report is to show the financial circumstance of each cinema site ",
"This report is to analysis the customer when is the most visit time ",
"This report is to analysis the customer which type of movie do they watch the most"
private final String bigTitle = "Cinemix";
private final String driver = "org.gjt.mm.mysql.Driver";
private final String url= "jdbc:mysql://localhost:3306/cinemix";
private final String userID = "abc";
private final String passwd = "abc";
public void init(ServletConfig config) throws ServletException
super.init(config);
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
final int width = 550;
final int height = 200;
/ title font (centre and report title)
final Font fTitle0 = FontFactory.getFont("Helvetica", 42, Font.BOLD);
final Font fTitle1 = FontFactory.getFont("Helvetica", 30, Font.BOLD);
// centre name:
final String title0 = bigTitle;
// Default category for DefaultCategoryDataset
final String cat = "data";
Connection conn;
JFreeChart chart;
String title1 = "xyz Report";
String chartDesc = "description";
String notes[] = new String[4];
String chartTitle = "so bad this is title";
String chartXTitle = "this is x";
String chartYTitle = "this is y.";
String report = request.getParameter("report");
int max=-10000;
int min=10000;
int j=0;
// do some basic checking
if (report == null || report.equals(""))
report = "-1"; // this course unknow report error message
String start = request.getParameter("start");
String end = request.getParameter("end");
String order_by = request.getParameter("order_by"); // ToDo: check invalid string
int topN = 5;
String order = (order_by.equals("desc")) ? "Top" : "Last";
String inv[] = {"08:30", "09:30", "10:30", "11:30", "12:30", "11:30", "12:30", "13:30", "14:30", "15:30", "16:30", "17:30","18:30","19:30","20:30","21:30","22:30","23:30"};
int inv_val[] = new int[inv.length - 1];
try
Class.forName(driver).newInstance();
catch(Exception e)
printE("Cannot load mysql database driver!", response);
e.printStackTrace();
return;
try
conn = DriverManager.getConnection(url, userID, passwd);
if (report.equals("r1")) { // report 1
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Statement stmt = conn.createStatement();
String sql = "select *,count(f.Name),f.Name from film f, filmDetail fd, ticket t where f.startDate > '" + start + "' and f.endDate < '" + end + "'and fd.filmID = f.filmID and fd.filmDetailID = t.filmDetailID group by f.name order by fd.filmDetailID asc limit '" +topN+"'";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
if (rs.getInt("fd.filmDetailID") > max) max = rs.getInt("fd.filmDetailID");
if (rs.getInt("fd.filmDetailID") < min) min = rs.getInt("fd.filmDetailID");
j++;
ataset.setValue(rs.getInt("fd.filmDetailID"), cat,rs.getString("f.Name"));
title1 = titles[0];
chartDesc = descs[0];
chartTitle = order + " " + topN + " popular movie";
chartYTitle = "Box Office record";
chartXTitle = "Film Name";
gender = " ";
chart = ChartFactory.createBarChart(chartTitle, chartXTitle, chartYTitle, dataset,PlotOrientation.VERTICAL, false, true, false);
else
print("Error: I don't inderstand your request!", response);
return;
catch (SQLException e)
printE("Cannot open database connection? <br>", response);
// printE(e.toString);
e.printStackTrace();
return;
response.setContentType("application/pdf");
Document document = new Document(PageSize.A4, 5, 5, 5, 5);
try
PdfWriter writer;
writer = PdfWriter.getInstance(document, response.getOutputStream());
HeaderFooter footer = new HeaderFooter(new Phrase("Page: "), true);
footer.setBorder(Rectangle.NO_BORDER);
document.setFooter(footer);
footer.setAlignment(Element.ALIGN_CENTER);
// step 3
document.open();
document.add(getHeader(title0, title1, start, end, gender, order, topN, chartDesc));
document.add(printChart(chart, writer));
document.add(getFooter(notes));
catch(DocumentException de)
de.printStackTrace();
// step 5
document.close();
return;
}// end doGet()
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
// processRequest(request, response);
/** Returns a short description of the servlet.
public String getServletInfo()
return "Generate reports for " + bigTitle;
/* To print en error and exit(?) */
private void printE(Object obj, HttpServletResponse response) throws IOException
response.setContentType("text/html");
PrintWriter out;
out = response.getWriter();
out.print(obj.toString());
out.close();
// To-Do: how to force exiting?
// create data chart
private PdfPTable getHeader(String title0, String title1, String start, String end, String sex, String order, int topN, String desc)
Font fTitle0 = FontFactory.getFont("Helvetica", 42, Font.BOLD);
Font fTitle1 = FontFactory.getFont("Helvetica", 24, Font.BOLD);
Font fTitle3 = FontFactory.getFont("Helvetica", 12, Font.BOLD);
Font fValue = FontFactory.getFont("Helvetica", 12, Font.UNDERLINE);
Paragraph parStartEnd = new Paragraph();
parStartEnd.add(new Phrase("Data start from: ", fTitle3));
parStartEnd.add(new Phrase(start, fValue));
parStartEnd.add(new Phrase(" to ", fTitle3));
parStartEnd.add(new Phrase(end, fValue));
Paragraph parGenerateDate = new Paragraph();
parGenerateDate.add(new Phrase("Report generated at: ", fTitle3));
parGenerateDate.add(new Phrase(new java.util.Date().toString(), fValue));
Paragraph parGender = new Paragraph();
parGender.add(new Phrase("Current show gender: ", fTitle3));
parGender.add(new Phrase(sex, fValue));
Paragraph parTopN = new Paragraph();
parTopN.add(new Phrase("Now is showing ", fTitle3));
parTopN.add(new Phrase(order, fValue));
parTopN.add(new Phrase(" ", fValue));
parTopN.add(new Phrase(new Integer(topN).toString(), fValue));
parTopN.add(new Phrase(" record(s)", fTitle3));
// Start main table
PdfPTable tblMain = new PdfPTable(1);
tblMain.getDefaultCell().setBorder(0);
// Print title
tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
tblMain.addCell(new Paragraph(title0, fTitle0));
tblMain.addCell(new Paragraph(title1, fTitle1));
tblMain.addCell("");
tblMain.addCell("");
tblMain.addCell("");
// Print headers data
//tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
//tblMain.addCell(parInvoiceNum);
//tblMain.addCell("");
tblMain.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
tblMain.addCell(parStartEnd);
tblMain.addCell("");
tblMain.addCell(parGenerateDate);
tblMain.addCell("");
if (sex != " ")
tblMain.addCell(parGender);
else if(order != null && topN > 0)
tblMain.addCell(parTopN);
else
tblMain.addCell(" \n");
tblMain.addCell("");
tblMain.setWidthPercentage(96);
tblMain.addCell(new Paragraph("Description of this report:", fTitle3));
tblMain.addCell(desc);
tblMain.addCell("\n");
// Finish main table
return tblMain;
// print a chart _directly_ to pdf and return a empty Pdftable...
public PdfPTable printChart(JFreeChart chart, PdfWriter writer)
PdfContentByte cb = writer.getDirectContent();
int width = 550;
int height = 450;
PdfTemplate tp = cb.createTemplate(width, height);
Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper());
Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height); //->,
chart.draw(g2d, r2d);
g2d.dispose();
cb.addTemplate(tp, 20, 170);
// quick method to push down the footer text
// the only things this method return
PdfPTable tblDownDown = new PdfPTable(1);
tblDownDown.getDefaultCell().setBorder(0);
tblDownDown.addCell(" \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n");
tblDownDown.addCell(" \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n");
tblDownDown.addCell(" \n \n \n \n \n \n");
return tblDownDown;
public PdfPTable getFooter(String notes[])
Font fNote = FontFactory.getFont("Helvetica", 14, Font.UNDERLINE);
Font fComment = FontFactory.getFont("Helvetica", 12, Font.ITALIC);
Font fTitle1 = FontFactory.getFont("Helvetica", 30, Font.ITALIC);
// Start footer table
PdfPTable tblFooter = new PdfPTable(1);
tblFooter.getDefaultCell().setBorder(0);
if (notes != null)
tblFooter.addCell(new Paragraph("Notes:", fNote));
tblFooter.addCell("");
tblFooter.addCell("");
tblFooter.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
for (int i=0;i<notes.length;i++)
if (notes[i] != null)
tblFooter.addCell(new Paragraph("" + (i+1) + ". " + notes[i] + "", fComment));
tblFooter.addCell("");
tblFooter.addCell("");
tblFooter.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
tblFooter.addCell(new Paragraph("- End of report -", fComment));
return tblFooter;
}Go to the cache directory and see if you can open the report directly from here (not in IE).
I have seen posts on problems with Acrobat Reader Plugin for IE (I believe it was version 6 of Reader). -
Bussiness logic/technical flow for report with tcode MB5B
Guys,
Please send me any Functional Spec or Technical Spec of the standard SAP report with tcode MB5B ( Stock as on posting date). Any document explaining logic or technical flow is very much useful to me..I need to understand the logic and what are all the underlying tables used. I will assign more points to anyone who help me.MB5B - Stock on posting date
The report Stock for posting date lists a company's own stocks in a particular time period (earliest date/Time 00:00, latest date/time 24:00).
The posting date is used for selection. Note that the posting date may be different from the entry date (date entered in the system) as well as the document date.
Starting with the current stock balance, the report uses the material documents to calculate the stock balance for the specified posting date.
Requirements
You need authorization to display material documents for all chosen plants (authorization object Material documents: plant, activity 03).
Output
Thisreport issues a list with the following information for each material:
Stock quantity and stock value on first date
Total and value of all receipts
Total and value of all issues
Stock quantity and stock value on last date
List of the material documents that were posted in the specified time period
To go to the detail screen for the material document item, place the cursor on a material document and choose Goto -> Document item
If you require more data and want a detailed evaluation, you can enhance the current layout or choose another existing layout via Settings -> Layout.
Tables Used :
t001; t001w; t001l; mchb, mbew,mseg.
Thanks -
Bursting a report with multiple queries
Hi,
I need to set-up bursting in BIP for a report with multiple queries. The output format is pdf and delivery is through e-mail. Since the queries need to be linked, I'm trying to do this using data template. I've set-up split and burst based on a field (store_id) from the first query which is used as a bind variable in the subsequent queries. So I'd ideally want the report to be split based on store_id. The report works fine if I use a parameter for store_id and view the output by store_id. When I try to schedule the report for bursting, it generates and e-mails the reports but only the last report appears to have correct data output while the others have only the output from the first query (and all other queries appear to return nothing in the report).
Any suggestions on what could be the issue here? Thanks!
Here is the data template for the report:
<dataTemplate name="Report" description="Report" dataSourceRef="ReportDB">
<dataQuery>
<sqlStatement name="STORE_VENDOR">
<![CDATA[SELECT STORE.STORE_ID Q1_STORE_ID, VENDOR.VENDOR_ID Q1_VENDOR_ID, VENDOR.VENDOR_DESC Q1_VENDOR_DESC, PERSON.NAME Q1_NAME
FROM STORE, SERVICE_TICKET, VENDOR, ROLE, ROLE_TYPE, PERSON, PERIOD PERIOD_FROM, PERIOD PERIOD_TO
WHERE (SERVICE_TICKET.SOURCE_ID = STORE.SOURCE_ID AND SERVICE_TICKET.STORE_ID = STORE.STORE_ID)
AND (SERVICE_TICKET.SOURCE_ID = VENDOR.SOURCE_ID AND SERVICE_TICKET.VENDOR_ID = VENDOR.VENDOR_ID)
AND (STORE.SOURCE_ID = ROLE.SOURCE_ID AND STORE.STORE_ID = ROLE.STORE_ID)
AND (ROLE.SOURCE_ID = ROLE_TYPE.SOURCE_ID AND ROLE.ROLE_TYPE_ID = ROLE_TYPE.TYPE_ID AND ROLE_TYPE.TYPE_DESC = 'PIC')
AND (ROLE.SOURCE_ID = PERSON.SOURCE_ID AND ROLE.PERSON_ID = PERSON.PERSON_ID)
AND SERVICE_TICKET.START_DATE BETWEEN PERIOD_FROM.START_DATE AND PERIOD_TO.END_DATE
AND PERIOD_FROM.PERIOD_DESC = 'Cal Week 1'
AND PERIOD_TO.PERIOD_DESC = 'Cal Week 4'
GROUP BY STORE.STORE_ID, VENDOR.VENDOR_ID, VENDOR.VENDOR_DESC, PERSON.NAME
ORDER BY STORE.STORE_ID]]>
</sqlStatement>
<sqlStatement name="WO">
<![CDATA[SELECT STORE.STORE_ID Q3_STORE_ID, 'Nightly Cleaning' Q3_NIGHTLY_CLEANING, 'Nightly Cleaning' Q3_DESCRIPTION, SERVICE_TICKET.TICKET_ID Q3_TICKET_ID, TO_CHAR(SERVICE_TICKET.END_DATE, 'MM/DD/YYYY') Q3_END_DATE, 'Excellent' Q3_QUALITY_RATING_1, 'Satisfactory' Q3_QUALITY_RATING_2, 'Unsatisfactory' Q3_QUALITY_RATING_3
FROM SERVICE_TICKET, STORE, PERIOD PERIOD_FROM, PERIOD PERIOD_TO
WHERE (SERVICE_TICKET.SOURCE_ID = STORE.SOURCE_ID AND SERVICE_TICKET.STORE_ID = STORE.STORE_ID)
AND SERVICE_TICKET.START_DATE BETWEEN PERIOD_FROM.START_DATE AND PERIOD_TO.END_DATE
AND STORE.STORE_ID = :Q1_STORE_ID
AND PERIOD_FROM.PERIOD_DESC = 'Cal Week 1'
AND PERIOD_TO.PERIOD_DESC = 'Cal Week 4']]>
</sqlStatement>
<sqlStatement name="SERVC_TYPE_1">
<![CDATA[SELECT STORE.STORE_ID Q4_STORE_ID, ZONE.ZONE_DESC Q4_ZONE_DESC, SERVICE_TICKET_LINE.SERVICE_COST Q4_SERVICE_COST, SERVICE_TICKET_LINE.TICKET_ID Q4_TICKET_ID, TO_CHAR(SERVICE_TICKET_LINE.WO_END_DATE, 'MM/DD/YYYY') Q4_WO_END_DATE, 'Excellent' Q4_QUALITY_RATING_1, 'Satisfactory' Q4_QUALITY_RATING_2, 'Unsatisfactory' Q4_QUALITY_RATING_3
FROM SERVICE_TICKET_LINE, SERVICE_TICKET, STORE, SERVICE_TYPE, ZONE, PERIOD PERIOD_FROM, PERIOD PERIOD_TO
WHERE (SERVICE_TICKET.SOURCE_ID = SERVICE_TICKET_LINE.SOURCE_ID AND SERVICE_TICKET.TICKET_ID = SERVICE_TICKET_LINE.TICKET_ID)
AND (SERVICE_TICKET.SOURCE_ID = STORE.SOURCE_ID AND SERVICE_TICKET.STORE_ID = STORE.STORE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = SERVICE_TYPE.SOURCE_ID AND SERVICE_TICKET_LINE.SERVICE_TYPE_ID = SERVICE_TYPE.TYPE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = ZONE.SOURCE_ID AND SERVICE_TICKET_LINE.ZONE_ID = ZONE.ZONE_ID)
AND SERVICE_TYPE.TYPE_DESC = 'ABC'
AND SERVICE_TICKET.START_DATE BETWEEN PERIOD_FROM.START_DATE AND PERIOD_TO.END_DATE
AND STORE.STORE_ID = :Q1_STORE_ID
AND PERIOD_FROM.PERIOD_DESC = 'Cal Week 1'
AND PERIOD_TO.PERIOD_DESC = 'Cal Week 4'
ORDER BY SERVICE_TICKET_LINE.SOURCE_ID, SERVICE_TICKET_LINE.TICKET_ID, SERVICE_TICKET_LINE.LINE_ID]]>
</sqlStatement>
<sqlStatement name="SERVC_TYPE_2">
<![CDATA[SELECT STORE.STORE_ID Q5_STORE_ID, ZONE.ZONE_DESC Q5_ZONE_DESC, SERVICE_TICKET_LINE.SERVICE_COST Q5_SERVICE_COST, SERVICE_TICKET_LINE.TICKET_ID Q5_TICKET_ID, TO_CHAR(SERVICE_TICKET_LINE.WO_END_DATE, 'MM/DD/YYYY') Q5_WO_END_DATE, 'Excellent' Q5_QUALITY_RATING_1, 'Satisfactory' Q5_QUALITY_RATING_2, 'Unsatisfactory' Q5_QUALITY_RATING_3
FROM SERVICE_TICKET_LINE, SERVICE_TICKET, STORE, SERVICE_TYPE, ZONE, PERIOD PERIOD_FROM, PERIOD PERIOD_TO
WHERE (SERVICE_TICKET.SOURCE_ID = SERVICE_TICKET_LINE.SOURCE_ID AND SERVICE_TICKET.TICKET_ID = SERVICE_TICKET_LINE.TICKET_ID)
AND (SERVICE_TICKET.SOURCE_ID = STORE.SOURCE_ID AND SERVICE_TICKET.STORE_ID = STORE.STORE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = SERVICE_TYPE.SOURCE_ID AND SERVICE_TICKET_LINE.SERVICE_TYPE_ID = SERVICE_TYPE.TYPE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = ZONE.SOURCE_ID AND SERVICE_TICKET_LINE.ZONE_ID = ZONE.ZONE_ID)
AND SERVICE_TYPE.TYPE_DESC = 'XYZ'
AND SERVICE_TICKET.START_DATE BETWEEN PERIOD_FROM.START_DATE AND PERIOD_TO.END_DATE
AND STORE.STORE_ID = :Q1_STORE_ID
AND PERIOD_FROM.PERIOD_DESC = 'Cal Week 1'
AND PERIOD_TO.PERIOD_DESC = 'Cal Week 4'
ORDER BY SERVICE_TICKET_LINE.SOURCE_ID, SERVICE_TICKET_LINE.TICKET_ID, SERVICE_TICKET_LINE.LINE_ID]]>
</sqlStatement>
<sqlStatement name="SERVC_TYPE_3">
<![CDATA[SELECT STORE.STORE_ID Q6_STORE_ID, ZONE.ZONE_DESC Q6_ZONE_DESC, 'Excellent' Q6_QUALITY_RATING_1, 'Satisfactory' Q6_QUALITY_RATING_2, 'Unsatisfactory' Q6_QUALITY_RATING_3, 'One' Q6_QTY_MISSING_1, 'Two' Q6_QTY_MISSING_2, '3 or More' Q6_QTY_MISSING_3
FROM SERVICE_TICKET_LINE, SERVICE_TICKET, STORE, SERVICE_TYPE, ZONE, PERIOD PERIOD_FROM, PERIOD PERIOD_TO
WHERE (SERVICE_TICKET.SOURCE_ID = SERVICE_TICKET_LINE.SOURCE_ID AND SERVICE_TICKET.TICKET_ID = SERVICE_TICKET_LINE.TICKET_ID)
AND (SERVICE_TICKET.SOURCE_ID = STORE.SOURCE_ID AND SERVICE_TICKET.STORE_ID = STORE.STORE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = SERVICE_TYPE.SOURCE_ID AND SERVICE_TICKET_LINE.SERVICE_TYPE_ID = SERVICE_TYPE.TYPE_ID)
AND (SERVICE_TICKET_LINE.SOURCE_ID = ZONE.SOURCE_ID AND SERVICE_TICKET_LINE.ZONE_ID = ZONE.ZONE_ID)
AND SERVICE_TYPE.TYPE_DESC = 'PQR'
AND SERVICE_TICKET.START_DATE BETWEEN PERIOD_FROM.START_DATE AND PERIOD_TO.END_DATE
AND STORE.STORE_ID = :Q1_STORE_ID
AND PERIOD_FROM.PERIOD_DESC = 'Cal Week 1'
AND PERIOD_TO.PERIOD_DESC = 'Cal Week 4'
ORDER BY SERVICE_TYPE.TYPE_ID]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="G_STORE_VENDOR" source="STORE_VENDOR">
<element name="Q1_STORE_ID" value="Q1_STORE_ID"/>
<element name="Q1_VENDOR_ID" value="Q1_VENDOR_ID"/>
<element name="Q1_VENDOR_DESC" value="Q1_VENDOR_DESC"/>
<element name="Q1_NAME" value="Q1_NAME"/>
</group>
<group name="G_WO" source="WO">
<element name="Q3_NIGHTLY_CLEANING" value="Q3_NIGHTLY_CLEANING"/>
<element name="Q3_DESCRIPTION" value="Q3_DESCRIPTION"/>
<element name="Q3_TICKET_ID" value="Q3_TICKET_ID"/>
<element name="Q3_END_DATE" value="Q3_END_DATE"/>
<element name="Q3_QUALITY_RATING_1" value="Q3_QUALITY_RATING_1"/>
<element name="Q3_QUALITY_RATING_2" value="Q3_QUALITY_RATING_2"/>
<element name="Q3_QUALITY_RATING_3" value="Q3_QUALITY_RATING_3"/>
</group>
<group name="G_SERVC_TYPE_1" source="SERVC_TYPE_1">
<element name="Q4_ZONE_DESC" value="Q4_ZONE_DESC"/>
<element name="Q4_SERVICE_COST" value="Q4_SERVICE_COST"/>
<element name="Q4_TICKET_ID" value="Q4_TICKET_ID"/>
<element name="Q4_WO_END_DATE" value="Q4_WO_END_DATE"/>
<element name="Q4_QUALITY_RATING_1" value="Q4_QUALITY_RATING_1"/>
<element name="Q4_QUALITY_RATING_2" value="Q4_QUALITY_RATING_2"/>
<element name="Q4_QUALITY_RATING_3" value="Q4_QUALITY_RATING_3"/>
</group>
<group name="G_SERVC_TYPE_2" source="SERVC_TYPE_2">
<element name="Q5_ZONE_DESC" value="Q5_ZONE_DESC"/>
<element name="Q5_SERVICE_COST" value="Q5_SERVICE_COST"/>
<element name="Q5_TICKET_ID" value="Q5_TICKET_ID"/>
<element name="Q5_WO_END_DATE" value="Q5_WO_END_DATE"/>
<element name="Q5_QUALITY_RATING_1" value="Q5_QUALITY_RATING_1"/>
<element name="Q5_QUALITY_RATING_2" value="Q5_QUALITY_RATING_2"/>
<element name="Q5_QUALITY_RATING_3" value="Q5_QUALITY_RATING_3"/>
</group>
<group name="G_SERVC_TYPE_3" source="SERVC_TYPE_3">
<element name="Q6_ZONE_DESC" value="Q6_ZONE_DESC"/>
<element name="Q6_QUALITY_RATING_1" value="Q6_QUALITY_RATING_1"/>
<element name="Q6_QUALITY_RATING_2" value="Q6_QUALITY_RATING_2"/>
<element name="Q6_QUALITY_RATING_3" value="Q6_QUALITY_RATING_3"/>
<element name="Q6_QTY_MISSING_1" value="Q6_QTY_MISSING_1"/>
<element name="Q6_QTY_MISSING_2" value="Q6_QTY_MISSING_2"/>
<element name="Q6_QTY_MISSING_3" value="Q6_QTY_MISSING_3"/>
</group>
</dataStructure>
</dataTemplate>Hello user6428199,
When you use ":Q1_STORE_ID" in your queries, BI Publisher looks for a report parameter named Q1_STORE_ID. Change all your report queries to get data for all the store_id's available. As you are bursting the report using the store_id as the bursting key, BI Publisher will split the report based on the stored_id and delivers content based on it. No matter how many queries you may have, BI Publisher will loop through all the store_id's available and all the queries will return data for that particular id in a report.
Thanks,
Machaan -
Hello everyone,
I am using the following MDX query on one of my SSRS report.
SELECT NON EMPTY { [Measures].[Days Outstanding], [Measures].[Amt] } ON COLUMNS,
NON EMPTY { ([Customer].[Customer].[Customer Key].ALLMEMBERS) }
HAVING [Measures].[ Days Outstanding] > 60
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM ( SELECT ( STRTOSET(@Location, CONSTRAINED)) ON COLUMNS
FROM ( SELECT ( {[Date].[Fiscal Period].&[2014-06]}) ON COLUMNS
FROM [Model]))
Over here, the data is being filtered always for current month and for a location that is being selected by user from a report selection parameter.
I would like to get the count of total no. of customers and sum of the amount measure.
When I am using them in calculated members it gives incorrect values. It considers all records (ignores the sub-select statements) instead of only the records of current month and selected location.
I also tried with EXISTING keyword in calculated members but there is not difference in output. Finally, I manage the same at SSRS level.
Can anybody please advise what are the ways to get the required sum of [Measures].[Amt] and count of [Customer].[Customer].[Customer Key].ALLMEMBERS dimension?
Also, does it make any difference if I manage it as SSRS level and not at MDX query level?
Any help would be much appreciated.
Thanks, Ankit Shah
Inkey Solutions, India.
Microsoft Certified Business Management Solutions Professionals
http://www.inkeysolutions.com/MicrosoftDynamicsCRM.htmlCan anybody please advise what are the ways to get the required sum of [Measures].[Amt] and count of [Customer].[Customer].[Customer Key].ALLMEMBERS dimension?
Also, does it make any difference if I manage it as SSRS level and not at MDX query level?
Hi Ankit,
We can use SUM function and COUNT function to sum of [Measures].[Amt] and count of [Customer].[Customer].[Customer Key].ALLMEMBERS dimension. Here is a sample query for you reference.
WITH MEMBER [measures].[SumValue] AS
SUM([Customer].[Customer].ALLMEMBERS,[Measures].[Internet Sales Amount])
MEMBER [measures].[CountValue] AS
COUNT([Customer].[Customer].ALLMEMBERS)
MEMBER [Measures].[DimensionName] AS [Customer].NAME
SELECT {[Measures].[DimensionName],[measures].[SumValue],[measures].[CountValue]} ON 0
FROM [Adventure Works]
Besides, you ask that does it make any difference if I manage it as SSRS level and not at MDX query level. I don't thinks it will make much difference. The total time to generate a reporting server report (RDL) can be divided into 3 elements:Time to retrieve
the data (TimeDataRetrieval);Time to process the report (TimeProcessing);Time to render the report (TimeRendering). If you manage it on MDX query level, then the TimeDataRetrieval might a little longer. If you manage it on report level, then the TimeProcessing
or TimeRendering time might a little longer. You can test it on you report with following query:
SELECT Itempath, TimeStart,TimeDataRetrieval + TimeProcessing + TimeRendering as [total time],
TimeDataRetrieval, TimeProcessing, TimeRendering, ByteCount, [RowCount],Source
FROM ExecutionLog3
WHERE itempath like '%reportname'
Regards,
Charlie Liao
TechNet Community Support
Maybe you are looking for
-
Intermittent Error 41106 Error when trying to open an Excel file.
I am having an intermittent problem while opening an Excel file. The problem only occurs occasionally during execution of my program. My program has a cluster of buttons each button opens a sub VI that is part of a calibration process. The first V
-
Can two people with their own iPhones use the same computer and iTunes?
Can two people with their own iPhones use the same computer and iTunes?
-
Pixma MX432 wireless scanning function doesn't work
I just purchased a Pixma MX432 multifunction printer. I set it up for wireless connection. The printer portion works fine. When I run the MP Navigator 5.1 to run the scanner, I get an error message: Canon MP Navigator EX has stopped working. A proble
-
Picking the abc.B file if abc.A file is present in source location.
Hi All, I need to pick a file using SFTP adapter. In the source location two files abc.A and abc.B are placed. abc.A is placed only after abc.B is fully processed and complete. I need to pick and process the file abc.B ,only after finding abc.A in so
-
The sound of the video sometimes plays in the background, but I can't get to it to turn it off. Also I was getting a double slider but only the one for the page I was really working in was active, but the bogus page will show up (flash up) when I nav