WebIntelligence Report’s Save As CSV Has a Problem?
Like a good obedient BO disciple I switched from using BO 6.5′s “full client” (now called Desktop Intelligence) to using BOXI’s Web Intelligence tool (also called WebI). To Business Objects’ credit, they have put much of Desktop Intelligence’s functionality in to WebI. But there is one disorienting difference.
BOXI Web Intelligence “Save to CSV” Is Different
My recollection tells me that if I exported a BO 6.5 Full client report to CSV that I received a CSV file with the same content that I would get through a Microsoft Excel export. Sure formatting, such as colors, column width, font, etc. were lost, but the order of the columns and even the report level variables in the table were exported to CSV from full client. Maybe, I a wrong about this (please point this out if I am), but that is the way I and some colleagues remember it.
BOXI Web Intelligence (and perhaps BO 6.x Web Intelligence) also has the ability to export to a CSV file, but this export behaves very differently. This export behaves much like the BO 6.x “View Data” or the “Data Cube” functionality. The BOXI WebI CSV export is a dump of the exact results of the first query of the report just as they were received from the database.
WebI CSV is a Query Result Export, NOTHING MORE
When you export a WebI report to CSV you may not get what you expect. The results should be identical to those you would get if you took the query and ran it directly against the database. This may be disappointing to some because it does not include any report-level aggregation, calculations, sorting, breaks, character formatting, or column ordering. HOWEVER, if a report developer is debugging a query or a universe object this output can be invaluable. For example, it can quickly uncover issues (such as Cartesian products) that dimensions can hide in a table. There are many uses for this output.
Why Does WebI’s CSV Have This Limitation?
I don’t claim to have inside information, but I can guess at two reasons for this limitation.
- Report Development Debugging: I know I already mentioned this, but I really want people to use the CSV export to understand more about their query and report. This previously perceived limit is actually advantageous functionality in the right hands.
- Discouraging ETL Use of Business Objects: If CSV were to output the aggregation and calculated columns of a report it would be readily used by end users as an ETL tool (Extract, Transform, Load). Some users still use it this way, but large scale use would explode if CSV exports were more than query dumps.
What Can I Do If I Want a CSV Export of My WebI Report Table’s Data?
There is almost always a workaround. If you must have your table’s data in CSV format then the solution is simple: export to Excel, open Excel output, save to CSV. You’re welcome!



A couple of related notes:
For some of our users, saving as Excel is not actually an option. As we are still on Excel 2003, they run smack up against the 65K row limit. Under 6.5, they were able to use the Full Client to function as a poor man’s ETL system to populate local databases. Trying to do the same in WebI has exposed a host of difficulties. While I know this is not how WebI is *intended* to be used, is it really that unusual a case that it is not accounted for?
Why can we not schedule reports to a CSV or other text format?
I feel your pain. It seems that BO could allow Administrators to enable text export for scheduled jobs.
By the way, even if every one of your users had Excel 2007 you would still be limited to 65K rows on Excel output. Last I talked with BO Engineers on this, the Excel file generator is custom code developed by BO and it is not impacted by what version you may install on the server or on the client. Also, they indicated that leaving this limit at 65K might be an intentional anti-ETL choice that BO makes.
We’ll see.
hello all,
some of our users are suffering with this problem.
they are used to exporting to access and now they have a 2 stage process which they claim is time consuming.
if anyone manages to find a quick solution then please let me know
regards
yuen
Sorry Yuen,
According to various Business Objects engineers this is by design and there is no way to do it.
HOWEVER, if you can build your aggregation and formulas into your SQL (or the SQL of your report’s objects) then you may be able to make the actual query result useful in its native form and therefore the CSV export from WebI would be just right for their needs. BTW, building this into your SQL can often be a best practice that will improve accuracy and performance for your users.
Please comment back with your thoughts.
Good Luck!
Julian
Our report is actually not very big. Excel output is only about 50 kb, and also the number of rows is less then 200. But the users want the report in csv. But when we try to export, we get the error msg saying
‘Max character file size limit exceeded. The document is too large to be processed by the server. Contact your BusinessObjects administrator. (Error: WIS 30272) (Error: INF )” ‘
Not sure what could we do? Any ray of light?
Thanks
I can think of one explanation, but it may not fit your case…
Remember that Excel output is WYSIWYG. Therefore, it contains all of the aggregation of your report. Therefore, if your report is aggregating a lot of data then it is entirely reasonable that the CSV export could exceed your binary file size limit. For example, what if you pull back 500,000 rows of micro transactions for 5 different products, but in your report you aggregate all of those 500K rows to 5 lines of data. Then of course your Excel output file will be very small, but your CSV file would be HUGE. You need to take a look at how many records are being returned by your report’s query/queries.
Please update let us know if this tip helps. Good luck.
Also, I have downloaded the data of 160000 rows in the excel sheet, it had downloaded automatically in multiple sheets in excel. My Version is 2003 and Webi 3.1 version.
Interesting observation Suresh. It would appear that maybe in XI 3.1 Business Objects has found a workaround to the limit and has started splitting the output across multiple sheets.
Since the Excel file is created by the server I am curious to know if it is creating an Excel 2007 *.xlsx file and perhaps your Excel 2003 version is splitting those 160,000 rows across multiple sheets. Can you please comment on this? Thanks!
Well I can confirm what Suresh said
I am running Webi 3.1 and I set the “Binary Stream Maximum Size (MB):” parameter for the webi server to 1000 and then ran a report that gives over 500.000 records.
An export to Excel gave me 8 sheets in 1 workbook (Eace sheet with 65k rows or export to csv and then into Excel2007 gave me one sheet with 500.000 lines.
So until BO give’s us an updated Excel export module this is a workaround
Regards Svavar
Svavark thank you for confirming that. Very interesting. I had not noticed this. I like the workaround. I suppose it is implemented this way to be backward compatible with Excel 2003 as well. Not bad. Now if it just had two options, “Export to Excel 2003 or lower” and “Export to Excel 2007″ then we would all be even happier. I will write a short article about this to give it more visibility. Thanks Suresh and Svavark!
[...] From the InfoView -> scheduler 1. Excel format is generating Excel readable file — but they want exact Excel file. 2. Text file format is generating ‘Tab’ delimiter file 3. There is no option for CSV from scheduler [link to related article] [...]
Hi..
I am new to Webi…
how do i go about
Java Code functionality:
1) Look for a Excel file at a specified location on BO Server
2) Now Read the Excel file and capture each (Section ) details and create a new Excel file with the data of this Section alone.
3) Rename the New excel file names
4) Now all the new excel files created are Zipped
I have created the java code.. I need a way to carry out the same thing in bo sdk…
Please help…
Hi,
Is there any way to convert a BO webi document to Excel report via .net application and prompt the excel to the user?
Thanks
Please provide more details. I found at least two very different meanings to this question. Do you want to prompt the user to save to Excel? Do you want the user to be able to open an Excel document and then refresh the data in the spreadsheet when prompted with something like “Would you like to refresh the data”? Both are possible. 1st one would involve SDK or at least a modification to InfoView. The 2nd one would use LiveOffice (easier) or just stick some VBA/SDK code in an Excel report (harder but cheaper).
In saving report to .CSV format using BO 6.5, how is it actually done?
Is it restricted with access rights? I am trying to save a BO 6.5 to .CSV, but I can’t seem to see an option for that.
Thanks.
I don’t want to make you wait until I can dust off my DeskI of BO 6.5 Full Client, so I am going to say this one from memory…
Click on the data cube and there you will find an export option. This will export the data exactly as it came from the database without any report formatting or aggregation.
Please confirm that this is valid memory. Thanks!
Yes.
Thanks Julian.
I have another concern though.
This time with BOXI.
Because with BOXI, InfoView, when you save the reports in .CSV format, all the queries behind the report are retrieved.
How would you limit the output to only a particular query that you would want to see the result?
Like in BO 6.5, if you only need results from Query 1, you could export that query only to excel, how could we do that in BOXI InfoView?
Thanks again!
As far as I know this is not possible. If this were a very important requirement then you might build some kind of macro for processing the output as you want it to be, or you could even have prompts created that would be used to turn off the output of the other queries (making them return no rows) and turn on only the query you want to retrieve. Crazy ideas, but I have seen it all and the business requirements that drive ‘em.
Hi there,
I’ve came across this page here when doing a search on how to export WebI 3.0 into csv or txt format.
In fact, is there such a way to export to txt format directly from the WebI reports without having to go through Excel?
Hope my question is clear enough.
Thanks.
Hi ccool,
Yes, in XIR2 and BO XI 3.1 (I just confirmed both) just open the report in the regular HTML viewer (not the Java Report Panel for editing). With the report open go to Document > Save to my computer as > CSV. You may also select “CSV (with options)” in order to select the text qualifier, column delimiter, or character set.
Best Regards, Julian
Thanks a lot for the input, Julian.
I’m very very new in BO and thus, I need a lot of guidance as I find that BO resources are quite limited. Thank goodness we have a blog like this which I think is quite resourceful.
Now, if I were to schedule my WebI report to CSV format, are we able to do so? I only found WebI, Excel and PDF under the Output Format when I go to Schedule>Output Format and Destination.
Thanks in advance.
Hi ccool,
Thanks for the feedback! Unfortunately, it is impossible to schedule to CSV from WebI. This is by design, according to my various conversations with BO engineers. This prevents people from using WebI reports for ETL (Extract, Transform, Load) purposes and encourages them to keep using it for business intelligence reporting only.
Sorry, Julian
Cheers, Julian!
scheduling the report in csv format is added in 3.1 sp2 release.
I see that we can schedule a webi doc to csv format in XI3.1 SP2 via InfoView or the CMC. I would like to do the same using the SDK. But in the SDK code we dont see the option for csv. We are using boesdk_java_apiRef_12_en.zip. Is this the latest version of the Java SDK?
-apa
Mr. Abdalla,
I think that you are correct, you have the latest Java SDK API Reference; however, the “12″ stands for BO XI 3.X and therefore, it has most likely not been updated with the patch releases. Since the CMC uses the SDK I highly suspect that the API for scheduling with CSV delivery is possible. Good luck finding the documentation though.
If you have SAP-BO Support maintenance, you could open a Customer Message (a.k.a. case) with them and demand that they provide this information. However, I tried to do this for Query Builder once and I was shot down, which led me to search out everything I could get my hands on and write and publish my own documentation.
This string is very interesting…I am an IT neophyte, so take pity on my question…Can anyone recommend a text book or books that will cover this scenario?
I would like to schedule an automatic refresh of 4 separate queries in Desktop Intelligence 11.5.0.0 every night where the query date ranges represent a 120 day rolling period and import the results into an Access database to replace 4 corresponding tables.
Any suggestions?
I can’t think of a single book that would tell you exactly how to do that. I think I know how. I have done plenty of rolling data range reports (using universe-level conditions based on the system date). As for loading to a DB, you would need to probably deliver Excel or CSV output (XI 3.1 SP2) to a file share and have some batch process pick it up and load it to your database.
Julian,
If I use excel 2007 and BOXIR2 still the 65K row limit is there is any work around for XIR2 please let me know
Satya
Sorry Satya, the component which produces the Excel output has nothing to do with anything installed on your computer, it is a DLL/class which BO has created. Until they alter it, you will not see this limit exceeded.
I can tell you that in BO XI 3.1 they now force output of over 65K rows onto additional sheets in the Excel workbook, but in order to retain compatibility with all versions of Excel and OpenOffice Calc each sheet is limited to 65K rows. I don’t know if XI 3.0 includes this.