Skip to Main Content
Spotfire Ideas Portal
Status Already exists
Product Spotfire
Categories Filters
Created by Guest
Created on May 21, 2018

view filtered data by Spotfire group

Currently, there isn't a way to restrict data in Spotfire based on filtering + user group.  Security is only applied at the report level.  This forces a lot more work on developers, because they have to make the same report for each user group, with smaller subsets of data.  One workaround we found was to apply the restrictions in the database, and then use iron python to match the login id with a database table.  But again, it is for the entire report.   A nice feature would be to enable restrictions based on filters (bookmarks) and also allow Automation Services to send out emails to a specific user group based on the bookmark + security.

  • Attach files
  • Guest
    Reply
    |
    Jun 20, 2018

    excellent!!  thanks

  • Guest
    Reply
    |
    May 24, 2018

    I disagree with this statement:

    Currently, there isn't a way to restrict data in Spotfire based on filtering + user group.  Security is only applied at the report level.

    This can be done in several ways depending on how your data is stored. If your data allows you to filter by user ID then pass the user ID as a filter in an Information link. The expression of the filter column can be something like this:

    UPPER(%1) = UPPER(%CURRENT_USER%)

    You can also use %CURRENT_GROUPS% in the same way like this:

    %1 IN (%CURRENT_GROUPS%) 

    where %1 is the column on the DB which has the user groups. Finally you could also create a custom Information Link which returns the data items a user can see. Then use that data table to join to your other data tables and filter out the data the user can't see. Here is a sample custom SQL for an Oracle database:

    SELECT *

    FROM (SELECT 'Group 1' AS AD_GROUP,
    'ID 1' AS DATA_ID
    FROM DUAL
    UNION ALL
    SELECT 'Group 2' AS AD_GROUP,
    'ID 2' AS DATA_ID
    FROM DUAL)
    WHERE AD_GROUP IN (%CURRENT_GROUPS%)

    If the user is AD Group "Group 1" then it will get the first row which then you can join to your data.