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

joseng62

Members
  • Posts

    196
  • 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 joseng62

  1. So in your Jasper Studio, set the given input control/parameter class as java.util.Collection Default expression new ArrayList(Arrays.asList()). In your jasper server you can set given IC type as mutli-select query and add your query. IN your SQL in where clause: AND $X{IN,YourDBColumn, yourInputControlName}
  2. Some properties to set on your main report. net.sf.jasperreports.page.break.no.pagination apply net.sf.jasperreports.export.html.remove.emtpy.space.between.rows true On your main report tick "Ignore Pagination". So now your html will not paginated, but you can decided where to break the page for xml and html. So if you want page breaks for xls, just add page break element to band and then add the following property to page break. net.sf.jasperreports.export.xls.break.after.row true For html Add page break element, then add property net.sf.jasperreports.export.html.between.pages "<div style='page-break-after:always'></div>"
  3. You wanting to do this in community edition or jasper pro version. In pro version you could achieve this via ad hoc reporting and creating your domain and assigning attributes to the logged in person, which assigns department. Then you use the build in groovy function in the expression session to achieve this. In Community addition, out of the box, No. You will need to use customizers(Which requires utilizing the Jfreechar api library) and some logic in the jasperstudio when designing the report. Or integrate 3 party library, with then again you need to customize, which you do not want to do.
  4. Not sure how well that is going to work with dates, you might need to format the date first. Why not just used the normal between sql function for dates to achieve what you want ? WHERE ((yourdatefield BETWEEN TO_DATE(yourstartdate, theformatofthedate ) AND TO_DATE( yourendate, theformatofthedate ) )
  5. When you deploy the report to jasper server you need to create or link the input control to the given report in jasperserver. Either you create the input control or if you have alreadt created it on the jasper server just browes the repository and select the alreadt created input control. The input control type is also imported. I would suggest to deploy the report on jasperserver, assign input control and then run the report as a user in jasper server and check if you can select and change the input control and ensure the report updates based on selections. Then you know your query and parameter combination on jrxml level is correct. https://community.jaspersoft.com/documentation/jasperreports-server-user-guide/adding-input-controls You know that the report deployment to jasperserver is correct. Then it just leaves your visualise.js implementation to check.
  6. Thanks a lot for your help! I have run into a different issue. I have made the position type float for all the tables. The data is not overlapping now but there is an empty page after which all the tables are shown. How can I fix it? Make sure Summary On a New Page is unticked. Make sure you do not have any other band before summry band, delete all other bands. Any other band you have will create a with space and then the summary page. If you need a header of footer then just tick te option Summary with Page Header and Footer. Also look at your Page format and ensure the height is reduced accordingly.
  7. Try to add the subreport in the summary band, that will work. Otherwise if you need it in the higher band sections. Just create a dummy group and then use the Group Header or Footer. Also the above research you did is correct. If your main report returns 10 rows, then the subreport would be generated 10 times over if put in the detailed band. So if your subreport query returns 10 rows, then you would have 10 * 10 data returned at end of day, most likely duplicates. Same issues if you assign a fields to the group that increments based on field value, then you would get same result. There are situations where on wants this type of behavior. In such situations you would most likely used the rows per group to pass over to subreport to be used as parameters in the subreports SQL query. I believe if you do the above you will start to get the hang of it and then figure out how to produce what you are aiming for. Best of Luck ​​​​​​
  8. When you export to html and you use this 'i tried with "float", "remove line with blank" + "blank when null" but none of that worked.' You need to add this property as well to main object that is the report. net.sf.jasperreports.export.html.remove.emtpy.space.between.rows = true Works for me. If you are going to export the report to excel then these as well. net.sf.jasperreports.export.xls.remove.empty.space.between.rows = true net.sf.jasperreports.export.xlsx.remove.empty.space.between.rows = true Instead of tables, I have charts and I also utilized the print when expression as well.
  9. Quite an interesting one. I tried a couple of combinations with create another variable and playing around with the Calculation set type, the increment set type and the Reset set type. Could not get the result you desired. The initial value expression would initialize based on the value you want, but that only gets executed as many times based on your increment and reset type and there is not expression to be use to manage this. You have 2 options that I could think of: 1) To write a custom.jar that has a method that you can instantiate as a variable or in the text field box, where you pass the report count and your method return the last 2 number of the number. So if 10 return 10 if 99 return 99 when passed 100 return 100. 110 it will return 10 1110 it will return 10 2000 would be 100 etc. You will have to get the logic right, but that is up to you. Option 2 Create a dummygroup in my case Group1. You can just add header. Make it 1 px in size. Create new variable called ‘variable_1’ in my setup. value class ; java.lang.Integer calculation ; Count Expression ; $V{REPORT_COUNT} != 0 ? 1 : 0 Initial value Expression ; 0 Increment type ; None Reset type ; [Group] Group1 Then select the Group1 Header and in the Expression use $V{Variable_1} == 100 So now your variable_1 will increment to 100 and then reset type is Group, so variable_1 will be reset to 0. So $V{REPORT_COUNT} will continue with the standard row count, but variable_1 will count to 100 and reset to 0 and then start to count to 100 again. Best of luck. If anyone out there with better idea, please share.
  10. Java heap space So memory issues. How much memory available on the server you are installing ? Ussually memory is allocated to JVM as required, most of this time the memory max is set in configuration files. Here is some read about that http://blog.sokolenko.me/2014/11/javavm-options-production.html If you have enought memory, then something else is wrong either the installer is looping and creating threads and not closing any, could be permission level issues. Tough to say without further detailed investigation. If you have used same installer on same type of os against same java sdk version with same amount of memory. Then maybe your installer got corrupted or there is some difference on the given box you are installing, maybe java classpath is to an older java version or file/program permissions level, something like that.
  11. Hi alapatia... First step would be to view the jasperserver.log files. You can find the logs under APACHE_INSTALL_PATHwebappsjasperserverWEB-INFlogs You will get a more specific java stack error, which will help to point to the issues. There could be a wide varitiy of possible issues.
  12. Do not think you going to get this done easily. I believe the community and commercial edition does not have a chart like this out of the box. If you have proffesional version, you might be able to make us of highchart.js property set to change the chart look and feel and add property values to mimic what you are looking for, but I doubt it. Best would be to find a 3rd party js library that supplies this type of report and integrate the library with jasper. There is a section in the manual that decribes custom html element, example where D3.js custom report is used to represent data. Probably your best bet to work though it and find a library that has given chart and just pass data over.
  13. This is strange issues. What is your default expression in the $P{STARTDATE}. And when you test report, you test in jasper studio only or in jasper server aswell. In jasperstudio, you do have parameter set to prompt and what is the default value set before you run the report. Also sound like you might be having a time issues. Could be the classic 00:00 to 23:59 issues. Does your database date columns keep time as well. You might need to format the date to date time in your sql query. with TO_DATE. Seems to be something do with that if you ask me.
  14. Preview meaning : running report in your ireport developer and it works ? Enduser machine means? - Either in the end users own ireport developer or in end users jasper server. You need to take into account version difference of ireport or jasperserver. Seems that you have groovy issues. Make sure both ireport envifn is set to compile report in same language, either groovey or java in this case. If this is not the issues, you might have a groovey library issues. Also you might have custom jar on your ireport which is not deployed onto the other envirn ? Hard to give you an exact reason, but I can atleast point you to possible areas that might be causing this. Maybe you have a given version and the end user envirn does not. Groovey is could be set on os level through classpath or one could upload library and set specific path to given groovey version in ireport. If in jasperserver, could either there are no groovey libaries or they are outdate. You might be using groovy function that is only avaiable in a given version onward and the enduser envirn. groovey version might not have given function. Worth to look into this, just to atleast confirm the probability is true or not.
  15. You could also make use of Talend Open source to create a etl job that can collect the data from mutiple excel and or csv sources, format the data to desired result and then use the jasper reports component to generate a report based on your jrxml design. Bit tricky but possible.
  16. This is quite interestng. Will be great to se eif someone has implemeted this already and how ? From java point of view the report object has been created and the object is displayed as is, so not interaction from user will be possible, beside predefined elements like hyperlink, bookmarks, anchors and html charts. Also ones approach would be different if working with community or pro edition. The pro edition has it own libarary to interact with report called visualise.js. There might be a way to achieve what you looking for through clever structuring of your design and making use of given elements. In comuunity edition you would need to dig a bit deep and experiment with trail and error. What I can tel lyou is that you can set jasperstudio to compile the report in javascipt. This might be your best way forward. One can also intoduce a custom html element. One can also add 3 party js libraries. If you can improve your understanding in these areas, you would be in a better position to come to a suitable conclusion for a solution. Also you could just generate report in a container and just add you own container next to report container that have the columns rows with html text boxes. The figure away to map the jasper report rows with the html text box rows, then when user select maybe a update button, you could take all these values and pass them as a parameter array via jasper rest api and regenerate the report with given values. The user can double check if correct, before saving or exporting the report. ​​​​​​
  17. What is the deafult value in the expression for the given parameter ? You need to instantiate an empty array in the expression : new ArrayList(Arrays.asList()) which will give you the all effect. Select all. You could create another parameter that does a check if array is empty (there should be is empty method) and then use that array in your sql query to either pass a empty array or the array as is with values selected already.
  18. Hi Henrikke, you need to give more info. Which jaspersoft are you using. Version no. ? Community or Pro edition ? Cloud based Jasersoft ? If you have a stand alone jasper installed on your own servers, then jasper updating is no concern. Also I am unaware of any auto update jaspersoft does, most of the time update is done trough Dev Ops person or a wanring will be given to you at the least, as any update could have compatability issues. So one would need a choice in this matter. Also when you run the same reports in your Jasperstudio agianst same datasource, do you get same resutls. It's sounds that your jasperserver is either wating for the database result set to then be able to start generating the report or your jasperserver might be experience memory issues. In regard to memory, it's most likely a cache memory overload. Most issues do reflect in the log files, specific the memory. To test database issues, 1- check datasource connection to db ,is succesfull, 2- limit the report's query to like 1 row and then upload the report and run. If it works, then it means that you might have a data query returning a big dataset, most likely duplicating the data. To test memory: Start looking into a java monitoring memory tool. Java ussually include jconsole, but there are others. This link wil lgive you idea about what I am taking about. https://community.jaspersoft.com/wiki/jconsole-and-jasperreports-server Also on another note, when you sign in as administrator in Jasperserver, there is a manage tab, that has sever settings option. Then on left panel you have a log settings, you could set log level or add addtional log properties to assist in identifying the issues. And most obvious you might have network issues, just thought I should mention the obvious.
  19. Hi vishu, This is all about the report design and layout and which band you are using. The white page / space your are getting is either a band not removed or space left after your last text cell being used. The count might also be a issue in which band you are using, but can also be issue with yur epxression being used in the variable your declares and the time your selected for when the count should occur. Maybe share your design or part of it so we can have a look and help your out, if you have not figured out as of yet.
  20. I am using 6.4.0 and no issues from my side. The save issues is quite odd. Did you try installing a new instance of Jasper studio 6.4, seems that you might have some custom library issues or corruption issues. Also do you have write permission in given workspace your reports are saved ? Might also be a security issues, not sure how your envirn is setup, but you should not be getting saving issues. Also how do you edit the report ? Through the Design tab or through the source tab ? Sometimes when using the source tab, the report save, but does not save updated values added in xml view. TRy the designer and see if same issues. If still issues, maybe manual export the file through the jasperserver gui export function or using js-export cmd line. Unzip and get the the ,data file. Copy the xml, open new report in jasperstudio. (call it anything and open blank report), then select source tab, copy the xml over and try to ctrl + S and see of it saves. Then try to edit. Also I noticed Tiru M gave another option that should work and you should note have limitations in file editor to update and save report. So if you do, then it seems that your have user permission issues on your envirn.
  21. Jasperstudio is a bit different than ireport, but using same logic. You need to create a datasource (data adapter) Below gives guidence on this. https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v60/understanding-data-adapters-and-connections next page https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v60/creating-and-using-database-jdbc-connections Ireport is outdated report studio and I can remember there is a option to add datasource, think the button is an icon in the submenu, just above the report design. I totally understand why this is so hard to find, I can remember having same issue the first time I used Ireport.
  22. Which excel export are you using xls or xlsx. You should not be getting the error when using xlsx, if you want to remove confusion for user to remove the xls export option, this can be done specific jasperserver property file. If your user is limited to xls, then you have a problem as this limitation is due to old xls version. You could try mutiple sheets with data, but not sure if you will reach same issues as xls limitaiton might be memory size and not sheet size per memory. If mutiple sheet do not work, then what kevin suggested might be best. Write report in such away that you do a row limit count that will only generate report with amount of rows xls can handle and notify user that limited has been reach due to xls memory limitations. Then user need to generate sec report with new set of parameters. If data for same parameter set is more than amount of rows xls can handle, then do also as kevin suggested. Add limit to you sql and add row limit logic as input control as well so user can select how many rows and from which rows onwards or between given row number. All sql have these function and you could just parameterize the row number limits. If your using jasper java api , then you can code the logic easily. Call report, keep row count, export report, take row count, pass to new report generated, export report, update row count etc. If report is not dependent on user selection, but more a regular report that is generated on a periodic timeframe with parameter staying constistant, you could user mutiple schedule job with row count as parameter set. You have some options, you just need to change the business logic begin how to use report based on xls limitation.
  23. You refering to the build input control in jasperserver when running stand alone report or are you refering to ad hoc / dashboard date filters when using jasperserver pro? I check in Jasper CE for date/time input and the action you mentioned does not occur on my jasperserver 6.4. Might be the given date libarary being uses that might have a built in validation. I am using the net.sf.jasperreports.types.date.DateRange and/ or net.sf.jasperreports.types.date.TimestampRange and if I enter date as you mentioned above, jasper gui returns a user message to select correct date. Yes, sure if your using visualize.js avaiable on pro then you can do your own validation when integrating jasper with your own application before passing over the parameters to jasperserver. You could also look into this : https://community.jaspersoft.com/documentation/jasperreports-server-administration-guide/v550/configuring-input-validation
  24. ? use pattern expression not text expression. Patter expression would be : $F{total_hours} > 0 && < 1 ? "###0.00" : "###0" Not sure how you missed this, but it exist exactly for this reason.
  25. Hi you can set the local on report level by using the REPORT_LOCALE. or When you sign into jasper server, just under the password you can set "Show locale & time zone" to fr. or You can set the default locale for jasper server through jasper property files https://community.jaspersoft.com/documentation/jasperreports-server-administration-guide/v561/configuring-jasperreports-server-offer or if you doing a rest call to generate report, just user the locale property at end of rest url to set given locale to fr. Some way to do it, just depends on your solution outcome.
×
×
  • Create New...