[Is everyone doing this though the “Business Objects Business Intelligence platform - Query Builder” Its works, but there is no way I can adjust the formatting. Is there another way to run the SQL in like a webi doc?]
That’s the point - there is no way to format the output, it is not meant for large dataset returns and NO you cannot run the sql in any of the reporting tools.[/quote]
[albertmoreno wrote: …but I’m not able to query those users that have secEnterprise disabled (SI_DISABLED=true)… ]
Unfortunately SI_DISABLED is a sub property of the ALIASES property of the user class so i cannot find a way to show only disabled users through a query, you’ll have t use the SDK. Good Luck.
Where there’s a Will, there’s a way. Open Excel and copy and paste the Query Builder results from IE. If you are careful with your Query Builder queries and don’t include any fields that vary in verticle size, you can manipulate the output in Excel using =if(A6=“SI_NAME”,B6,"") style formulas in subsequent columns. Once you get the results you want, copy the fomlulas down the rows. Finally, copy and Paste-Special by Values into the next set of columns and sort to group them. Keep in mind that Query Builder is limited to 1000 objects returned.
Can we create a universe that connects these CMC tables such as CI_INFOOBJECTS and reports off it? Or, is there a way to create Webi reports from tables such as CI_INFOOBJECTS?
Yes (but not easily). I have normalized and extracted the XI R2 metadata layer via a utility I wrote. Once you have the contents extracted, normalized, and loaded properly, creating an ad-hoc universe on top of it will allow much more flexibility in environment reporting, and allow you to report on just about anything you’d like.
I understand that I can “See” that information in the CMC but in order to do a security audit, I need to be able to export a list by user group to send to data owners for review…Security Viewer only allows an export of all users but not users by group. I was hoping there was a way to query this somehow…
You really have two options in order to get this information in a useable format:
Hack your way through with Query Builder running two queries, one to retrieve all users, and the other to retrieve all groups. Copy and paste into Excel, mess with formatting, and get creative to join them. The Group SI_ID will correspond with the User SI_USERGROUPS value(s).
Approach this programatically. Someone in BO tech support released a code snippet which gets you exactly what you’re looking for:
You could also look into 3rd party metadata tools if you want a more comprehensive solution. (we have one - contact me if interested)
Below is the jsp code to get all users by groups in HTML format:
IInfoObject group = null;
IInfoObject user = null;
String usernames="";
try{
IInfoObjects groups = infoStore.query("Select SI_ID, SI_NAME From "
+ "CI_SYSTEMOBJECTS Where SI_PROGID='CrystalEnterprise.UserGroup'");
IInfoObjects groups1=null;
IInfoObject group1=null;
Object[] memberUsers;
IInfoObjects result=null;
IInfoObject iObject=null;
if (groups.size() == 0)
{
out.println(“No available groups”);
}
else
{
// Retrieve all of the user groups that were returned by the
// query.
for (int i = 0; i < groups.size(); i++)
{
usernames="";
group = (IInfoObject) groups.get(i);
if(!((group.getTitle()).equals(“Everyone”)))
{
groups1 = infoStore.query("Select TOP 1* From CI_SYSTEMOBJECTS "
+ “Where SI_ID=” + group.getID());
group1 = (IInfoObject) groups1.get(0);
memberUsers = ((IUserGroup)group1).getUsers().toArray();
for (int j = 0; j < memberUsers.length; j++)
{
// Retrieve each group from the infoStore.
result = infoStore.query ("SELECT SI_NAME FROM "
+ “CI_SYSTEMOBJECTS WHERE SI_ID=” + memberUsers[j]);
iObject = (IInfoObject) result.get(0);
usernames = usernames + iObject.getTitle()+ " / ";
}
%>
<%=group.getTitle()%>
<%=usernames%>
<%
}}
}
} catch (SDKException e) {
throw new Error ("Failed to retrieve the groups. Exception caught: "
+ e.getMessage());
}
In response to the posts in this thread asking about disabled users, we have a freeware tool available that might help (Account Enabler). Displays all users and their status and allows you to quickly switch between enabled and disabled state via a checkbox. Very simple, but it works and it’s free.
We also have a full client query builder and export tool available in the very near future.