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

jgust

Members
  • Posts

    206
  • Joined

  • Last visited

  • Days Won

    1

 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 jgust

  1. Yes, in design mode you can manually drag the bottom of any band and move it up, you can double click on the bottom of the band and will resize it to the bottom of the lowest object or you can edit the XML and manually adjust the <band height> <title> <band height="79" splitType="Stretch"/></title>[/code]
  2. This is a complicated query. Many $P!{} parameters that are adjusting the SQL. Two parameters that look suspect are "cbShipToState/Province" and "cbApplyDateFilter". Both of those contain non-quoted multi-word strings. This is typically not allowed in SQL. cbShipToState/Province Usage: AND COALESCE(stateconst.name,'') LIKE $P!{cbShipToState/Province} Multi-word non-quoted Values: Australian Capital Territory, British Columbia, District of Columbia cbApplyDateFilter Usage: AND $P!{cbApplyDateFilter} BETWEEN $P{dateRange1} AND DATE_SUB($P{dateRange2}, INTERVAL 1 SECOND) Multi-word non-quoted Values: Scheduled Fulfillment Date, Date Created, Date Issued, SO Date Completed, Date Last Changed, SO Item Date Fulfilled Maybe the workflow is to prompt the user all of this information and the multi-word strings are there to assist the user to make a decision and it is their responsibility to clean it up. My recommendation is to create another debug version where you hardcode all values and then introduce a parameter one at a time until you find the culprit.
  3. A possible issue may be that your ckShowHistoricalProductNumber is a string (class="java.lang.String") but in your example, you are comparing that to an integer. [From Source](case when $P{ckShowHistoricalProductNumber} = 1 then soitem.productnum else product.num end) AS PRODUCTNUM,[Parameter Definition]<parameter name="ckShowHistoricalProductNumber" class="java.lang.String" isForPrompting="false"> <parameterDescription><![CDATA[1,0]]></parameterDescription> <defaultValueExpression><![CDATA[1]]></defaultValueExpression>[/code]
  4. You can use coalesce() to handle the null. The query below will work when $P{typeOfcertificate} is null or has a value. SELECT FC.LAST , FC.FIRST , FL.LEVEL_DESC , AE.EMP_DESC AS AreaOfEmploymentFROM [dbo].[FS_AREA_OF_EMPLOYMENT] AE INNER JOIN [dbo].[MINES_CERTIFICATIONS] MC ON (AE.EMP_CODE=MC.AOE_EMP_CODE) INNER JOIN [dbo].[FS_CLIENTS] FC ON (MC.CLI_PEOPLE_ID=FC.PEOPLE_ID) INNER JOIN [dbo].[FS_LEVELS] FL ON (MC.SEM_LEVEL=FL.LEVEL_CODE) LEFT JOIN [dbo].[MINES_STATUS_LOG] MSL ON (MSL.ACTION_CERT_ID=MC.CERT_ID) LEFT JOIN [dbo].[FS_STATUSES] FS ON (MSL.Action_Type=FS.Status_Code)WHERE MC.AOE_EMP_CODE = $P{minesite} AND MC.SEM_LEVEL = coalesce($P{typeOfcertificate},MC.SEM_LEVEL) AND MC.EXPIRY_DATE >= GETDATE()ORDER BY FC.LAST, MC.SEM_LEVEL[/code]
  5. >> "Vu" is a simple text, but the rest of sentence is the result of calling a function stored in a database package. I think you misunderstood what I was saying. See if you can store "vu l'arrêté" (the whole text coming from the database package) as a variable and pass it to the second subreport to be displayed there. Don't print it in sub1 just capture it and push it upstream. The idea here is that in both sub1 and sub2 you are capturing "vu l'arrêté" results from the db but will only display it in sub2 because you will pass along the value. I hope this works with your current report design. Good luck.
  6. See if you can store "vu l'arrêté" as a variable and pass it to the second object to be displayed there.
  7. What is the classtype for this "from_unixtime(field_2989, '%d-%m-%Y')" field, and can you provide a screenshot of what is being returned?
  8. Thank you for the clarification. I was able to recreate the issue by setting the language to SQL and using a custom function in the query. The solution was to change the language to PLSQL. Once I did that I was able to read the fields.
  9. I suspect your issue is that p1 and p2 are parameters and do not come from tab1 or tab2. If that is the case then you just need to correct the SQL so that Jasper understands. Updated SQL below makes the assumption of where the data is coming from. You should always use aliases for better readability. select t1.a as Awesome , my_function($P{p1},$P{p2}) as Super_Function , t2.b as Bodacious , DECODE(t1.C, '1', 'M.', '2', 'Mme') as Case_is_BetterFROM tab1 t1INNER JOIN tab2 t2 ON t1.id = t2.id[/code]
  10. With the use of COALESCE() the two queries can be combined into one. SELECT lastName, firstName, AddressFROM StudentTableWHERE schoolName = $P{second_Parameter} and country = coalesce($P{first_Parameter},country)[/code] My TEST DATASET SELECT schoolname, lastName, firstName, Address, Countryfrom ( select 'El Dorado HS' as schoolname , 'Smith' as lastname , 'Jane' as firstname , '123 Main St' as Address , 'Canada' as country from dual union all select 'El Dorado HS' , 'Smith' , 'Bob' , '321 Main St' , 'Spain' from dual)where schoolname = $P{second_Parameter} and country = coalesce($P{first_Parameter},country)[/code]Test 1: Results 1: Test 2 Results 2:
  11. Here is how you can do it in SQL. SELECT A.account , A.amount , case when a.rn = 1 then a.sum end as sumFROM ( select B.account , B.amount , sum(B.amount) over (PARTITION BY B.account) as sum , ROW_NUMBER() OVER (PARTITION BY B.account order by b.account) as rn from ( select 1 as account, 100 as amount from dual union all select 1, 50 from dual union all select 1, 50 from dual union all select 2, 20 from dual union all select 2, 25 from dual ) B) A[/code]+-------+------+----+|ACCOUNT|AMOUNT|SUM |+-------+------+----+|1 |100 |200 ||1 |50 | ||1 |50 | ||2 |20 |45 ||2 |25 | |+-------+------+----+[/code]
  12. I would try to bring the data into the report correctly. In this case, adding another column to represent the parent_distinct_total. Below example from Oracle: SELECT ChildName , ParentName , ParentValue , sum(distinct ParentValue) over () as parent_distinct_totalfrom ( select 1 as ChildName,'Parent1' as ParentName,20 as ParentValue from dual union all select 2,'Parent2',10 from dual union all select 3,'Parent1',20 from dual union all select 4,'Parent2',10 from dual union all select 5,'Parent1',20 from dual) Aorder by ChildName[/code]+---------+----------+-----------+---------------------+|CHILDNAME|PARENTNAME|PARENTVALUE|PARENT_DISTINCT_TOTAL|+---------+----------+-----------+---------------------+|1 |Parent1 |20 |30 ||2 |Parent2 |10 |30 ||3 |Parent1 |20 |30 ||4 |Parent2 |10 |30 ||5 |Parent1 |20 |30 |+---------+----------+-----------+---------------------+[/code]
  13. You can find information regarding the $X{IN} syntax in the Parameterized Queries (Dynamic Queries) section on the sample reference page: http://jasperreports.sourceforge.net/sample.reference/query/index.html#query
  14. There is no built-in functionality for this. I would always attempt to see if the database can produce the correct records. In Oracle, I would update the query and use "CONNECT BY LEVEL" to force data duplication. This will allow the report to be dumb and print the results. In the example below I used 7 as the :force_cnt. SELECT SUBSTR(TO_CHAR('0' || ROW_NUMBER() OVER (ORDER BY 'jane doe')), -2, 2) || '/' || SUBSTR('0' || TO_CHAR(:force_cnt), -2, 2) AS rn , 'jane doe' AS student_name , TO_DATE('03-AUG-1999', 'DD-MON-YYYY') AS birthdateFROM dualCONNECT BY LEVEL <= :force_cnt;[/code]RNSTUDENT_NAMEBIRTHDATE01/07jane doe03-AUG-199902/07jane doe03-AUG-199903/07jane doe03-AUG-199904/07jane doe03-AUG-199905/07jane doe03-AUG-199906/07jane doe03-AUG-199907/07jane doe03-AUG-1999
  15. @jcrozier >> Curious if it could have been controlled on the jasper side though You will need to add a sort to the report. In other report engines grouping and sorting is one transaction. In Jasper, it is two. With Sorting Without Sorting
  16. In other reporting engines, I would have stored the Level 2 items in an array then iterate over them and display at the appropriate time. I wish I knew how to do that in Jasper.
  17. You can create a user-specified column report where you prompt the user which columns they want and then populate a set of variables with the data requested. In the example below (test data coming from www.mockaroo.com) the user can specify ID, first_name, last_name, and sales_birth_date in any of the 5 column parameters. The report will then populate the columns accordingly using the col_n_data variables. <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.14.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f --><!-- 2022-06-26T14:41:28 --><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Example of User Specified Colums" pageWidth="792" pageHeight="612" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="752" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f8d5675b-20b0-44cb-9948-92502a7067cb"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="PeimsDS"/> <property name="com.jaspersoft.studio.data.sql.tables" value=""/> <parameter name="Col_1" class="java.lang.String"/> <parameter name="Col_2" class="java.lang.String"/> <parameter name="Col_3" class="java.lang.String"/> <parameter name="Col_4" class="java.lang.String"/> <parameter name="Col_5" class="java.lang.String"/> <queryString language="plsql"> <![CDATA[select 1 as ID, 'Dorey' as FIRST_NAME, 'Dimsdale' as LAST_NAME, 120875 as SALES, TO_DATE('6/8/2005', 'MM/DD/YYYY') as BIRTH_DATEFROM DUALUNION ALLSelect 2 as ID, 'Fonzie' as FIRST_NAME, 'Liley' as LAST_NAME, 26567 as SALES, TO_DATE('7/7/2005', 'MM/DD/YYYY') as BIRTH_DATEFROM DUALUNION ALLSelect 3 as ID, 'Alis' as FIRST_NAME, 'Bisacre' as LAST_NAME, 148660 as SALES, TO_DATE('6/29/2005', 'MM/DD/YYYY') as BIRTH_DATEFROM DUALUNION ALLSelect 4 as ID, 'Nanni' as FIRST_NAME, 'McKew' as LAST_NAME, 29524 as SALES, TO_DATE('7/23/2005', 'MM/DD/YYYY') as BIRTH_DATEFROM DUAL]]> </queryString> <field name="ID" class="java.lang.Integer"> <property name="com.jaspersoft.studio.field.name" value="ID"/> <property name="com.jaspersoft.studio.field.label" value="ID"/> </field> <field name="FIRST_NAME" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="FIRST_NAME"/> <property name="com.jaspersoft.studio.field.label" value="FIRST_NAME"/> </field> <field name="LAST_NAME" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="LAST_NAME"/> <property name="com.jaspersoft.studio.field.label" value="LAST_NAME"/> </field> <field name="SALES" class="java.math.BigDecimal"> <property name="com.jaspersoft.studio.field.name" value="SALES"/> <property name="com.jaspersoft.studio.field.label" value="SALES"/> </field> <field name="BIRTH_DATE" class="java.sql.Timestamp"> <property name="com.jaspersoft.studio.field.name" value="BIRTH_DATE"/> <property name="com.jaspersoft.studio.field.label" value="BIRTH_DATE"/> </field> <variable name="Col_1_Label" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_1}.equalsIgnoreCase( "ID" ) ? "ID" :$P{Col_1}.equalsIgnoreCase( "FIRST_NAME" ) ? "FIRST_NAME" :$P{Col_1}.equalsIgnoreCase( "LAST_NAME" ) ? "LAST_NAME" :$P{Col_1}.equalsIgnoreCase( "SALES" ) ? "SALES" :$P{Col_1}.equalsIgnoreCase( "BIRTH_DATE" ) ? "BIRTH_DATE" : ""]]></variableExpression> </variable> <variable name="Col_2_Label" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_2} == null ? " " :$P{Col_2}.equalsIgnoreCase( "ID" ) ? "ID" :$P{Col_2}.equalsIgnoreCase( "FIRST_NAME" ) ? "FIRST_NAME" :$P{Col_2}.equalsIgnoreCase( "LAST_NAME" ) ? "LAST_NAME" :$P{Col_2}.equalsIgnoreCase( "SALES" ) ? "SALES" :$P{Col_2}.equalsIgnoreCase( "BIRTH_DATE" ) ? "BIRTH_DATE" : " "]]></variableExpression> </variable> <variable name="Col_3_Label" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_3} == null ? " " :$P{Col_3}.equalsIgnoreCase( "ID" ) ? "ID" :$P{Col_3}.equalsIgnoreCase( "FIRST_NAME" ) ? "FIRST_NAME" :$P{Col_3}.equalsIgnoreCase( "LAST_NAME" ) ? "LAST_NAME" :$P{Col_3}.equalsIgnoreCase( "SALES" ) ? "SALES" :$P{Col_3}.equalsIgnoreCase( "BIRTH_DATE" ) ? "BIRTH_DATE" : " "]]></variableExpression> </variable> <variable name="Col_4_Label" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_4} == null ? " " :$P{Col_4}.equalsIgnoreCase( "ID" ) ? "ID" :$P{Col_4}.equalsIgnoreCase( "FIRST_NAME" ) ? "FIRST_NAME" :$P{Col_4}.equalsIgnoreCase( "LAST_NAME" ) ? "LAST_NAME" :$P{Col_4}.equalsIgnoreCase( "SALES" ) ? "SALES" :$P{Col_4}.equalsIgnoreCase( "BIRTH_DATE" ) ? "BIRTH_DATE" : " "]]></variableExpression> </variable> <variable name="Col_5_Label" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_5} == null ? " " :$P{Col_5}.equalsIgnoreCase( "ID" ) ? "ID" :$P{Col_5}.equalsIgnoreCase( "FIRST_NAME" ) ? "FIRST_NAME" :$P{Col_5}.equalsIgnoreCase( "LAST_NAME" ) ? "LAST_NAME" :$P{Col_5}.equalsIgnoreCase( "SALES" ) ? "SALES" :$P{Col_5}.equalsIgnoreCase( "BIRTH_DATE" ) ? "BIRTH_DATE" : " "]]></variableExpression> </variable> <variable name="Col_1_Data" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_1} == null ? "" :$P{Col_1}.equalsIgnoreCase( "ID" ) ? TEXT($F{ID},"#########") :$P{Col_1}.equalsIgnoreCase( "FIRST_NAME" ) ? $F{FIRST_NAME} :$P{Col_1}.equalsIgnoreCase( "LAST_NAME" ) ? $F{LAST_NAME} :$P{Col_1}.equalsIgnoreCase( "SALES" ) ? TEXT($F{SALES},"¤#,##0.###;¤(-#,##0.###)") :$P{Col_1}.equalsIgnoreCase( "BIRTH_DATE" ) ? new SimpleDateFormat( "dd-MMM-yyyy").format($F{BIRTH_DATE}) : ""]]></variableExpression> </variable> <variable name="Col_2_Data" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_2} == null ? "" :$P{Col_2}.equalsIgnoreCase( "ID" ) ? TEXT($F{ID},"#########") :$P{Col_2}.equalsIgnoreCase( "FIRST_NAME" ) ? $F{FIRST_NAME} :$P{Col_2}.equalsIgnoreCase( "LAST_NAME" ) ? $F{LAST_NAME} :$P{Col_2}.equalsIgnoreCase( "SALES" ) ? TEXT($F{SALES},"¤#,##0.###;¤(-#,##0.###)") :$P{Col_2}.equalsIgnoreCase( "BIRTH_DATE" ) ? new SimpleDateFormat( "dd-MMM-yyyy").format($F{BIRTH_DATE}) : ""]]></variableExpression> </variable> <variable name="Col_3_Data" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_3} == null ? "" :$P{Col_3}.equalsIgnoreCase( "ID" ) ? TEXT($F{ID},"#########") :$P{Col_3}.equalsIgnoreCase( "FIRST_NAME" ) ? $F{FIRST_NAME} :$P{Col_3}.equalsIgnoreCase( "LAST_NAME" ) ? $F{LAST_NAME} :$P{Col_3}.equalsIgnoreCase( "SALES" ) ? TEXT($F{SALES},"¤#,##0.###;¤(-#,##0.###)") :$P{Col_3}.equalsIgnoreCase( "BIRTH_DATE" ) ? new SimpleDateFormat( "dd-MMM-yyyy").format($F{BIRTH_DATE}) : ""]]></variableExpression> </variable> <variable name="Col_4_Data" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_4} == null ? "" :$P{Col_4}.equalsIgnoreCase( "ID" ) ? TEXT($F{ID},"#########") :$P{Col_4}.equalsIgnoreCase( "FIRST_NAME" ) ? $F{FIRST_NAME} :$P{Col_4}.equalsIgnoreCase( "LAST_NAME" ) ? $F{LAST_NAME} :$P{Col_4}.equalsIgnoreCase( "SALES" ) ? TEXT($F{SALES},"¤#,##0.###;¤(-#,##0.###)") :$P{Col_4}.equalsIgnoreCase( "BIRTH_DATE" ) ? new SimpleDateFormat( "dd-MMM-yyyy").format($F{BIRTH_DATE}) : ""]]></variableExpression> </variable> <variable name="Col_5_Data" class="java.lang.String"> <variableExpression><![CDATA[$P{Col_5} == null ? "" :$P{Col_5}.equalsIgnoreCase( "ID" ) ? TEXT($F{ID},"#########") :$P{Col_5}.equalsIgnoreCase( "FIRST_NAME" ) ? $F{FIRST_NAME} :$P{Col_5}.equalsIgnoreCase( "LAST_NAME" ) ? $F{LAST_NAME} :$P{Col_5}.equalsIgnoreCase( "SALES" ) ? TEXT($F{SALES},"¤#,##0.###;¤(-#,##0.###)") :$P{Col_5}.equalsIgnoreCase( "BIRTH_DATE" ) ? new SimpleDateFormat( "dd-MMM-yyyy").format($F{BIRTH_DATE}) : ""]]></variableExpression> </variable> <pageHeader> <band height="53" splitType="Stretch"> <staticText> <reportElement x="228" y="1" width="297" height="22" uuid="27d6c2b1-30b7-4704-a78a-45b5eae41c9e"/> <textElement textAlignment="Center"> <font fontName="Arial" size="18" isBold="true"/> </textElement> <text><![CDATA[Example of User Specified Colums]]></text> </staticText> <textField evaluationTime="Auto" isBlankWhenNull="false"> <reportElement x="0" y="31" width="151" height="16" uuid="f61d74ab-3fd0-46aa-9c8d-6f39e90e933a"/> <box> <bottomPen lineWidth="1.0"/> </box> <textFieldExpression><![CDATA[$V{Col_1_Label}]]></textFieldExpression> </textField> <textField evaluationTime="Auto" isBlankWhenNull="false"> <reportElement x="151" y="31" width="151" height="16" uuid="3b25a046-2b57-4fcc-8189-e8b912f66551"/> <box> <bottomPen lineWidth="1.0"/> </box> <textFieldExpression><![CDATA[$V{Col_2_Label}]]></textFieldExpression> </textField> <textField evaluationTime="Auto" isBlankWhenNull="false"> <reportElement x="302" y="31" width="150" height="16" uuid="95b6b178-a0c8-424a-8489-c4e08e4188fd"/> <box> <bottomPen lineWidth="1.0"/> </box> <textFieldExpression><![CDATA[$V{Col_3_Label}]]></textFieldExpression> </textField> <textField evaluationTime="Auto" isBlankWhenNull="false"> <reportElement x="452" y="31" width="150" height="16" uuid="1877d8c8-224c-4adb-bed9-4760ae4dbb29"/> <box> <bottomPen lineWidth="1.0"/> </box> <textFieldExpression><![CDATA[$V{Col_4_Label}]]></textFieldExpression> </textField> <textField evaluationTime="Auto" isBlankWhenNull="false"> <reportElement x="602" y="31" width="150" height="16" uuid="b3e24594-7741-4572-9b91-9b3876a3297a"/> <box> <bottomPen lineWidth="1.0"/> </box> <textFieldExpression><![CDATA[$V{Col_5_Label}]]></textFieldExpression> </textField> </band> </pageHeader> <detail> <band height="17" splitType="Stretch"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.spreadsheet.SpreadsheetLayout"/> <textField> <reportElement x="0" y="0" width="151" height="17" uuid="beeb9673-e5f3-4eb8-9222-5da0c47dcb54"/> <textFieldExpression><![CDATA[$V{Col_1_Data}]]></textFieldExpression> </textField> <textField> <reportElement x="151" y="0" width="151" height="17" uuid="6cb15937-4d83-4b6b-85f1-d473968d51ad"/> <textFieldExpression><![CDATA[$V{Col_2_Data}]]></textFieldExpression> </textField> <textField> <reportElement x="302" y="0" width="150" height="17" uuid="66acdfc0-e791-4208-8eab-5fa5d4a26e97"/> <textFieldExpression><![CDATA[$V{Col_3_Data}]]></textFieldExpression> </textField> <textField> <reportElement x="452" y="0" width="150" height="17" uuid="a58e1c48-1c0a-4412-aedb-9706aa8282b9"/> <textFieldExpression><![CDATA[$V{Col_4_Data}]]></textFieldExpression> </textField> <textField> <reportElement x="602" y="0" width="150" height="17" uuid="e140ed37-bd68-4918-9d03-42d750a87b0c"/> <textFieldExpression><![CDATA[$V{Col_5_Data}]]></textFieldExpression> </textField> </band> </detail> <pageFooter> <band height="13"> <textField textAdjust="StretchHeight"> <reportElement stretchType="ContainerHeight" x="0" y="0" width="727" height="13" uuid="7aab1f05-1f49-46c9-8cd7-66861c5e843e"/> <textFieldExpression><![CDATA[$P{JASPER_REPORT}.getName()]]></textFieldExpression> </textField> </band> </pageFooter></jasperReport>[/code]
  18. Table, Crosstab, List, and Subreport all support returning values back to the main report using the "Return Values" button. That button can be found on the dataset tab of the table, crosstab, or list object. For the subreport it is located on the subreport tab. I've only used subreports due to my company's design requirements. I suspect the other objects would function the same. Here are my notes: Pass Variables from Subreport Back to the Main Report (Shared Variables)Crystal When you declare your variable as SHARED you are then able to pass that variable to subreports or the main report. To use it in the main report or subreport you simply need to redeclare it and the value will be available. SHARED NumberVar shStuCount; shStuCount := DistinctCount({D_STU.STU_UNQ_ID}, {D_STU.LEA_ID}); Jasper This ability is accomplished by using the “Edit Return Values” on the subreport. This allows for the main and subreport to talk to each over through the use of the specified variable. Click the add, edit, delete button to manage the shared variablesAdd the subreport variable that you want to pass to the main reportAdd the main report variable that you want to pass the variable toAdd a calculation type that you would like the shared variable to have. If you are just passing a value back and for the then “No Calculation Function” should be used. In the example above the vSubRPTVariable/vMainRPTVariable is acting as a running total between the main and subreport.
  19. There are multiple ways to do that date formatting. 1. Use the "Pattern" field on the "Text Field" tab. The ... can help with many different formats 2. Create an expression with the formatting built-in using SimpleDateFormat() new SimpleDateFormat( "dd/MM/yyyy").format($F{MySqlDate})
  20. >>1. Where I will find the Myreports folder? While I don't use a Mac I suspect to find the location it would be the same on Windows which is you can right-click on MyReports in the project explorer tab and then select properties. >>2. How can I save my report as .jasper instead of .jrxml. You can click the binary-looking item on the toolbar to compile it.
  21. If you're asking about compiling to a specified folder using studio you can't. Some have used JasperStarter ( http://jasperstarter.cenote.de/ ) to do that at the command line.
  22. I don't know about dynamically doing this in Jasper. In the past when I needed a detailed and summary version of a report I would add a parameter that would control the presentation like $P{REPORT_TYPE}. Depending on the value Summary/Detailed I would suppress/show different sections. Print when expression for summary: $P{REPORT_TYPE}.equalsIgnoreCase("Summary")[/code]
  23. Back when I was in the Newspaper industry I would use Ghostscript and Ghostview to debug my font issues in PDFs. I'm not saying Jasper isn't the issue but you can get more technical info using those tools to help find the root cause.
  24. You can display the fields from your datasets by using either a list, table, or crosstab.
  25. Here are three possibilities hopefully, one of these will work with your report design. 1. Move the page footer to a column footer and in the report level attributes you can set the "Float Column Footer" 2. Create another band just below the table and store the note there 3. Instead of a Table you could use a subreport that way you have access to the report header, page header, groups, details, footers, and summaries of the subreport.
×
×
  • Create New...