Using Publication in Dashboard
Publication is used to publish report like webi intelligence, desktop intelligence, crystal reports.The report or document is published/distributed to several users or groups. It is also helps personalize the data of report for the user before it is published. This would help user view only his/her data.
An instance of the report is generated for the users which can be sent to their inbox. Later the generated instance of the report can be used in dashboards.
This blog would help publish the webi report to user’s inbox. We will personalize the webi report i.e. we will restrict the data that should be visible to the users.
For publication, we need to create profile for users mentioning what data should be visible for that particular user. Later we would be publishing the webi report and consuming it in Dashboard using BIWS.
A] Creating webi report
–>Create a webi report on efashion universe. Select State and Sales Revenue in result objects.
àSave document to enterprise in the desired folder.
B] Creating profile
àLogin to CMC. I assume that you have users created and they have the required rights to view the webi report. Here I have users A and B with view on demand rights.
àLet’s create profile for the users specifying the data that should be visible for them. In CMC, go to Profiles. Select new profile.
àGive a name to the profile. Select Ok.
àRight click on the profile. You will see Profile Targets and Profile Values. The targets are the objects which have to be restricted. Here it is state. Select the Profile Targets.
àClick Add.
àSelect the universe that was used to create the webi report. In this example we have used efashion under the webi universes.
àClick on Select object from the universe to select the object i.e. state and click ok.
àThe profile target set is state. Select the checkbox and click ok.
àGo to profile values and click on add.
Now select the first user. We could also choose group in case a group of users need to view the same data and the other group of users need to view the other data. I have selected user A.
àProvide value for the target i.e. state for this selected user.
We could provide the value manually or select filter expression. Select web intelligence formula expression. This opens the Formula editor. Click on the formula editor button and select the value. Click ok. Here I want the user A to see data only for California and Colorado.
àNow add the profile values for the other desired users in the similar manner. And check the selections as below:
C] Creating publication
Go to the folder where you want to create the publication and select New -> Publication
àProvide a name under general properties.
Go to source document and click on “Add” to add the source document i.e. the report to be published.
àIn enterprise recipients we can select the users for whom we would be publishing the report. These are the users that are present in the BO enterprise.
The Dynamic recipient are the users who do not have account in BO Enterprise, their information is present in external data source such as database or AD directory.
àGo to Personalization. Here we would be selecting the profile. Under profile we have selected what data will be visible for a particular user when we publish the report.
àUnder Formats we can select in which format the report should be published. Here we would keep it as webi intelligence.
àUnder Destinations we would select the BI inbox as we would be using the latest user instance in dashboard. If we select Default enterprise location we would have to set GetFromLatestDocumentInstance to 1.
There are other additional options that you could explore.
Now save and close the publication.
àRight click on the publication and select Run now. We could also schedule the publication and run it as per our requirement.
àRight click on the publication and select History to check the status of the publication.
àLogin to launch pad as user A. Go to inbox. Open the instance generated.
We see that the user can see revenue only for the selected states.
Check for the result for other users as well.
D] Creating BIWS and consuming it in Dashboards
àNow create a web service on this webi report to consume it in dashboard.
àLaunch dashboard. Go to data manager and add QAAWS connection.
Paste the WSDL URL and click import. Select Get ReportBlock method.
Under the input values set getFromUserInstance to 1. Under the output values map the table cell and header cell. (Setting Refresh to 1 in input values is not necessary.)
àUnder usage tab set the refresh to “refresh before components are loaded” as we do not have any prompt value to specify.
àPull a spreadsheet component to canvas and map the display data to the excel range containg the data.
àPreview dashboard as administrator:
àNow preview it as a user (User A)
So using publication we could restrict the data that is to be displayed to the users.
Great piece of info,Most of us dont know whether this could be possible or not.
Excellent!
Thanks Amit.
Abhilasha, This is just amazing. Pretty requirement specific but certainly going to help hundreds of dashboards folks out there.
I kinda feel proud of you! Keep up the great work!!
Hey Tejas,
Thanks to you for always motivating me !!
Excellent.. Thats really helpful. Thanks alot Abhilasha.
Regards,
Raja
Thank you Raja.
Hi Abhilasha, very helpful post !
I have tried the same scenario where i had scheduled user instances to BI inboxes of particular users. While fetching data using BIWS in dashboard, I set userinstance option to 1 and refresh to 0. I dont see any security getting applied here.
but when I set refresh to 1 and userintsance to 1 then only security is getting applied. Neverthless, I need not set refresh to 1 ( no use of creating user instances). can you put some light on this problem?
SAP BO 4.1 SP5
Thanks,
Shailesh.
Hi Shailesh,
When you set the getfromuserinstance to 1 you need not set refresh to 1. When you set refresh to1 the request is sent to database (get data on demand). When we want it from instance only set getfromlatestdocumentinstance or getfromuserinstance to 1.
You can first ask your users to check their inboxes for data retrieved in the webi report instance. If the security is not getting applied in the webi report instance then you should check the publication created. If the webi report instance in inbox is fine check the settings in dashboard.
Regards,
Abhilasha
Hi Abhilasha,
Simply put my scenario is as follows: 1. I have scheduled a report to BI inbox of user A(schedule for option in CMC).
2. In dashboard, setting useinstance propperty to 1.
Instances reflect security but dashboard doesn't !
What can be other possible reasons? What dashboard settings should I check?
Regards,
Shailesh