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

elizam

Members
  • Posts

    668
  • Joined

  • Last visited

Community Answers

  1. elizam's post in Incorrect % value in Crosstab TOTAL Field. was marked as the answer   
    It depends a lot on the underlying data.  The average in a crosstab is not the average of the values you see, it is a weighted average across all the inputs.  So if you have 4 transactions on Tuesday with an average of 10% and 2 transactions on Wednesday with an average of 20%, it is not (10 +20)/2 = 15,  it is ((10x4) + (20x2))/(4+2)  = 13.333 (actually,  it just calculates the average over all the underlyin field values, but in terms of what you see, that is what it should equal).
    If you have a constant # of transactions per day, then you would expect the average to be the same whichever way you took it.  However, if some values were null on one day, that would shift the calculation again so that one field is weighted more than another.  Ofr if there is one day where there were a diffferent number of transactions for some reason, then again you would see a difference.
  2. elizam's post in Is there a way to make reports NOT load until a filter is applied? was marked as the answer   
    When you create the filter/input control, there should be an option to make it mandatory.
  3. elizam's post in Large detail bands was marked as the answer   
    If you are using 6.3, you might try frames.  As of 6.3 (or maybe 6.2) you can size a frame smaller than its contents and it then expands as necessary:
    Finally, the frame automatically stretches according to its content, and the element position type property of its elements refer to the frame itself, not to the band, making the design a bit easier to manage."http://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v630/using-frames
  4. elizam's post in Jasper Server 6.2.0 Commercial source file download was marked as the answer   
    If you are a commercial customer, you can log into the support portal (support.tibco.com),  download the WAR file, and follow the instructions in the install guide to configure for oracle.
  5. elizam's post in This driver is locked for use with embedded applications was marked as the answer   
    I agree, it's better to use the Oracle driver.  We provide the TIBCO driver because we are not licensed to distribute the Oracle driver.  However, there are differences between the drivers and, in general, unless you need the special features of the TIBCO drivers, there's no reason to use them instead of the native drivers.  
  6. elizam's post in Deploying JRS-pro 6.2.1 to wildfly 8.x was marked as the answer   
    Try using jboss-as-7 as the target.  
  7. elizam's post in I can't make the IF statement work was marked as the answer   
    What are you trying exactly?  looking at the reference, it looks like
    IF("Status Change Date" == "Create Date" , 'New')  should work -- single quotes and not double.  
    Or IF("Status Change Date" == "Create Date" , 'New', 'Old') 
  8. elizam's post in Enable Audit on JasperServer 3.7 was marked as the answer   
    Audit was not available in 3.7
  9. elizam's post in Why doesnt show entire menu in JasperServer 6.3 was marked as the answer   
    The Ad Hoc Editor and Dashboard features are only available in commercial versions.
  10. elizam's post in How to do configuration management between multiple computers was marked as the answer   
    I haven't done this, but you can use Eclipse's version control with JSS.  To set this up, go to Windows > Preferences > Team, and in JSS,  you will see configuration options for GIT, CVS, and SVN.  You can look up more info about configuring these in the Eclipse documentation for the different projects (e.g. Eclipse Subversive for SVN).
  11. elizam's post in Can you use more than one Data source to run a report? was marked as the answer   
    If you want these in different components in your report, (for example, Resource data in Table1, Financial data in Table2), you can use subreports, or you can create multiple datasets in your report, and then use  different datasets for different components. You do not have to use subreports.  If you go this way and you are using JSS, and your subdataset has a datasource that is different from the data source in the main report, you need to set a property for each dataset that "glues" the data source to the sub dataset, otherwise the dataset just inherits the data source used by the main dataset.  This property can now be set in the Dataset tab of the Properties view when a dataset is selected and is called "Default Data Adapter."  In JasperReports, it is the net.sf.jasperreports.data.adapter property.
    If you want to combine information from different tables in the same datasource, for example, Resource data and Financial data in the same table, you can add a join statement in the initial query when you create the report.  You can also make subdatasets, if you need to construct different joins. Your query does have to return a single table  I assume there's a key field of some kind you can join on, or this scenario doesn't make sense.
    If you want to combine information from two different data sources, for example and Oracle database and a Mongo DB datasource, in the same table, I'm not sure.  You could construct the join outside of JasperReports and write to a file or URL and then set that up as a data source.  You can write a custom data source as well.  I don't know if there is an easier way of doing this.
  12. elizam's post in Report Status view opening in new window was marked as the answer   
    When I get in trouble with layout, I always use Window > Reset Perspective to get things back to the default.  You can also set things up the way you like and save a perspective. 
    I'm sure there's a better way to do this, if you know Eclipse.
  13. elizam's post in I don't want chart to be re-built automatically on columns/rows changing was marked as the answer   
    In crosstabs and tables, it is the upper right of the toolbar.

    However, it is not available for charts, probably because it doesn't make sense for charts in general.  The other option would be to create a filter and set it to something that has very few values.
  14. elizam's post in How to restrict the schedule option by role? was marked as the answer   
    You can do this by editing the  WEB-INF/applicationContext-security-web.xml file in your installation.
    Locate this bean:
    <bean id="filterInvocationInterceptor" class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor">
    and edit the following property and remove ROLE_USER:
    <security:intercept-url pattern="/scheduler/main.html" access="ROLE_USER,ROLE_ADMINISTRATOR" />
    Then restart your server.
  15. elizam's post in Can I genrate a report for a different locale than the logged in user's locale? was marked as the answer   
    If you just want to see how a report looks in another locale, you can pass a parameter in the URL - append &reportLocale=de for example, to see the report in German. This helps if you are troubleshooting your report localization.  
     
  16. elizam's post in Token Based authentication was marked as the answer   
    For token-based authentication, JRS does not do any authentication, it just takes the token as-is.  This is why it's important to encrypt and time-stamp the token.
    You do not have to create internal roles if you do not want to. If a role does not exist, JRS creates it and flags it so it remembers it is an internal role.  However, if you have roles that are created from the external source, you have to "initialize" them before you can finish setting them - that is, you have to come up with a user that has that role and login for them.  Once someone with an external role has logged in, the administrator can see the role in JRS and set its permissions.  
    You do also have the option to map to internal roles.
    Once you have roles set up the way you want, then the user gets the permissions associated with whatever roles you assign.
  17. elizam's post in External Database Authentication in jasper server? was marked as the answer   
    There should be a samples/externalAuth-sample-config/sample-applicaitonContext-externalAuth-db.xml file in the community edition.  The examples in the documentation may assume that you have the pro version of the file, but most of it will be the same.  You cannot set organizations, because they don't exist in community. 
  18. elizam's post in How secured is jasper token based authentication ? was marked as the answer   
    For security, it is recommended that you encrypt the token & use a timestamp.  You would encrypt it in your webapp using the algorithm of your choice and then hookup the decrption algorithm to the token auth in jasper.
    Yes you are logged in.  I think they meant to say user does not have to go through manual authentcation process.
     
  19. elizam's post in LDAP organizationRoleMap not working in 6.01 was marked as the answer   
    I see a different class for the bean in the multi-tenant LDAP config sample file.  It looks like you may be using the single tenant config. This difference has been there for a while as far as I know, so I don't know if it will help.
     <bean id="mtExternalUserSetupProcessor" class="com.jaspersoft.jasperserver.multipleTenancy.security.externalAuth.processors.MTExternalUserSetupProcessor" parent="abstractExternalProcessor">         
  20. elizam's post in creating calculated fields was marked as the answer   
    Presumably it won't sum because under the covers your field is not a number. It is really a Boolean, and is just saying T/F.
    You could make a calculated field in the domain based on your existing field, and  set the zeros to NULL using IF.  I think this should work:
    (IF(YourField), 1, NULL)
    This sets the new field to 1 if YourField is 1 (True) and to NULL if YourField is 0 (False)
    You can then use Count as the Summary function, and it will count the non-NULL values only.
  21. elizam's post in Differences between Jaspersoft JDBC drivers and original db jdbc drivers was marked as the answer   
    TIBCO uses a version of the DataDirect Progress Drivers.  There are some difference from the vendor drivers.
    The full documentation set is here: http://media.datadirect.com/download/docs/jdbc/alljdbc/help.html
    In some cases, these drivers provide additional functionality. For example, you can specify a SysLoginRole, and set it to be SYSDBA or SYSOPER.  This allows you to run the database with less privileges.  See this link for a list of available connection properties:
    http://media.datadirect.com/download/docs/jdbc/alljdbc/help.html#page/userguide/rfi1359986110785.html
    However, these drivers do not always support the same SQL syntax (used in Domains and elsewhere). For example, the following query does not work with the TIBCO JDBC drivers: 
    SELECT account_id+account_description AS account_concat from account
    The correct syntax for the TIBCO JDBC drivers is as follows:
    SELECT {fn CONCAT(account_id,account_description)} AS account_concat from account
    See the PROGRESS DataDirect  page on scalar functions for more information:
    http://media.datadirect.com/download/docs/jdbc/alljdbc/help.html#page/reference/rfi1359985772456.html
    The install guide provides the information you need to use the vendor's driver instead of the TIBCO driver. If you are updating from an earlier version of JasperReports Server, it is probably easier to copy over your existing driver & use your existing default_master.properties. This should install correctly.
    The same drivers are available in JSS. You can select them from thedata connection menu after you have selected JDBC connection.
    NOTE: The TIBCO JDBC drivers and the vendor drivers can co-exist.
  22. elizam's post in Is Tibco Jaspersoft Oracle JDBC URL jdbc:oracle:thin:@localhost:1521:orcl was marked as the answer   
    No. If you are using TIBCO JDBC driver, you should use the default values. 
    Here's my best guess at those values:
    §Driver class:  tibcosoftware.jdbc.oracle.OracleDriver§URL:  jdbc:tibcosoftware:oracle://{IP_ADRESS}:{PORT_NUMBER};SID={SID}§DataSource class:  tibcosoftware.jdbc.oracle.OracleDataSource§DataSource class for JDBC 40:  tibcosoftware.jdbc.oracle.OracleDataSource40
  23. elizam's post in create new data source was marked as the answer   
    IN the doc http://community-static.jaspersoft.com/sites/default/files/docs/jaspersoft-studio-user-guide_0.pdf, look at the section 10.1, create Data Adapters, and select Database JDBC connection. Then look at  section 10.2 Creating Database JDBC Connections.
    One thing that might confuse you is that Jaspersoft products don't include the native MySQL driver, because of licensing issues. So unfortunately you will need to download and install a MySQL driver. Here's a modified version of the instructions in the doc:
    WhatyouhavetodoistoaddtheJDBCdriverforOracle,whichisafilenamedojdbc14.jar(orclasses12.ziporclasses11.zipforolderversions)totheclasspath(whichiswheretheJVMsearchesforclasses).AsJaspersoftStudiousesitsownclassloader,it'senoughaddtheojdbc14.jarfiletotheJaspersoftStudioclasspath,whichisdefinedinyourEclipseproject;thesamecanbedonefordirectoriescontainingclassesandotherresources.Toedittheclasspath,clickProject>Properties>JavaBuildPath>Libraries,andclickAddJARs.Ifyouonlyneedtousethedriverforthisspecificdataadapter,youcaninsteadaddthedriveronthedataadapter'sDriverClasspathtab.Add the JDBC driver for MySQL, which is a jar file, to the classpath (which is where the JVM searches for classes). As Jaspersoft Studio uses its own class loader, it will be enough add the  driver jar file to the Jaspersoft Studio classpath in the Options window (Tools→Options); the same can be done for directories containing classes and other resources. 
  24. elizam's post in Cannot create or update domains was marked as the answer   
    I have not been able to test this, but the bug may have to do with the level at which the admin has been created.  Could someone try this workaround:
    You can create an admin at the root level, and give it permission to all the organizations, or you can create an admin at the level of a specific organization. The bug appears to affect admins at the root level.  Therefore, the workaround would be to create an admin at the level of your organization (e.g. organization_1) and create and save domains with that admin. 
    In the attached screenshot, you can see the highlighted user does not have an organization, which means it can't create or save Domains with this bug. Lower down you can see two jasperadmins, one for organization_1 and one for Operations - if this workaround is correct, they should be able to create and save Domains. 
    If you try this, let me know if it works.
    Thank you
  25. elizam's post in JasperServer 5.6: how to "regenerate" optimized js files was marked as the answer   
    I'm working on documenting that right now! 
    1. Create a working directory where you can copy JavaScript files and install and run the required scripts. In
    this example, the directory is called Working.
    2. Create a subdirectory for a copy of the JavaScript files from JasperReports Server. This directory is called jssources.
    3. Copy the following directories from the JasperReports Server directory, <js-webapp>, to js-sources:
    • Copy <js-webapp>/scripts to js-sources/scripts.
    • Copy <js-webapp>/fusion to js-sources/fusion
    4. Back up your js-sources directory.
    5. Create a js-optimization-output directory for the output of the optimization process.
    6. Download and install node.js from http://nodejs.org/. Place the nodejs folder directly in your Working
    folder.
    7. Download r.js, a requirejs optimization file, from http://requirejs.org and place it directly in the Working
    folder.
    8. Make your changes to the JavaScript files in Working/js-sources.
    9. Open a command line tool and run the commands to optimize the JavaScript. The following example is for
    Windows, it places the output in the Working/js-optimization-output folder:
    % cd Working
    % nodejsnode r.js -o js-sourcesscriptsbuild.js appDir=js-sourcesscripts baseUrl=. optimize=uglify2 dir=js-optimization-output
    10. Copy the optimized scripts from js-optimization-output to <webapp>/optimized-scripts (where webapp is the location of your JRS)
    11. Reload the web app in the app server to see the changes.
    This will be in the next revision of the Ultimate Guide.
×
×
  • Create New...