Jump to content
We've recently updated our Privacy Statement, available here ×

bklawans

Members
  • Posts

    122
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by bklawans

  1. Mark, are you trying to create a bar chart with two bars per year, one for high and one for low, or are you trying to create a single bar that shows both high and low for a year. If the former, you should be able to create a bar chart with a single category (the year) and two series, one for high and one for low. For fun, make it a stacked bar chart so the low is always in front of the high. If you want a chart where the low is the start of the bar and the high is the end of the bar, you will need to use a chart customizer and change the bar renderer, as greylimbo says. -Barry
  2. It looks like you set up your chart so that every data point is being treated as a separate series instead of different points on the same line. As a result, you get a bunch of lines that only contain one point. Check your data series for the chart. If you only want one line, set the seriesExpression for the categorySeries to a constant - some string that defines what it is showing. Then make sure the valueExpression actually has the value you want plotted. (Notice how the legend shows a date for each entry in the chart? That means it thinks each data point is its own series.) That should get you one line with a meaningful name in the legend. Then you can play around with settings like labelRotation, etc to get the chart to look nicer. -Barry
  3. Hi Camelia, You are changing the reports the come with OpenBravo, right? I'm not familiar with the actual integration, but I'd bet they have the compiled reports (.jasper files) somewhere and are using those, not the .jrxml files that you are modifying. I'd suggest posting to the OpenBravo forums so somebody at OpenBravo can comment on what they have done. -Barry
  4. It looks like your code didn't get attached to the message correctly - please repost it. I just tried running the printservice sample that is bundled with JasperReports on OS X 10.5.2 and it works for me - the print dialog comes up just fine. JasperReports is using the Swing print services built into the JDK. It appears to me that it attempts to connect to the most recently used server when launching the print dialog - any chance that server is no longer on your network and you are getting some sort of timeout trying to access it? Try running the printservice sample (in demo/samples/printservice) and see what happens. To run it use the following commands: ant javac ant fill ant print -Barry
  5. I'm not sure I understand the problem. Are the subreports overlapping? If so, you need to set the lower subreport's position to be "float" instead of the default "relative to top". That way the location of the second subreport gets moved down if the first subreport is longer than the design view. I believe you can set the position on the general tab of the subreport properties. -Barry
  6. You can get the value of a BigDecimal as an integer by calling intValue() on it, and then create an Integer from that. Be careful though - if iReport thinks the returned value is a BigDecimal, that probably means that the field is declared in the database to be large enough to overflow an integer. -Barry
  7. When using BigDecimals you need to use the mathematical operators defined in the BigDecimal class. So if you need to divide two BigDecimals create an expression of type BigDecimal and use "bigDecimalOne.divide(bigDecimalTwo, BigDecimal.ROUND_HALF_UP)", which gives you the result of a your variable bigDecimalOne divided by the variable BigDecimalTwo. -Barry
  8. When you want a single report to show data from more than one query, you need to use a subreport. The easiest thing to do is to put each chart in its own subreport with its own query, and then place both subreports in the header or footer of a "master" report. If you want you can also add some data in the master report. -Barry
  9. If you only need to use the new date as part of a filter, consider doing it all in the query. If you have two parameters, one the date entered and one the number of days, you can use the MySQL DATE_ADD function where you need the new date. Your query would contain something like Code:WHERE some_field < DATE_ADD($P{date}, INTERVAL ${num_days} DAY) -Barry Post edited by: bklawans, at: 2007/07/27 00:06
  10. svenn wrote: The solution end up being a simple one. In my variable expression I put the following ( $F{<my value>} <= 0 ? null : $F{<my value>} ) Now the average only includes the values greater then zero. That's the trick I usually use, but replace the "<=" with "!=" if you want to include negative values in the average. -Barry
  11. I've used it - in fact I wrote it. I should update it to use the new field provider support in iReport so there is less manual coding, and it should load the Oracle connection info from a property file. If anybody wants to contribute let me know. -Barry
  12. You are right about JFreeChart - it adds series in the order it finds them. One option is to add some null values to the query with the series in the order you want, via a SQL UNION. -Barry
  13. Hi All, JasperSoft is an active participant in the Open Solutions Alliance, and the OSA interoperability working group (which I chair :-) ) is currently working on an integration project with includes (among other things) a standard authentication and single-sign on mechanism. We are leaning to CAS as the recommended auth mechanism, and assuming that gets approved by the working group you can expect that we will start shipping example configs to work with CAS out of the box. -Barry
  14. Some good ideas here. It also leads to a split on what we should maintain internally to the server (non-time based data like "top n reports") and time based stuff which should be exposed to the monitoring app, like output size in the repository, scheduler runs, etc. I want to give the list of statistics that the server should keep some thought. Obvious choices are the "top n reports", "fastest reports", "slowest reports", "slowest queries", etc. Should this information be persisted somewhere, or only maintained since the server last started? I'd say the email notification should probably be handled by the monitoring app, since they typically have excellent alert notification capabilities. -Barry
  15. Hi All, I've been talking to some folks from Hyperic lately, and the topic of using a system monitoring tool to watch over the Jasper Intelligence server came up. I'm thinking of launching a monitoring project on the forge, and I'd like to get the community's input on a few things: 1) Are you at all interested in having the ability to monitor the server? 2) Do you have a preferred monitoring tool, and if so what technologies (JMX, SNMP, etc) does it support? 3) What aspects of the server do you want to monitor? Some of the obvious ones include memory usage over time, number of reports run, number of pages filled, number of documents produced (possibly with seperate counters for each exporter). What else? How about things like average queue length in the scheduler? I'm hoping this turns into an active conversation to help define the monitoring capabilities of the server. Given JasperSoft's involvement with the Open Solutions Alliance we might generate an OSA interoperability project out of it. -Barry
  16. What happens when you run your report? Also, take a look at JASPER_PRINT_LIST option to the JRPdfExporter. You can use it to pass a list of JasperPrint objects to the exporter, which are combined into a single PDF document. -Barry
  17. That's discussed in the FAQ - http://jasperforge.org/sf/wiki/do/viewPage/projects.jasperreports/wiki/FAQ17 You probably need to either move the crosstab to the summary section or create a subdataset. -Barry Post edited by: bklawans, at: 2007/01/12 22:37
  18. It seems that, unlike MySQL/PostgreSQL/Oracle/etc, MS SQL doesn't allow multiple NULL values for a nullable unique column, i.e. it considers two NULL values equal. This is why the unique constraint doesn't work in MS SQL server. Too bad - that is just plain wrong. The SQL spec is pretty clear that NULLs do not equal anything else, not even each other. It makes one exception - in a group by you are supposed to combine all the NULLs into a single group. Old versions of SQL Server worked like the other databases and allowed multiple NULLs. -Barry
  19. That usually means the data set has no rows in it. If the chart is in the report header make sure you set the evaluation time to "Report" or else the chart will be run before the query. Its also possible that the query actually isn't returning any rows. Use a printWhen expression that only shows the chart when there is data. -Barry
  20. That is on my to-do list (I'm the resident Mac-head at JasperSoft), but pretty low down. I've got a package that uses Apple's jar launcher to run iReport as an app, but its pretty crude right now and not ready for prime time. Right now the best way to run iReport on a Mac is to use Terminal and run the iReport.sh script to launch it. -Barry
  21. The best way to reach me is at bklawans AT jaspersoft.com. -Barry
  22. 1) Does the Oracle function you want to call return a set of rows in a cursor, or a single value? We have a sample Oracle specific data set in the Project section of this Forge which can call stored procedures and functions that return cursors. If you really need only a single value it should be fairly easy to take that source and modify it to return a value instead of result set. If you want to but the value in just the footer you will need a second data set to trigger the call to seperate query, so you will need to put the call to the function in a subreport. 2) Try setting the eval time to "Report". Make sure the data set for the chart isn't empty. (You can use a printWhenExpression to replace the chart with an error message when there are no rows of data.) -Barry
  23. If all the phone numbers are US style, and all have the area code set the field value expression to "(" + $F{PhoneNumber}.subString(0, 3) + ")" + $F{PhoneNumber}.subString(3, 6) + "-" + $F{PhoneNumber}.subString(6) -Barry
  24. Funny, I just ran into this yesterday. Lucian, lets chat on Monday and see if we can figure out what the problem is. In my case it appears that the engine is acting like the evaluation time is "Report" even though I've set it to "Now". Ever row has the data for the last row. Its fairly easy to reproduce - put a meter in the detail band showing one of the values in the row. All the meters show the same value. I'll double check the ValueDataSet code to make sure I'm handling the resets properly. -Barry
  25. If the objects in your ArrayList are also beans you can set the subreport's dataSourceExpression to "new JRBeanCollectionDataSource(your_array_list)". Then in the subreport just declare the fields and you are all set. -Barry
×
×
  • Create New...