Business Intelligence vendor consolidation (the cost)

Following on from my post of Business Intelligence Vendor consolidation, the price paid for these acquisitions and mergers has come under scrutiny. During Spring 2007, three takeovers of performance management competitors occurred almost simultaneously. The SAP takeover of Business Objects was announced on October 7, and IBM’s takeover of Cognos on November 12.

Only Hyperion, Applix, Business Objects and Cognos were publicly traded companies, whose price could be regarded as set by the market, with Hyperion and Business Objects being category leaders and Applix one of the fastest growing BI vendors. Cognos’s market value was artificially boosted by the growing takeover frenzy that developed during 2007.

Cartesis was less dominant, except in France, and slower growing, while OutlookSoft was not dominant in any market, and was most threatened by Microsoft PerformancePoint. On this basis, Oracle, Business Objects and Cognos probably paid something close to the ‘right’ price for their respective acquisitions, while SAP almost certainly significantly overpaid for OutlookSoft (particularly given its subsequent takeover of Business Objects and hence Cartesis as well).

The table below details the cost of each business intelligence acquisition.

Business Intelligence - more than just OLAP

Many companies have developed a suite of reporting systems, executive dashboards, and scorecards. Structured analytics is based on a structured or official way of looking at a business and its operations. The structure is based upon the semantic consistency and hierarchical taxonomy of conformed dimensions and is often implemented in an OLAP environment for use in drill-down, roll-up and other point-and-click data navigation.

The strength of structured analytics is the consistent application of key performance indicators (KPIs) and important metrics to the business for understanding important results, both current and as trends over time, of the business and their underlying factors. Structured analytics are well-suited for executives and operational managers who manage business operations and need to act quickly to resolve problems and turn information into action.

Structured analytics are not well suited for thinking outside the square. There are two main types of unstructured analytics: statistical analysis and data discovery. Many companies experience blind spots because they are completely reliant upon the structure analytics. Instead they should use unstructured analytics to identify new insights into their business.

Statistical Analysis

Many companies have gone beyond structured analytics and utilize statistical analysis, often called data mining, for actuarial analysis of insurance and financial products, behavioral analysis of customers, quality analysis of suppliers and many other uses. Statistical analysis applies mathematical models to find statistical correlations between elements of business data. The purpose is to develop a model that predicts an outcome with a measurable degree of certainty so the model may be applied to help create more of a desirable outcome or less of an undesirable one.

The strength of statistical analysis is in its ability to use the power of mathematics to create models that can help increase revenues by optimizing business actions. Potential applications are cross-selling and up-selling products, identifying high-value customers, maximizing supplier quality and so forth. There is one problem, however: statistical analysis requires users to have some background in mathematics or statistics. While statistical analysis tools implement algorithms that don’t require this background, it helps to have an understanding of linear programming, distribution analysis, time-series analysis and other concepts to ensure that the model developed is accurate for the business situation being analyzed.

The use of statistical analysis in business is limited to specialized areas because of this skills requirement. Also, the development of a model takes time: data needs to be gathered, correlations between data elements considered and weighed, and a statistical distribution selected. Nonetheless, statistical analysis is an important capability that should be put to wider use. However, a method of unstructured analytics that does not require as rigorous a skill set is also available.

Data Discovery

Data discovery tools promote ease of data analysis and end user self service by not adhering to the traditional BI model of ETL, quality control, data structuring and OLAP delivery of structured analytics. Rather, these tools automate data loading and table joining, typically based on matching column names, to establish de facto relationships between data elements and sets of values. The purpose business intelligence tools is make data access and manipulation seamless and easy.

Data discovery tools are extremely powerful, instead of ETL, these tools appear above application databases, database views, and users’ personal Excel and Access data stores. Further, data discovery technologies facilitate the visualization and analysis of data by providing a user-friendly interface for data manipulation. These tools are perfect complement to any BI solution. This is because well designed and integrated operational data store, it can eliminate data quality, control and audit issues and become a powerful technology for data discovery, complementing structured analytic and statistical analysis capabilities. Discovering a new understanding requires the analyst to understand their business and its data, and so are best suited to power users or data analysts.

Data discovery tools are exploratory, sandbox manipulation providing you with ways to get new insights into your data. Unconstrained by a defined structure or intent to develop a statistical model, data discovery allows a user to observe data values and relationships chosen by the user’s curiosity or interest.

Insights into data discovery can often not be apparent in structured analysis. Additional metrics may evolve, becoming part of the structured analytics. With this type of data evolution, data discovery will be a powerful component in a company’s overall BI capabilities. This will enhance the capabilities provided by statistical analysis and structured analytics.

BCS Technology Business Intelligence can provide additional insight into a companies BI requirements.

8 amazing features in Crystal Reports 2008


Crystal Reports 2008 has now unleashed some new powerful and dynamic reporting features not previously seen in a reporting product. We have taken Crystal Reports 2008 for a test drive and we believe "this release has the potential to transform every business user's working environment". Business Objects a provider of business intelligence (BI) solutions, launched Crystal Reports 2008. Reports are the lifeblood of communication between people, business, partners, and customers. Crystal Reports is now fifteen years old. Crystal Reports 2008 continues to provide innovation for both new and existing customers. Crystal Reports 2008 delivers actionable data for any organization with a comprehensive set of new features for business users, report designers and application developers.

Juliette Sultan, Vice President of Information Discovery and Delivery at Business Objects says

"Crystal Reports 2008 brings excitement into reporting. With this release we are addressing the needs of both the report designers and the consumers of the reports. The reaction from our beta customers and partners has been overwhelmingly positive. People are telling us that the game-changing Crystal Reports 2008 has the power to transform decision-making and improve careers."

The release of Crystal Reports 2008 has definitely redefined the reporting experience. Some of the new features include:

• Flexible, interactive report viewing
• Advanced report designer
• More professional looking and persuasive reports
• Comprehensive set of deployment options
• Reduced report proliferation and maintenance
• Reduced design time
• improved designer productivity

Crystal Reports 2008 delivers advanced functionality to help build powerful reports, reduce report proliferation and maintenance, and save time with high-productivity design features. New interactive features include in-report sorting, reformatting and parameter filtering. You can now create visually compelling data presentations by easily embedding Xcelsius and Flash elements. You can save time by adding summary, variance and any other custom calculation into a crosstab row or column without any coding.

1. Xcelsius Integration


What-if scenario like models allow you to visualise the potential outcome of your business decisions and can be built into your reports. Import Xcelsius-generated SWF files into your report and benefit from improved design-time integration. IT and developers will design fewer reports to support the decision making process. Please note: Xcelsius design tool is not included in Crystal Reports 2008.

2. Interactive Report Viewing

Business users can determine answer more business questions with fewer, more flexible reports – significantly reducing Developer and IT support dependency. On-report sorting, filtering, and report reformatting with the .NET Winform, and .NET Webform viewers allows users to explore information interactively without re-querying the database. New optional parameters provide for complex user-driven filtering scenarios.

3. Powerful Crosstabs

Add business-critical information to your reports without coding. Summary, variance, and any other customer calculations can be inserted into a crosstab row or a column – especially useful for reports that benefit from a table structure such as financial reports. The crosstab table structure makes reports much faster to build and maintain. This feature also provides powerful benefits to crosstab-based charts since custom formulas in the crosstab can be visualized within the charts.

4. Advanced Report Publishing

Expand your IT capability and deliver a better customer experience. Also known as report bursting, advanced report publishing is a platform for the mass distribution of personalized content. Multiple reports can be created based on different data sources, combined into one desired file format (such as PDF), loaded with personalized content, and then sent to a dynamic list of recipients—with a single action. The content can be archived, printed, or emailed in separate actions, or simultaneously. This makes scheduling much faster and easier, with the ability to conduct cost effective one-on-one marketing campaigns and other personalized high-volume reporting.

5. Integration with SalesForce.com

The salesforce.com driver included with Crystal Reports 2008 allows for easy access to complete customer data - turning it into actionable business information. Reports that use a salesforce.com driver will refresh when deployed to crystalreports.com.

6. Improved XML Support

Render reports in almost any format and enjoy faster and easier integration with your industry-specific business processes—without any custom coding. The XSLT transformations are embedded into the report file and will be triggered by users from within the viewer when exporting to XML. This provides a powerful, flexible hook for transforming Crystal Reports data and integrating it into other applications.

7. Advanced Paging

Facilitate better online report viewing to your end users. Report designers can customize page size and easily control page breaking after N records/groups. A single report can combine portrait and landscape oriented pages and the white space at the end of groups can be removed by compressing the page footers. Online report consumption is improved because reports are easier to read.

8. Adobe Flash & Flex Integration


Execute business decisions from within the report file. Integrate your reports with operational workflows by embedding Adobe Flex (SWF) applications into your reports. Using Adobe Flex Builder you can create any business-user UI to access report data and integrate with external web services. Data in your report can be passed to the Flex application via Flashvars, making it easy to create a flexible UI even when you don't have access to your data via web services. The Flex applications can do tasks like database write-back - invoking operational workflows directly within Crystal Reports. IT and Developers benefit from instant, coding-free integration of Crystal Reports with your business processes. Please note: Adobe Flex Builder is not included in Crystal Reports 2008.

You can create stunning visualisations with dynamic charts, graphics and video to your reports. A variety of flexible data presentation options are included via Flash. Flash (SWF) files can be integrated into a report, providing interactive and information-rich reports. Flash files can be easily embedded in a report or linked via a website avoiding the need for IT and development time.

Crystal Reports 2008

“ We have entered to a new era, today business marvels are changing, investors are demanding greater transparency, organization are responding to new social responsibilities and companies everywhere are striving to find new ways to serve the customers, better than anyone else business objects understands that they navigate these changes everyone in the organization needs accurate timely information in order to make more effective decisions , and over the years millions of people have relied on the crystal reports , a number one trust reporting software in the world to do just that. Well! a new era calls for a new solution, Introducing Crystal report 2008, a new kind of reporting solution, One that help s you to respond the changes easily and knowledgably , one that enables more informed decisions instantly , one that ensure that you and your colleagues are more productive , more competitive and one that delivers more compelling information directly with the people that matter the most your business, the customers , the crystal reports 2008 isn’t simply about helping you locate the right information. Today you need tools to help you interact with different types of data in brand new ways, you want to see information in a whole new life , and you want reports design to reduce your reliance on IT or developers , of course you also want these software to be backed by award winning technical support team, and provided by the number one business ntelligence company on the planet, Business Objects! Welcome to the new era of information enlightment, welcome to Crystal Reports 2008 “

How to create a Report with Parameters

To begin, create a report that draws its information from the sample Microsoft
Access database that ships with Crystal Reports that ships with Crystal Reports.



Note Xtreme.mdb is the sample database that is provided with Crystal Reports. To
locate xtreme.mdb on your hard drive for your version of Crystal Reports

1. In Solution Explorer, right-click the project name that is in bold type, point to Add, and then click Add New Item.
2. In the Add New Item dialog box, in the Templates view, select the Crystal Report template.
3. In the Name field, enter the name "CustomersByCity.rpt" and click Add.
4. In the Create New Crystal Report Document panel of the Crystal Reports
Gallery dialog box, select Using a Report Wizard.
5. In the Choose an Expert panel, select Standard, and then click OK.
6. In the Available Data Sources panel of the Standard Report Creation Wizard
window, expand the Create New Connection folder.
7. From the subfolder that opens, expand the ODBC (RDO) folder.
8. In the ODBC (RDO) window, select the correct ODBC DSN entry for your version of
Crystal Reports and then click Finish.
The ODBC (RDO) folder expands and shows the Xtreme Sample Database.
9. Expand the Tables node, double-click the Customer table to move the table to the Selected Tables panel, and then click Next.
10. Expand the Customer table, then CTRL-click Customer Name, Contact Title,
Address1, Contact Last Name and City.
11. Click the > symbol to move these fields into the Fields to Display panel, then click the Next button.
12. In the Available Fields panel, under Report Fields, double-click Customer.City to
move the field into the Group By panel, and then click the Finish button.
The CustomersByCity report is created and loaded into the main window of Visual Studio.
You are now ready to add a parameter named City and populate it with default values.
The Field Explorer must be visible, because it provides access to the various features of
the report, including parameters. To make the Field Explorer visible, from the Crystal
Reports menu, click Field Explorer.

To add a City parameter

1. If the Field Explorer is not visible, on the Crystal Reports toolbar, click Toggle Field View.

Note Another way to display the Field Explorer is to go to the Crystal
Reports menu, and then click Field Explorer.
2. In the Field Explorer, right-click Parameter Fields and select New...
3. In the Create Parameter Field dialog box:
Set the Name to "City."
Set the Prompting Text to "Select one or more cities."
Set Value Type to String
Select Allow multiple values.
Select Discrete value(s).
Click Default Values...
4. In the Set Default Values dialog box:
Set the Browse table to "Customer."
Set the Browse field to "City."
Click >> (the double right arrow) to move the entire cities list into the Default Values list.
5. Click OK to close the Set Default Values dialog box.
6. Click OK to close the Create Parameter Field dialog box.
You have just set the Default Values to contain a large list of cities.

You now use the Select Expert to set a formula that connects the City database column to
your newly created City parameter field.

To connect the City parameter to the City database column

1. On the Crystal Reports toolbar, click Select Expert.
2. In the Choose Field dialog box, under Report Fields, select Customer.City, and
then click OK.
3. In the Select Expert dialog box, within the Customer.City tab, set the dropdown list
to "is equal to."
4. In the new dropdown list that appears to the right, select the first choice in the list,
{?City}, and then click OK.

Note This selection, {?City}, is the City parameter that you created earlier.

5. From the File menu, select Save All.


You are now ready to bind the report to the CrystalReportViewer control and set the city
parameter with two initial values, Paris and Tokyo.

Binding the Report

It is assumed that you have already placed a CrystalReportViewer control on the Web or Windows Form. In the previous steps, you added a CustomersByCity report to the project.
In this section, you bind the file directory path of the CustomersByCity report to the
CrystalReportViewer control. Then you test whether the report displays correctly when
current values have not been set for its parameter field.

To bind the file directory path of the CustomersByCity report to the
CrystalReportViewer control

1. Open the Web or Windows Form.
2. From the View menu, click Code to view the code-behind class for this Web or Windows Form. 3. Locate the Form Load method (Or any other method where you want to place the code).
4. Declare a string variable, name it reportPath, and assign to it a runtime path to the
local report. This path is determined differently for Web Sites and Windows projects:
For a Web Site, pass the name of the local report file as a string parameter into the
Server.MapPath() method. This maps the local report to the hard drive file
directory path at runtime.


[C#]
string reportPath = Server.MapPath("CustomersByCity.rpt");

[Visual Basic]
Dim reportPath As String = Server.MapPath("CustomersByCity.rpt")

For a Windows project, concatenate the Application.StartupPath property with
a backslash and the local report file name. This maps the report to the same
directory as the Windows executable file.

Note At compile time you will copy the report to the directory containing
the executable file.


[C#]
string reportPath = Application.StartupPath + "\\" +
"CustomersByCity.rpt";

[Visual Basic]
Dim reportPath As String = Application.StartupPath & "\" & "CustomersByCity.rpt"

5. Assign the file directory path of the CustomersByCity report to the ReportSource
property of the CrystalReportViewer control.

[C#]
crystalReportViewer.ReportSource = reportPath;

[Visual Basic]
myCrystalReportViewer.ReportSource = reportPath

You are now ready to build and run your project. It is expected that the report loading will fail, because code has not yet been written to set a value for the City parameter field.

To test the loading of the CustomersByCity report

1. From the Build menu, select Build Solution.
2. If you have any build errors, go ahead and fix them now.
3. If you use a non-embedded report in a Windows project, locate the compiled Windows
executable in the \bin\debug\ subdirectory, and then
copy the report to that subdirectory.

Note To have the non-embedded report loaded by the Windows executable
at runtime, the report must be stored in the same directory as the Windows
executable.

4. From the Debug menu, click Start.

Note If you are developing a Web Site in Visual Studio 2005, and this is the
first time you have started debugging, a dialog box appears and states that
the Web.config file must be modified. Click the OK button to enable
debugging.


The CustomersByCity report does not display. It displays after you add a value for the
City parameter field later in this tutorial.

Note Results may vary, depending on the version of Crystal Reports that
you use. In more recent versions, you can see a form requesting that you
provide parameter values for that report. In earlier versions, a "Missing
parameter field current value" exception is thrown. In either case, you must
add further code to create a fully functional application.

5. Return to Visual Studio and click Stop to exit from debug mode.

How to create Crystal Report

Start your first VB.NET Crystal Reports .
All Crystal Reports programming samples in this tutorials is based on the following database (crystaldb) . Please take a look at the database structure before you start this tutorial - Click here to see Database Structure .
Open Visual Studio .NET and select a new Visual Basic .NET Project.




Create a new Crystal Reports for Product table from the above database crystalDB. The Product Table has three fields (Product_id,Product_name,Product_price) and we are showing the whole table data in the Crystal Reports.
From main menu in Visual Studio select PROJECT-->Add New Item . Then Add New Item dialogue will appear and select Crystal Reports from the dialogue box.






Select Report type from Crystal Reports gallery.

Accept the default settings and click OK.
Next step is to select the appropriate connection to your database. Here we are going to select OLEDB connection for SQL Server
Select OLE DB (ADO) from Create New Connection .



Select Microsoft OLE DB Provider for SQL Server .




Next screen is the SQL Server authentication screen . Select your Sql Server name , enter userid , password and select your Database Name . Click next , Then the screen shows OLE DB Property values , leave it as it is , and click finish.
Then you will get your Server name under OLEDB Connection from there select database name (Crystaldb) and click the tables , then you can see all your tables from your database.
From the tables list select Product table to the right side list .




Click Next Button
Select all fields from Product table to the right side list .

Click Finish Button. Then you can see the Crystal Reports designer window . You can arrange the design according your requirements. Your screen look like the following picture.







Now the designing part is over and the next step is to call the created Crystal Reports in VB.NET through Crystal Reports Viewer control .
Select the default form (Form1.vb) you created in VB.NET and drag a button and CrystalReportViewer control to your form.



Select Form's source code view and put the code on top
Imports CrystalDecisions.CrystalReports.Engine
Put the following source code in the button click event
VB.NET Source Code

Imports CrystalDecisions.CrystalReports.Engine
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As
System.EventArgs) Handles Button1.Click
Dim cryRpt As New ReportDocument
cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt")
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
End Sub
End Class
NOTES: cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt") The Crystal Reports is in your project location, there you can see CrystalReport1.rpt . So give the full path name of report here. After you run the source code you will get the report like this.









Hope this tutorial help you to create your first Crystal Reports.


How to load Crystal Reports dynamical in .Net

All Crystal Reports programming samples in this tutorials is based on the following database (crystaldb) . Please take a look at the database structure before you start this tutorial - Structure of the database are as follows:



First we have to create a database . Give the database name as "crystaldb"
Create a DataBase "crystaldb"
In the crystaldb database , create three tables
OrderMaster , OrderDetails , Product .

OrderMaster
OrderMaster_id
OrderMaster_date
OrderMaster_customer
OrderMaster_createduser
OrderDetails
OrderDetails_id
OrderDetails_masterid
OrderDetails_productid
OrderDetails_qty
Product
Product_id
Product_name
Product_price
The following picture shows the relations of each table :



In this section we are passing User ID , Password , Server Name and Database Name dynamically to Crystal Reports from vb.net .
SITUATIONS :
In many situations this is useful , for example if you develop a database project in a test server and later you have to migrate it , in such situations you have to give these information dynamically to Crystal Reports.
In this program we are using our earlier program and pass the values dynamically to Crystal Reports. Before we start this section take a look at the How to create Crystal Report in VB.NET .
In the How to create Crystal Report we created a report selecting all data from the Product table . There is no chance to change the server on runtime in that case because it is a static report . Here we are passing Server Name , UserID and Password dynamically to the Crystal Reports.
Here we use Crystal Reports ConnectionInfo .
Dim crConnectionInfo As New ConnectionInfo , and pass these arguments to ConnectionInfo
Select the default form (Form1.vb) you created in VB.NET and drag a button and CrystalReportViewer control to your form.
Select Form's source code view and import the following :

Imports CrystalDecisions.CrystalReports.Engine
Imports
CrystalDecisions.Shared
Put the following source code in the button click
event
VB.NET Source Code
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private Sub
Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs)
Handles Button1.Click
Dim cryRpt As New ReportDocument
Dim
crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New
TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim CrTables
As Tables
Dim CrTable As Table
cryRpt.Load("PUT CRYSTAL REPORT PATH
HERE\CrystalReport1.rpt")
With crConnectionInfo
.ServerName = "YOUR
SERVER NAME"
.DatabaseName = "YOUR DATABASE NAME"
.UserID = "YOUR
DATABASE USERNAME"
.Password = "YOUR DATABASE PASSWORD"
End With
CrTables = cryRpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo =
crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
End Sub
End Class






NOTES: cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt") The Crystal Report is in your project location, there you can see CrystalReport1.rpt . So give the full path name of report here. You have to replace the source code values of "YOUR SERVER NAME" , "YOUR DATABASE NAME" , "YOUR DATABASE USERNAME" , "YOUR DATABASE PASSWORD" with your correct values . When you run this program you will get the following screen.