Friday, December 10, 2010

CMS starting before repository database


In order to avoid starting CMC before repository DB at XIr3.1 Sp3 do the following


Open “Central Configuration Management”

Stop "Server Intelligence Agent" Service



Go to Server Intelligence Agent’s properties


 Add the relative repository DB




Start  "Server Intelligence Agent" Service

Monday, November 15, 2010

Publication in BOXIr3 using dynamic recipients

The requirement is for a report to be refreshed once and distributed to non BO users. The distribution is going to be performed using the file system and one report, in PDF form, per recipient is going to be created.
Moreover the aforementioned reports are going to contain  filtered data in a way that every recipient sees only his corresponding data.
In other words report bursting (almost) made simple using XIr3 SP3

OK first thing first. We need to create our test source report. This is going to be the mother of all reports! Lets use the infamous e-fashion to display sales per year, month and state.


We need to create a separate report for each state including filtered data, for the corresponding state.
Its time to create a report that provides the recipients, in this situation we need a report per state thus we must create a report that contains States.

 
Finally its time to put them together and create our publication
Click on New-> Publication
Give a name and  source report to the report list
Click on dynamic recipients and select the second report (the one with states only)
Click on profile 
Select the Dimension you want to filter, State in this case.

Assign a local profile variable, State again.



Don't forget to select "Deliver objects to each user". Otherwise variables %SI_USER% is going to be the creator of the publication and not the recipients.

Select PDF destination and schedule.




Monday, October 25, 2010

WEBI XI: Display data only if the number of rows is less than

If you want to display the report data only when a specific rowcount is achieved you can do it using the following procedure:



1) Create a variable (replace 50000 with your number of rows). If you have more than one DP just add their rowcount.
Name: DP01_ROWCOUNT
Formula: =If NumberOfRows([Query 1]) > 50000 Then 1 Else 0



2) Create a global filter on the aforementioned variable:
DP01_ROWCOUNT Not Equal to 1


3) Uncheck option "Show When Empty" on all blocks

Friday, October 22, 2010

WEBI XI [RWI 00826] error While trying to Custom Sort

To solve this:
1.  open CMC
2. Go to Servers



3. Find Web Intelligence Prossesing Server
4. Open properties



5. Change "Maximum Custom Sort Size (entries) to the appropriate value.
6. Restart Web Intelligence Prossesing Server
7. Enjoy

Friday, September 10, 2010

Informatica: How to Break target in multiple files with different filenames

Requirement.

We need to provide information broken down on seperate files with diferent file names. e.g we must provide customer statistics, every customer must be in a different file. the filename must include the customer id.



Solution.
  • Open Informatica designer
  • Go to Target designer
  • Open the appropriate target (should be file)
  • Click on "F" icon in order to create the filename port. This way we can control the output filename from a mapping.

  • Next go to mapping designer.
  • we need a mapping with the following tasks: 
  • Source->Sorter -> Expression->Transaction Control->Target
  • The expression must check for any changes at the key. We achieve that by creating a variable that holds previus value for ID.
  • if the key is changed (e.g customer id) then it must pass a signal to transaction control for commit.
  • In order to create different file for every customer we must use a Transaction control prior target. Everytime a commit is issued from the TC expression a new file is being created.


  • The sorting on the key is mandatory because of the aforementioned technique.
  • Enjoy

Linux FTP using a script

I was using ftp -s:filename on windoze machines in order to FTP files. On the other hand the "s" switch is mising on a Linux based OS. You must use the "<"  symbol to redirect input from a file. Furthermore you can implement autologin using .netrc.

  • Create a file under home named .netrc
  • populate file with server entries of the following format:
               machine myownmachine
               login myusername
               password mypassword
    e.g
               machine testserver
               login poweruser
               password 123456

  • Execute command chmod 600 .netrc so the owner and only the owner can access the file's contents. If you skip this line the autologin feature is going to fail.
  • create a file with the ftp commands you want to execute
  • You can now execute ftp testserver < commandfile
  • Enjoy