Izenda Increases Revenue, Profit 3rd Year Running

By | Company Updates
PRLog (Press Release) Atlanta, GA – October 31, 2011 — Izenda, the leading provider of self-service reporting platforms for business users, announced today that it has ended its 2011 fiscal year with revenue up by 62% from the previous year, and with profits that increased by more than 48%. This is on top of a 40% growth in revenue for the previous year and a 47% increase for the year before.

Read More

Multi-Tenant Report Scheduling

By | Tips

Editor’s Note:

A correction has been made to this blog regarding Simple Owner Security to state “if AdHocContext.SchedulerExecuting is true.”

Users today expect reports to be delivered to their inboxes while developers must ensure that those reports apply the same security as on the web. Izenda provides a few different mechanisms to support secure scheduling.

Simple Owner Security

The most basic email security applies the report owner’s security. To implement this, add code to your AdHocConfig.PreExecuteReportSet() that looks at the Report.Owner and uses that to apply hidden filters if AdHocContext.SchedulerExecuting is true. With smartphones and mobile devices now able to render rich HTML, embedding reports into email is one of the most common use cases.

Read More

How to Post Process Data in Izenda

By | Tips

There’s a difference between the best way to store certain values in a database and the best way to report those values out to the people in your company. With Izenda you can perform post-processing of data objects for encryption, logging, localization or whatever you want. For example, replace “CA” with “California” or replace encrypted data values with decrypted information.

To use the post-processor you should override only one method in CustomAdHocConfig class which is normally found in the Global.asax file.

[csharp] public class CustomAdHocConfig : DatabaseAdHocConfig { public override void ProcessDataSet(DataSet ds, string reportPart) { // Put your code here } } [/csharp]

The “ds” parameter in this method is data retrieved from the database represented by standard System.Data.DataSet class; reportPart is a name of a report in the report set (for example, the name for the grid-represented report is “Detail” and name for the chart report is “Chart”). Now you can manipulate data and all your changes will effect the final results.

For example, we want to rename “CA” state code to “California” but only in the results grid. Without any post-processing we have the following report:

Pie chart and graph after postprocess code

Now let’s add some extra code to the CustomAdHocConfig class:

csharp] public override void ProcessDataSet(DataSet ds, string reportPart) { // We want to alter only "Detail" part of the report set if (reportPart == "Detail") { if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { // Iterate through columns to find column with name "Ship Region" for (int index = 0; index < ds.Tables[0].Columns.Count; index ) if (ds.Tables[0].Columns[index].ColumnName == "Ship Region") { foreach (DataRow row in ds.Tables[0].Rows) if (row[index].ToString() == "CA") row[index] = "California"; // There can be only one column with specific name, // so we can leave the cycle as soon as we find it break; } } } } [/csharp]

And after implementing post-processing the result will be:

pie chart and graph after postprocess code has been executed

As you can see “CA” was replaced by “California” in the grid but it is still “CA” in the chart. Using this approach, you can change significantly improve your reports.

Adding Custom Charts to Izenda

By | Izenda Reports, Tips

We often get asked how many different types of charts we support. While there are about a hundred variations we support out of the box, our underlying Dundas API can generate pretty much any chart style or type imaginable.  If you’d like us to create a custom chart for you, just send us a picture of what it should look like.

Supporting additional chart types involves adding UI elements to the chart tab and applying the behavior via the CustomizeChart() method.  In this article we will add an average line to our plot chart.

Read More

We Get Mentioned at Idol, CRM Idol, That Is!

By | Customer Success, Izenda Reports, News & Events

One of our customers, bigWebApps, just got a very nice review by the judges over at the CRM Idol 2011 Competition. The judges singled out in their review of bigWebApps’ helpdesk application its Time & Expenses management module:

“…their time and expenses tracking is superlative, probably their best component. They are able to link the time/expenses to the activities of the individual tech with their customers with export to Freshbooks and an easy to read report (using the Izenda reporting engine, one that we had never heard of until speaking with bigWebApps). Rate plans are entirely customizable and can be assigned to an account or a project.”

Way to go Patrick Clements of bigWebApps! And while the judges might not have heard about Izenda, they know a good reporting system when they see it!

Izenda Reports 6.4: User Defined Constraints with Wildcards

By | Izenda Reports, Tips

(This is part of a series of posts on the new Izenda Reports 6.4, presently at the Release Candidate stage.)

New virtual constraints are easy to add in Izenda Reports. Complicated schemas no longer require extensive user education or the changing of database schemas. Virtual constraints allow Izenda Reports to know about any connections between tables. For example, users can even run reports on Sales Force databases without reshaping the schema. These may be required to use smart join. Read More

Izenda Reports 6.4: Save Controls Added to the Report Viewer

By | Izenda Reports, Tips

(This is part of a series of posts on the new Izenda Reports 6.4, presently at the Release Candidate stage.)

Enhanced Report Viewer

In version 6.4 we’re adding save controls to the Report Viewer so that modified reports can be saved or turned into new reports directly from the Report Viewer. No more going to the Report Designer just to save report filter selections. Read More