nQSError: 61013 Can not save changes to the repository

If you come across following error don’t be panic.
warning: can not save changes to the repository because,
[nQSError: 61013] File error: path= C:\OracleBI\server\Repository\paint.rpd , code=31: There has been a sharing violation.
May be its because of, you have started working on repository (offline mode) then started BI Server, after server services start, if you try to save repository you will see above message.

If you want to save all your changes just stop BI Services, and then save repository it will save all changes made to repository.

Obiee all Message Reference

Siebel Analytics Message Reference(click here to download) it’s a powerful tool for developer for debugging any problem occurred in obiee environment. It explains context of each message and suggests possible steps to overcome the problem.

Display Data Base Images on report

Inspired by one of post in OTN forum on how to populate data base images on a native report, here assumptions are database having image URL, images are residing in image resource folder.
To do that first keep all images files in OracleBI\web\app\res\s_oracle10\images i.e fmap:images\xyz.jpg
Keep all image file names (with file extn) in database as required.

Exp: Suppose geo dimension with
South as south.jpg
West as west.jpg
East as east.jpg,
North as north.jpg

To display images on report:

Add image’s column to report
(Just to illustrate example I have added image file names in ERROR_TEXT in Usage track Schema.)
Click on Column Properties, go to Data Format tab

Check “Override Default Data Format” and from drop down choose “Custom Text Format”
In Custom Text Format edit box place following script.
@[html]" < !-- img src="\\analytics\\res\\s_oracle10\\images\\""@H""" -- > "(Please uncomment html tags)

Browse report, images url's will be fetched from database appended with resource file displayed on report.

Here is a good example on how to embed image on a web page with various options.

Conditional Formatting in Grand Total in Pivot Table View


Just now saw a post in OTN on Conditional Formatting in Grand Total - Pivot Table View, here is a possible work around for this.

Sample Exp
Region price per unit
south 89
north 86
west 92
east 99
Grand total 91.5

Conditional format is if 90% above is green other wise red this works well on individual cells but not in default grand total option.
Possible solution is, create a report with required columns and apply required conditional formats on columns. Create pivot view, locate column choose more options, on click menu choose “new calculated item …” select function as AVG and select all available columns, give a name Grand Total or what ever may be say ok.
Now you can able to see conditional format on custom row "Grand Total Row".

Here are steps to do that(Paint Example)



Thinking on..., are there any other easy solutions :)

In Between Calendar Control with Sliding dates

I would like to share how I use to implement sliding days and dynamic date range with in reports.

Problem: Many times we come across requirement to have recent orders or activities etc. Here recent may be 1 day or 1 week or 1 month depends on different users.

Solution: To accommodate all above, I will pull report with latest 7 days i.e
Between CURRENT_DATE-7 and CURRENT_DATE and also I will give controls to user to choose between dates from page prompt so that user can get what they need.

Example: Today(July 24) report will pull recent 7 days as default(July 17 to July 24) and if I access same report tomorrow , report will pull July 18 to July 25 data as default. Same time user provided with page prompt control to choose dates. (Exp. July 17 to July 30).
Here are step by step to do that.
At first we need to have dynamic variables so create Server Variable’s for your requirement in my case startDate_ServerVariable with week ago date (SYSDATE - 7) and endDate_ServerVariable as Current date (SYSDATE).
1. To do that, in RPD navigate to repository – initialization block
2. Create new initialization block
3. Edit Data Source
4. Select Data Source Type as Database
5. Edit default initialization string with “select sysdate, sysdate-7 from dual”
6. Assign Connection Pool and also choose refresh rate of these variables.
7. Click on test to see proper values populated and say okay
8. Now click on Edit Data Target button
9. Create server variables
10. Click okay; close Variable Manager, Save RPD.


Now create prompts with Date-Calendar control and assign default value with server variable and also create new presentation variables as shown below.
Create report with filter on date column using between syntax will be like,
DateColumn is between @{startDate_PVariable}{1900-01-01 12:00:00} and @{endDate_PVariable}{1900-01-01 12:00:00}

For more detailed information follow these articles.
Venkat posted very good article on between, John has posted very good solution on Calendar Control.

Possible error:
If you have not specified proper default values for presenation variables exp "Date”.CreatedDate" is between @{startDate_PVariable} and @{endDate_PVariable} then you will end up with following error.
Error getting drill information: SELECT "Date”.CreatedDate" saw_0 FROM subjectarea WHERE "Date”.CreatedDate" BETWEEN date '0000-00-00' AND date '0000-00-00'
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 46048] Datetime Month value 0 from 0000-00-00 is out of range. (HY000)

Make sure proper default value has provided for presentation variable.

--Next post on how to manage/switch between multiple environments on single machine

Short your BI Presentation url.

You and your end users got bored of typing lengthyyyy url or hard to remember dash board url? (http://localhost/analytics/saw.dll?Dashboard or http://crypticservername-04hr01/analytics ) Do you want to shorten some thing like this http://BI/ then here is solution.

Step 1: Choose a short name for bi server or rhythmic words ( HRDash, SalesBI etc) keep it ready, edit host file i.e goto C:\WINDOWS\system32\drivers\etc\ folder add new entry in host file with server name and IP.
In my example, I have added new entry with BI as server name and ip as 127.0.0.1
Step 2: Now create a new file “biserver.asp” and place this file under C:\Inetpub\wwwroot\
Edit biserver.asp with following asp script(with out any space between < % or % >) then save this file.
< % @ LANGUAGE="JScript" % >
< % Response.Redirect("analytics/saw.dll?Dashboard"); % >
Step 3: Open IIS (run – inetmgr),
Step 4: Go to Default Web Sites in left pane,
Step 5: Right click on it,
Step 6: Select properties,
Step 7: Go to Documents tab,
Step 8: Click on Add button,
Step 9: Place “biserver.asp” in edit box say okay
Step 10: Make sure Enable Default Document check box is enabled and biserver.asp is top among all other files if not move it to top most
Step 11: Click on apply, click okay
Step 12: Close iis.

Now try to access bi server using http:// BI/

This method works only in windows environment and within intranet.

Hope you liked it.