Skip to main content

Personalized Data for In-DB Connectors

Applying row level security for in db connectors (Pre 6.5)

for 6.5 onwards check this  articles 

In  6.5 this is part of out of the box functionality to pass in username, group and domain 
By default InDB Connectors can ask for username password from the user and that cna be used to apply row level security. However certain times, you would want to keep using the service account to query the database, but still apply row level security while using IN-DB queries

Though InDB connectors directly do not support passing in  %CURRENT_USER%  parameter, we can still apply row level security using a simple personalized information link and loading the in-db connector as a ondemand table.

This article will walk thru the steps needed to do so.
Lets assume each spotfire user has access to some states data and we have  a lookup table which maps the user id to state he has access to, it may look something like this
ID
State
User1
New York
User1
Maine
User2
New Jersey
User2
Connecticut

Using this table and a personalized information link we can get back list of states that a user has access to. You can read about personalized Information Links here http://stn.spotfire.com/spotfire_client_help/id/id_personalized_information_links.htm

Now with 6.0 it is possible, to load in-db datatables on-demand, so now you could do a in-db connector to you table

For this example we will work sql indb connection



Type in your credentials and select the username/pwd and database.


Select table of interest and columns of interest as desired



Establish relations if needed. Hit Ok.



Now Load on Demand and hit settings.


In the settings dialog that you see select the state column and hit the define “Input Button”





Select values from column for “input for selected parameter”

In the settings  select datatable that was original personalized information link lookuptable in the screen,
Select the state column                         .
The use limit by Filtered rows and select the scheme.
Remove the Marked rows checkbox.
Hit OK.
Ensure that you select Load Automatically on the screen after you are done mapping


Now this in-db connector will always load data that belongs to you !!!!





Comments

Popular posts from this blog

Calendar Chart in Spotfire

I recently had a colleague asking me to show him the data in a calendar format.. Something like this I basically used a scatterplot for this.  You can check out the original DXP here  http://bit.ly/spotcalendar Some key settings to make it a calendar. Please note Order date is the date of interest here These expressions are out of the box expressions, no need to handcode them, but select them in the axis value  X Axis    <BinByDateTime([Order Date],"DayOfWeek",0)> Y Axis    Week([Order Date]) Trellis into panels   <BinByDateTime([Order Date],"Year.Quarter.Month",2)> Manual layout 4 X 3 Labels  UniqueConcatenate(DayOfMonth([Order Date])) Shape Tiled Markers Marker by   <UniqueConcatenate([Order Date])> Happy plotting your calendar!!!

Using Accordions in Spotfire Text Areas

Spotfire 6.0 provides great tools for quickly building your dashboard, but here we will learn to spice up things with the help of new 6.0 text area. If you are not aware the new 6.0 Text area supports HTML, Javascript and CSS. This opens up possibilities for doing a lot more with the text area. Some of the basic stuff can be seen here http://spotfire.tibco.com/qrt/UBSAN/presentation.html?pcode=100044   One of the cool things you can do is build an accordion panel in the text area for better utilization of the valuable screen real estate and helping the overall experience.(Watch the 0:15 second video below to see how accordion works - Sorry for the jitter in the video. The screen recorder does not record fast enough) Here is the html behind the text area : Please note that Spotfire controls are automatically created when you add text area controls, like filters, drop down lists etc. <DIV id="myaccordion"> <H3>Analysis Details</...

Spotfire Writing back to a database

Lot of time users need to write back to a database. Spotfire provides different ways to do this, Without going thru the code I am going to talk thru the different options available. But if you need detailed instructions, please leave some comments and will try to provide one 1) Stored Procedures. Advantages : Complex logic is easy to encapuslate in procedures. Also you are not storing username/passwords anywhere  Spotfire can execute stored procedures and these procedures could be fetching data, or can be procedures that can be run Pre or Post running a query. You can then use procedures that basically update your database table or even inserts new rows in tables. When using Spotfire information model it allows you to use these procedures which you can repurpose for updating your database. Spotfire also understands inputs to a procedure and they can be mapped to your marked rows/filtered rows/ properties/constants etc from your analytics. Steps to do that would be ...