<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sheet Level / Data Level Security in Management &amp; Governance</title>
    <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528581#M32158</link>
    <description>&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; happy to help!&lt;/P&gt;</description>
    <pubDate>Wed, 27 Aug 2025 18:43:56 GMT</pubDate>
    <dc:creator>howdash</dc:creator>
    <dc:date>2025-08-27T18:43:56Z</dc:date>
    <item>
      <title>Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526916#M32122</link>
      <description>&lt;P&gt;I have an app that holds data for our entire company.&amp;nbsp; I want to limit the data that is returned when a user views the sheets to only the employees that report to that manager.&amp;nbsp; Is the only way to do this, without creating multiple versions of the app, to use section access?&amp;nbsp; We have user groups but no set up currently that outlines our company hierarchy so would I have to also set up groups that divide the employees into each manager?&amp;nbsp; My goal is to do this with the last amount of manual up keep being required.&amp;nbsp; We are using Qlik Sense SaaS.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 16:18:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526916#M32122</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-11T16:18:28Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526940#M32123</link>
      <description>&lt;P&gt;You’re on the right track. The best way to make sure managers only see their own employees’ data is by using section access combined with data reduction.&lt;/P&gt;&lt;P&gt;How is the data set up to connect managers to their employees?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 19:26:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526940#M32123</guid>
      <dc:creator>BrunPierre</dc:creator>
      <dc:date>2025-08-11T19:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526941#M32124</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;Context&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I've worked with HR data in the past but we had a Human Resource Management (HRM) system that was maintained by HR and used as the source of truth for manager-employee mapping. Even in that case, there were actual &lt;STRONG&gt;HR team members who manually maintained that manager-employee mapping&lt;/STRONG&gt;. There's likely no way around having to maintain that mapping manually.&lt;/P&gt;&lt;P&gt;Now, whether that mapping is maintained in Excel or in an HRM system, whether it's maintained by you or by HR team, those are separate questions. But &lt;STRONG&gt;someone has to maintain&lt;/STRONG&gt; that manager-employee mapping.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;Managing Manager-Employee Mapping&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Ideally the manager-employee mapping would be managed by &lt;STRONG&gt;HR team&lt;/STRONG&gt; since they likely have &lt;STRONG&gt;most exposure&lt;/STRONG&gt; to who manages who and when employees move teams, new employees get hired, and existing employees leave.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size="3"&gt;Recommendation&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I recommend reaching out to whoever is most suited in your company and have them create a spreadsheet with manager-employee mapping as the &lt;STRONG&gt;central, source of truth&lt;/STRONG&gt;&amp;nbsp;that you and others on your team can use for section access and whatever else is needed.&lt;/P&gt;&lt;P&gt;Creating a &lt;STRONG&gt;centrally managed&lt;/STRONG&gt; manager-employee mapping and designating a team or an individual to maintain that mapping as employees move around, join and leave, and then using that centrally managed mapping for section access is likely the &lt;STRONG&gt;best way to manage access&lt;/STRONG&gt; with &lt;STRONG&gt;least amount of effort&lt;/STRONG&gt;.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 19:44:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526941#M32124</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-11T19:44:00Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526943#M32125</link>
      <description>&lt;P&gt;At the moment the data is not set up to connect managers to their employees.&amp;nbsp; We do have some HR tables that have employee and manager but they are not connected to the data we want to limit.&amp;nbsp; I probably could find a way to map the HR data to our data that we want to limit.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What is data reduction?&amp;nbsp; Is that a different feature/function?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 20:15:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526943#M32125</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-11T20:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526944#M32126</link>
      <description>&lt;P&gt;Having never done section access, if I did have some sort of sheet (we love a good GoogleSheet) how would I use that in my section access? I know i need an inline table but do I upload the file and use that in my table?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 20:17:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526944#M32126</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-11T20:17:21Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526949#M32127</link>
      <description>&lt;P&gt;No, the section access table doesn't have to be an inline load script, it can be a regular load statement.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PRO TIP&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If you have never worked with section access the biggest pro tip I can give you is make &lt;/SPAN&gt;&lt;STRONG&gt;a copy of your app&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;before you start building out your section access table. If you don't build the table right, &lt;/SPAN&gt;&lt;STRONG&gt;you can lock yourself out&lt;/STRONG&gt;&lt;SPAN&gt; of the application and will need to open the app without data, edit the section access script and reload the app. Not a huge issue but it can be nerve wrecking.&lt;/SPAN&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DATA REDUCTION&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;To answer your question about data reduction, it's just a fancy term that describes what Qlik Sense is doing behind the scenes when you add a section access to an app. It essentially checks &lt;STRONG&gt;who&lt;/STRONG&gt; is opening the app, looks in the section access table to see &lt;STRONG&gt;what data that user is allowed to see&lt;/STRONG&gt;, and then &lt;STRONG&gt;get's rid of&lt;/STRONG&gt; (a.k.a. reduces) any data that user is not allowed to see before the app is loaded for a user. The end result is once the app loads for the user, the user will only be able to see the data that the user was allowed to see according to the section access table - i.e. an app with "reduced" dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;QUICK SECTION ACCESS HOW-TO&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;At high level, the requirements for a section access to work are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Section access script must &lt;STRONG&gt;start&lt;/STRONG&gt; with Section Access; statement.&lt;/LI&gt;&lt;LI&gt;Section access table must have ACCESS, USERID or USER.EMAIL, and a field containing &lt;STRONG&gt;uppercase values used for data reduction&lt;/STRONG&gt;.&lt;OL&gt;&lt;LI&gt;In your case it would be &lt;STRONG&gt;manager IDs&lt;/STRONG&gt; or &lt;STRONG&gt;names&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;Column names of section access table &lt;STRONG&gt;must be uppercased&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Values in all columns of section access table &lt;STRONG&gt;must be uppercased&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Section access script must &lt;STRONG&gt;end&lt;/STRONG&gt; with Section Application; statement.&lt;/LI&gt;&lt;LI&gt;Whatever column that you will use to hold manager IDs/names in the section access table &lt;STRONG&gt;must also exist in your data model&lt;/STRONG&gt;.&lt;OL&gt;&lt;LI&gt;So if you have MANAGER_ID column in your section access table containing uppercased manager IDs, you will also need to have a corresponding MANAGER_ID column in your data model that will hold matching, uppercased manager IDs.&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;In your case, the section access script would look something like this:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;Section Access;

// create a section access table containing service account
sectionAccess:
LOAD *
INLINE [
ACCESS, USERID
ADMIN, INTERNAL\SA_SCHEDULER
];

// load all manager IDs used to control which user gets to see which manager's records
managerIDs:
LOAD Distinct Upper([Manager ID]) as MANAGER_ID
FROM [lib://GoogleDrive/somelongstringoflettersandnumbers/manager-employee-mapping.csv]
;

// load users that should have admin access to all manager records
Concatenate(sectionAccess)
LOAD 'ADMIN' as ACCESS,
      Upper(UserId) as USERID
FROM [lib://GoogleDrive/somelongstringoflettersandnumbers/some-data-source-containing-list-of-admin-users.csv]
;

// join list of manager IDs for all admin users so that they would have full access to all records for all managers
Join(sectionAccess)
LOAD MANAGER_ID
Resident managerIDs
;

// load list of users and which manager's data each user should be able to see
Concatenate(sectionAccess)
LOAD 'USER' as ACCESS,
      Upper(UserId) as USERID,
      Upper([Manager ID]) as MANAGER_ID
FROM [lib://GoogleDrive/somelongstringoflettersandnumbers/some-data-source-containing-mapping-of-users-to-manager-ids.csv]
;

Section Application;

// the rest of the script that loads data for the app&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The idea is to give Qlik Sense a table (table named sectionAccess in this example) that contains &lt;STRONG&gt;access type&lt;/STRONG&gt;&amp;nbsp;of each user,&amp;nbsp;&lt;STRONG&gt;list of users&lt;/STRONG&gt; that will be accessing the app, and &lt;STRONG&gt;list of managers&lt;/STRONG&gt; that each user should be able to see in the app. Imagine a spreadsheet with three columns - ACCESS, USERID, and MANAGER_ID - that simply holds list of users and which manager's data each user can see.&lt;/P&gt;&lt;P&gt;Conceptually, it's nothing too complicated but it does &lt;STRONG&gt;usually take lots of time and lots of thinking&lt;/STRONG&gt; to nail down and get it to work just right. So don't beat yourself up if you'll be struggling with figuring out section access. It's one of the advanced features of Qlik Sense and it does take time to learn.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 23:28:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2526949#M32127</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-11T23:28:12Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2527021#M32128</link>
      <description>&lt;P&gt;This is great!&amp;nbsp; Thank you so much for this very detailed reply.&amp;nbsp; I understand this concept so much better now.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 11:41:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2527021#M32128</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-12T11:41:58Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528462#M32150</link>
      <description>&lt;P&gt;Follow up question -- what if I need to limit the data by Cost Center?&amp;nbsp; Here is what I have but it's not working;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[SECTION_ACCESS]:&lt;BR /&gt;LOAD *&lt;BR /&gt;INLINE [&lt;BR /&gt;ACCESS, USERID&lt;BR /&gt;ADMIN, INTERNAL\SA_SCHEDULER]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Managers:&lt;BR /&gt;LOAD Distinct Upper(Cost_Center_Manager) as MANAGER&lt;BR /&gt;FROM [lib://Data_HR:DataFiles/WDWorker.qvd](qvd);&lt;/P&gt;&lt;P&gt;// join list of manager IDs for all admin users so that they would have full access to all records for all managers&lt;BR /&gt;Join(SECTION_ACCESS)&lt;BR /&gt;LOAD MANAGER&lt;BR /&gt;Resident Managers;&lt;/P&gt;&lt;P&gt;// //load list of users and which manager's data each user should be able to see&lt;BR /&gt;Concatenate(SECTION_ACCESS)&lt;BR /&gt;LOAD DISTINCT 'USER' as ACCESS,&lt;BR /&gt;Upper(Cost_Center) as USERID,&lt;BR /&gt;Upper(Cost_Center_Manager) as MANAGER&lt;BR /&gt;FROM [lib://DataFiles/Worker.qvd](qvd)&lt;BR /&gt;WHERE NOT ISNULL(Cost_Center_Manager) ;&lt;/P&gt;&lt;P&gt;DROP TABLE Managers;&lt;BR /&gt;Section Application;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my data I have a field called CC_Manager that I renamed MANAGER.&amp;nbsp; I also have no idea how to add myself into this because I'm the admin not a Manager or CC.&amp;nbsp; You are right, this takes a lot of thinking!&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 17:03:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528462#M32150</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-26T17:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528552#M32152</link>
      <description>&lt;P&gt;You can do something like this:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;[SECTION_ACCESS]:
LOAD *
INLINE [
ACCESS, USERID
ADMIN, INTERNAL\SA_SCHEDULER
ADMIN, YOURDOMAIN\KELLIESY
]
;


Managers:
LOAD Distinct Upper(Cost_Center_Manager) as MANAGER
FROM [lib://Data_HR:DataFiles/WDWorker.qvd](qvd);

// join list of manager IDs for all admin users so that they would have full access to all records for all managers
Join(SECTION_ACCESS)
LOAD MANAGER
Resident Managers;

// load list of users and which manager's data each user should be able to see
Concatenate(SECTION_ACCESS)
LOAD DISTINCT 'USER' as ACCESS,
Upper(User_Id) as USERID,
Upper(Cost_Center_Manager) as MANAGER
FROM [lib://DataFiles/Worker.qvd](qvd)
WHERE NOT ISNULL(Cost_Center_Manager);

DROP TABLE Managers;
Section Application;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The two changes you would need to make are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Add the your domain name and user ID to the SECTION_ACCESS table.&lt;OL&gt;&lt;LI&gt;For example, at howdash my domain name is HD and my username is mikhail. So I would add HD\MIKHAIL to the SECTION_ACCESS table. You would do the same but for your domain and username. That will give you full access to all managers and cost centers in the app.&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;In the Concatenate load script, the USERID field must contain the domain name and usernames of users that will be accessing the app.&lt;OL&gt;&lt;LI&gt;You were using&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;Upper(&lt;FONT color="#FF0000"&gt;Cost_Center&lt;/FONT&gt;) as USERID&lt;/STRONG&gt; and instead it should be whatever field you have in the Worker.qvd file that contains list of users that will be accessing the app.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This will enable you to control which cost center and manager data each user will be able to see.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;That's only half of the problem solved though. To make this work, you will need to &lt;STRONG&gt;make sure that the data model has the matching MANAGER field&lt;/STRONG&gt; that contains a combination of manager IDs and cost centers.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's an example of what your &lt;STRONG&gt;SECTION_ACCESS&lt;/STRONG&gt; and a table in the data model would look like:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SECTION_ACCESS:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ACCESS&lt;/TD&gt;&lt;TD&gt;USERID&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;MANAGER&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC02-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC03-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC04-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;INTERNAL\SA_SCHEDULER&lt;/TD&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;STRONG&gt;&lt;FONT color="#99CC00"&gt;KELLIESY&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC02-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC03-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC04-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ADMIN&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;KELLIESY&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;MIKHAIL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;MIKHAIL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#33CCCC"&gt;&lt;STRONG&gt;JACOB&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#800080"&gt;&lt;STRONG&gt;JESSICA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC02-MGR01&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#800080"&gt;&lt;STRONG&gt;JESSICA&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USER&lt;/TD&gt;&lt;TD&gt;DOMAINNAME\&lt;FONT color="#FF9900"&gt;&lt;STRONG&gt;PHIL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In this example:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;You&lt;/STRONG&gt;&lt;/FONT&gt; will see &lt;STRONG&gt;all&lt;/STRONG&gt; cost centers and &lt;STRONG&gt;all&lt;/STRONG&gt; managers.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;User with username &lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;MIKHAIL&lt;/STRONG&gt;&lt;/FONT&gt; will see data for cost centers &lt;STRONG&gt;CC04&lt;/STRONG&gt; and &lt;STRONG&gt;CC05&lt;/STRONG&gt;&amp;nbsp;but only for manager &lt;STRONG&gt;MGR02&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;User with username &lt;FONT color="#33CCCC"&gt;&lt;STRONG&gt;JACOB&lt;/STRONG&gt;&lt;/FONT&gt; will see data for cost center &lt;STRONG&gt;CC01&lt;/STRONG&gt; and manager &lt;STRONG&gt;MGR01&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;User with username &lt;FONT color="#800080"&gt;&lt;STRONG&gt;JESSICA&lt;/STRONG&gt;&lt;/FONT&gt; will see data for cost centers &lt;STRONG&gt;CC02&lt;/STRONG&gt; and &lt;STRONG&gt;CC06&lt;/STRONG&gt; for manager &lt;STRONG&gt;MGR01&lt;/STRONG&gt; and &lt;STRONG&gt;MGR06&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;User with username &lt;FONT color="#FF9900"&gt;&lt;STRONG&gt;PHIL&lt;/STRONG&gt;&lt;/FONT&gt; will see data for cost center &lt;STRONG&gt;CC06&lt;/STRONG&gt; and manager &lt;STRONG&gt;MGR03&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN&gt;Once you have this section access table build and combinations of cost centers and managers that each user should see created, you will need to &lt;STRONG&gt;create the same MANAGER field&lt;/STRONG&gt; that will hold combination of cost centers and managers &lt;STRONG&gt;in the data model&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's an example of the corresponding table that you'll need to have in the data model for the section access to work:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DATA:&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;MANAGER&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;Cost Center ID&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Some Data Field&lt;/TD&gt;&lt;TD&gt;Another Data Field&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;TD&gt;CC01&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;TD&gt;CC01&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;TD&gt;jkl&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC02-MGR01&lt;/TD&gt;&lt;TD&gt;CC02&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;mno&lt;/TD&gt;&lt;TD&gt;pqr&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC02-MGR01&lt;/TD&gt;&lt;TD&gt;CC02&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;stu&lt;/TD&gt;&lt;TD&gt;vwx&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC03-MGR01&lt;/TD&gt;&lt;TD&gt;CC03&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;yz&lt;/TD&gt;&lt;TD&gt;xwv&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC04-MGR01&lt;/TD&gt;&lt;TD&gt;CC04&lt;/TD&gt;&lt;TD&gt;MGR01&lt;/TD&gt;&lt;TD&gt;uts&lt;/TD&gt;&lt;TD&gt;rqp&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;TD&gt;CC04&lt;/TD&gt;&lt;TD&gt;MGR02&lt;/TD&gt;&lt;TD&gt;onm&lt;/TD&gt;&lt;TD&gt;lkj&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;TD&gt;CC04&lt;/TD&gt;&lt;TD&gt;MGR02&lt;/TD&gt;&lt;TD&gt;ihg&lt;/TD&gt;&lt;TD&gt;fed&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;TD&gt;CC05&lt;/TD&gt;&lt;TD&gt;MGR02&lt;/TD&gt;&lt;TD&gt;cba&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;TD&gt;CC05&lt;/TD&gt;&lt;TD&gt;MGR02&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;TD&gt;CC06&lt;/TD&gt;&lt;TD&gt;MGR03&lt;/TD&gt;&lt;TD&gt;jkl&lt;/TD&gt;&lt;TD&gt;mno&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;TD&gt;CC06&lt;/TD&gt;&lt;TD&gt;MGR03&lt;/TD&gt;&lt;TD&gt;pqr&lt;/TD&gt;&lt;TD&gt;stu&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC06-MGR03&lt;/TD&gt;&lt;TD&gt;CC06&lt;/TD&gt;&lt;TD&gt;MGR03&lt;/TD&gt;&lt;TD&gt;vwx&lt;/TD&gt;&lt;TD&gt;yz&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With both the section access &lt;STRONG&gt;and&lt;/STRONG&gt; the data tables available in the data model and associated on the &lt;STRONG&gt;MANAGER&lt;/STRONG&gt; field, Qlik Sense will be able to reduce data in the DATA table based on whichever records each user was specified to see in the SECTION_ACCESS table.&lt;/P&gt;&lt;P&gt;So&amp;nbsp;&lt;FONT color="#99CC00"&gt;&lt;STRONG&gt;you&lt;/STRONG&gt;&lt;/FONT&gt;, for example, will be able to see everything because the SECTION_ACCESS table has you listed as ADMIN and you have all possible combinations of managers and cost centers listed in the MANAGER field.&lt;/P&gt;&lt;P&gt;But user with username &lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;MIKHAIL&lt;/STRONG&gt;&lt;/FONT&gt;, for example, will only see this portion of the DATA table:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;MANAGER&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;Cost Center ID&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Some Data Field&lt;/TD&gt;&lt;TD&gt;Another Data Field&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;04&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;02&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;onm&lt;/TD&gt;&lt;TD&gt;lkj&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC04-MGR02&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;04&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;02&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;ihg&lt;/TD&gt;&lt;TD&gt;fed&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;05&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;02&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;cba&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC05-MGR02&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;05&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;02&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;No other records will be shown to &lt;FONT color="#3366FF"&gt;&lt;STRONG&gt;MIKHAIL&lt;/STRONG&gt;&lt;/FONT&gt; user.&lt;/P&gt;&lt;P&gt;The data reduction will happen&amp;nbsp;similarly for all other users listed in the SECTION_ACCESS table. So, &lt;STRONG&gt;&lt;FONT color="#33CCCC"&gt;JACOB&lt;/FONT&gt;&lt;/STRONG&gt;, as another example, will only be able to see these records in the DATA table:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;MANAGER&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;Cost Center ID&lt;/TD&gt;&lt;TD&gt;Manager ID&lt;/TD&gt;&lt;TD&gt;Some Data Field&lt;/TD&gt;&lt;TD&gt;Another Data Field&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;abc&lt;/TD&gt;&lt;TD&gt;def&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;CC01-MGR01&lt;/TD&gt;&lt;TD&gt;CC&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;MGR&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;ghi&lt;/TD&gt;&lt;TD&gt;jkl&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does that make sense? I know it's a whole lot but hopefully the examples and the tables with example records helped to visualize what's happening behind the scenes.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 14:26:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528552#M32152</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-27T14:26:17Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528554#M32153</link>
      <description>&lt;P&gt;Most of that makes sense.&amp;nbsp; I understand that my User ID should be domain/Manager (because in my case that is who will be using the app).&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Where I get lost is that my last field which I currently have named Manager (this was me attempting a million different ways to do this) is really CostCenter because in our data we have a table that has Manager and the Cost Center(s) they are related to.&amp;nbsp; I was thinking I could something like this;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Give myself and my schedule acct access to all costcenters;&lt;BR /&gt;[SECTION_ACCESS]:&lt;BR /&gt;LOAD *&lt;BR /&gt;INLINE [&lt;BR /&gt;ACCESS, USERID, COSTCENTER&lt;BR /&gt;ADMIN, INTERNAL\SA_SCHEDULER, *,&lt;BR /&gt;ADMIN, domain/KELLIE SY, *];&lt;/P&gt;&lt;P&gt;//Bring in the Managers and CostCenters they are associated to&lt;BR /&gt;Managers:&lt;BR /&gt;LOAD Distinct Upper(Cost_Center) as COSTCENTER&lt;BR /&gt;Upper(Cost_Center_Manager) as USERID&amp;nbsp; &amp;nbsp;///some how add the domain to the beginning of this&lt;BR /&gt;FROM [lib://DataFiles/WDWorker.qvd](qvd);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;//Joining in the Managers to the Section Access and assigning them Admin&lt;BR /&gt;JOIN (SECTION_ACCESS)&lt;BR /&gt;Load 'ADMIN' as ACCESS,&lt;BR /&gt;COSTCENTER,&lt;BR /&gt;USERID&lt;BR /&gt;RESIDENT Managers&lt;BR /&gt;WHERE Not IsNull(USERID); // we have some blanks I want to remove&lt;/P&gt;&lt;P&gt;Section Application;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, if I add the domain to the UserID I now don't have a field in my data that would match it.&amp;nbsp; I do have a Manager and Cost Center field in my data.&amp;nbsp; This is where I am getting stuck.&amp;nbsp; Do I have to create a key field like you listed above that does Manager/CostCenter in both my Section Access and my data?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hopefully that makes sense.&amp;nbsp; I really appreciate your help on this!&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 14:41:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528554#M32153</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-27T14:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528559#M32154</link>
      <description>&lt;P&gt;I see. So the Cost_Center_Manager field is not a field that contains a combination of a cost center and a manager, instead it sounds like it contains the username of a manager that is responsible for managing specified cost center.&lt;/P&gt;&lt;P&gt;In that case, you can do something like this:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;Section Access;
// Give myself and my schedule acct access to all costcenters;
[SECTION_ACCESS]:
LOAD *
INLINE [
ACCESS, USERID
ADMIN, INTERNAL\SA_SCHEDULER
ADMIN, domain\KELLIE SY];

// Bring in the Managers and CostCenters they are associated to
Managers:
LOAD Distinct Upper(Cost_Center)			as COSTCENTER,
	Upper(Cost_Center_Manager)				as USERID
[lib://DataFiles/WDWorker.qvd](qvd)
;


// Join distinct list of all cost centers to the section access table so all admins would be able to see data for all cost centers
Join(SECTION_ACCESS)
Load Distinct COSTCENTER
Resident Managers
;


// Adding list of app users (a.k.a. managers) and specifying which cost center they should be able to see
Concatenate(SECTION_ACCESS)
Load 'USER'									as ACCESS,
	'DOMAIN\' &amp;amp; USERID						as USERID,
	COSTCENTER
Resident Managers
Where Len(Trim(USERID)) &amp;lt;&amp;gt; 0
;

Drop Table Managers;

Section Application;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Prepare&lt;/STRONG&gt; list of app &lt;STRONG&gt;admins&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Load mapping&lt;/STRONG&gt; of managers to cost centers they manage.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Add&lt;/STRONG&gt; list of &lt;STRONG&gt;all cost centers&lt;/STRONG&gt; to the SECTION_ACCESS table so &lt;STRONG&gt;admins&lt;/STRONG&gt; would be able to see data for &lt;STRONG&gt;all&lt;/STRONG&gt; cost centers.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Add&lt;/STRONG&gt; list of app &lt;STRONG&gt;users&lt;/STRONG&gt; along with the domain name &lt;STRONG&gt;and a cost center&lt;/STRONG&gt; that each user/manager should be able to see.&lt;UL&gt;&lt;LI&gt;Excluding records where Cost_Center_Manager (a.k.a. USERID) is null.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The result will be a table that will enable specific managers access to the cost centers they manage.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 15:42:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528559#M32154</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-27T15:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528570#M32155</link>
      <description>&lt;P&gt;Cool.&amp;nbsp; In my data do I make a UserID field that maps to the Manager or will Cost Center work as the key field that links my section_access table?&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 17:08:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528570#M32155</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-27T17:08:46Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528579#M32156</link>
      <description>&lt;P&gt;Earlier you mentioned that you need to limit the data &lt;STRONG&gt;by cost center&lt;/STRONG&gt;. Since that's the case, then &lt;STRONG&gt;no&lt;/STRONG&gt; you don't need to have USERID as part of your data model.&lt;/P&gt;&lt;P&gt;USERID, just like the ACCESS field, is a &lt;STRONG&gt;system field&lt;/STRONG&gt;. Their purpose is to simply tell Qlik Sense &lt;STRONG&gt;which users&lt;/STRONG&gt; you want to access the app and &lt;STRONG&gt;what type of access&lt;/STRONG&gt; each user should have.&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;reduction field&lt;/STRONG&gt;, COSTCENTER in your case, is used to tell Qlik Sense &lt;STRONG&gt;which data values&lt;/STRONG&gt;, which cost centers in this case, each user should have access to.&lt;/P&gt;&lt;P&gt;The reduction field &lt;STRONG&gt;must exist&lt;/STRONG&gt; in both the section access table and in the data model.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 18:35:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528579#M32156</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-27T18:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528580#M32157</link>
      <description>&lt;P&gt;Thanks again!!!!!!&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 18:41:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528580#M32157</guid>
      <dc:creator>Kelliesy</dc:creator>
      <dc:date>2025-08-27T18:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: Sheet Level / Data Level Security</title>
      <link>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528581#M32158</link>
      <description>&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; happy to help!&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 18:43:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Sheet-Level-Data-Level-Security/m-p/2528581#M32158</guid>
      <dc:creator>howdash</dc:creator>
      <dc:date>2025-08-27T18:43:56Z</dc:date>
    </item>
  </channel>
</rss>

