SlideShare a Scribd company logo
RLS Prototype ETL | Dynamic CSV String Business Rules and Pseudo Logic
Source data will be a reference table pulling data from two (2) existing HR systems: TriMax and D365 FO. The enterprise
process and ETL used to gather and create the information in this reference table (EmployeeBranchXRef) are not in scope
for the RLS Prototype ETL project. Any changes and modifications to this table will be documented and made to a dev
version of this table described below. No changes will be made to the existing table. For this reason, the dev version will
need to have its own enterprise process and ETL before this can be released to production.
This reference table (EmployeeBranchXRef) is currently located on COLPCSQL03-01EAS01. However, since we intend on
modifying this table to meet our specific needs determined below, a copy of this table and its current data have been
created on AZRDCSQL01-02EASDEV01. It is recommended that a new name (RLS_EmployeeBranch_XRef) be given to
this reference table and a new enterprise process and ETL be designed and created.
Our initial goal is to get to 80% of the RLS AD User’s gathered daily from four (4) AD Groups loaded dynamically using the
business rules and pseudo logic below. These business rules and pseudo logic are divided into the four groups below:
Total Company, Division, Region, and Account.
For Total Company, no CSV_String is required. These customers will be determined from their AD Group.
For Division / Region, our basic approach is to use the AD_UserSAM to join to the NetworkID from the reference table,
RLS_EmployeeBranch_XRef. This join connects the AD User to Employee data from HR systems by using a reference
table. From that same reference table, we can collect the user’s DivisionID, DivisionDesc, RegionID (to be added), and
RegionDesc (to be added) to be used with Division and Region sections described below.
AD User  Employee (HR)  Division, or Region
If other HR information is determined to be needed for the dynamic process, then additional columns and data will need
to be added to the reference table. This basic approach is diagramed below:
Row Level Security | Dynamic CSV String
The RLS Prototype ETL process will use the data located
in the RLS_EmployeeBranch_Xref table to load the CSV_String
column located in the RLS_AD_ETL. NetworkID and AD_UserSAM
will be used to join the two tables for lookups.
RLS_AD_ETL (ETL Table)
RLS_ETL_KeyPK
AD_UserName
AD_UserEmail
RLS_Level
RLS_ETL_Code
RLS_ETL_Code_Desc
RLS_ETL_Code_Category
CSV_String
AD_UserSAM
RLS_EmployeeBranch_XRef
TriMaxIDPK
NetworkID
EmployeeID
BranchCode
BranchDesc
DivisionID
DivisionDesc
CompanyID
Employee Name
Future Defined Attributes...
RegionID
RegionDesc
For Account(s), our approach is to use the AD_UserSAM (?) to join to the DimCustomer table. We will circle back and
define this section in more detail including a diagram similar to the one above.
AD User  Packaging Consulting Group (DimCustomer)  Account(s)
Business Rules and Pseudo Logic
The logic to determine users specific access (CSV_String) is controlled by the AD group they are assigned to. There are
four (4) AD Groups that divide what security bucket users fall into. These buckets of users are then used to determine
which specific object(s) (division, region, account) they have access to according to the AD group they came from.
To accomplish what objects a user should have access to (objects added to the CSV_String), we will examine the
RLS_EmployeeBranch_XRef table associated with a specific user, for division and region RLS_Levels. For account(s), we
will examine the DimCustomer table.
Total Company
If the user is in a Corporate branch (typically a numeric code less than 2000) and they are in the Corporate AD group,
they have Corporate access. Total company does not require a CSV_String since the ETL process relies on the members
of the Total Company AD Group to allow access. It would be possible to populate this with a CompanyID.
Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users)
AD_UserName AD_UserEmail AD_UserSAM RLS_Level
Bill Stultz bstultz@tricorbraun.com tricorbraunbstultz TotalCompany
Jill Pellerito jpellerito@tricorbraun.com tricorbraunjpellerito TotalCompany
Jason White jwhite@tricorbraun.com tricorbraunjwhite TotalCompany
Division
If the user is in the Division AD group, we will determine the primary (default) division of the user by using the DivisionID
in the RLS_EmployeeBranch_XRef table. This should give us the specific Division the user has access to. I can only think
of a couple of individuals that have access to more than one Division at a time. This is another one-off case we would
need to review.
This Division AD Group process will only add the primary (default) division assigned to the user. This is what we have
determined to meet the 80%. Addressing users that have multiple divisions will be addressed in a future development
phase possibly using a lookup table that is maintained manually.
Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users)
AD_UserName AD_UserEmail AD_UserSAM RLS_Level
Shawn Viola sviola@tricorbraun.com tricorbraunsviola Division
Region
If the user is in the Regional AD group, we will determine the primary (default) region of the user by using the RegionID
in the RLS_EmployeeBranch_XRef table. This should give us the specific Region the user has access to. There will be
individuals with access to multiple Regions, we will also have to determine how to deal with those.
This Region AD Group process will only add the primary (default) region assigned to the user. This is what we have
determined to meet the 80%. Addressing users that have multiple regions will be addressed in a future development
phase possibly using a lookup table that is maintained manually.
Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users)
AD_UserName AD_UserEmail AD_UserSAM RLS_Level
Paul Herrick PHerrick@tricorbraun.com tricorbraunPHerrick Region
Dolores Mcdaniel dmcdaniel@tricorbraunwinepak.com tricorbraundmcdaniel Region
Jim Muster jmuster@tricorbraun.com tricorbraunjmuster Region
Account
If the user is in the Account AD group, then we will determine which accounts they are assigned to directly. This is an
80% issue. We have cases where two people are technically assigned to an account, but through our system only one is
actually assigned. We will need to determine how to approach this. Account level individuals will be given access to any
accounts they are specifically associated with.
For the Account AD Group process, we will circle back and address this again once Brian had more time to consider. We
will have another meeting for this once the sandbox processes for Total Company, Division, and Region AD Groups
(discussed above) has been developed.
Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users)
AD_UserName AD_UserEmail AD_UserSAM RLS_Level
Kim Vega kvega@tricorbraunwinepak.com tricorbraunkvega Account
Jayme Herr jherr@tricorbraun.com tricorbraunjherr Account
Kari Sinner ksinner@tricorbraun.com tricorbraunksinner Account
** The exceptions (non-80%) may be dealt with in an exception table or some other mechanism. **

More Related Content

What's hot

Database Application with MySQL
Database Application with MySQL   Database Application with MySQL
Database Application with MySQL
Karwan Mustafa Kareem
 
Efficient Database Design for Banking System
Efficient Database Design for Banking SystemEfficient Database Design for Banking System
Efficient Database Design for Banking System
S.M. Murad Hasan Tanvir
 
Introduction to Database Concepts
Introduction to Database ConceptsIntroduction to Database Concepts
Introduction to Database Concepts
Rosalyn Lemieux
 
Database basics
Database basicsDatabase basics
Database basics
prachin514
 
Ado.Net Architecture
Ado.Net ArchitectureAdo.Net Architecture
Ado.Net Architecture
Umar Farooq
 
Normalization
NormalizationNormalization
Normalization
ochesing
 

What's hot (6)

Database Application with MySQL
Database Application with MySQL   Database Application with MySQL
Database Application with MySQL
 
Efficient Database Design for Banking System
Efficient Database Design for Banking SystemEfficient Database Design for Banking System
Efficient Database Design for Banking System
 
Introduction to Database Concepts
Introduction to Database ConceptsIntroduction to Database Concepts
Introduction to Database Concepts
 
Database basics
Database basicsDatabase basics
Database basics
 
Ado.Net Architecture
Ado.Net ArchitectureAdo.Net Architecture
Ado.Net Architecture
 
Normalization
NormalizationNormalization
Normalization
 

Similar to Dynamic CSV String Business Rules and Pseudo Logic

RLS Prototype ETL | Vision and Scope Document
RLS Prototype ETL | Vision and Scope DocumentRLS Prototype ETL | Vision and Scope Document
RLS Prototype ETL | Vision and Scope Document
Ryan Casey
 
Database management system by Neeraj Bhandari ( Surkhet.Nepal )
Database management system by Neeraj Bhandari ( Surkhet.Nepal )Database management system by Neeraj Bhandari ( Surkhet.Nepal )
Database management system by Neeraj Bhandari ( Surkhet.Nepal )
Neeraj Bhandari
 
Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabh
guestd83b546
 
CampusRecruitment Django.pptx
CampusRecruitment Django.pptxCampusRecruitment Django.pptx
CampusRecruitment Django.pptx
PoojaG86
 
Chapter Five Physical Database Design.pptx
Chapter Five Physical Database Design.pptxChapter Five Physical Database Design.pptx
Chapter Five Physical Database Design.pptx
haymanot taddesse
 
SSAS RLS Prototype | Vision and Scope Document
SSAS RLS Prototype | Vision and Scope DocumentSSAS RLS Prototype | Vision and Scope Document
SSAS RLS Prototype | Vision and Scope Document
Ryan Casey
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and Apex
Salesforce Developers
 
[PHPUGPH] PHP Roadshow - MySQL
[PHPUGPH] PHP Roadshow - MySQL[PHPUGPH] PHP Roadshow - MySQL
[PHPUGPH] PHP Roadshow - MySQL
Cherrie Ann Domingo
 
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Massimo Cenci
 
SQL interview questions by jeetendra mandal - part 4
SQL interview questions by jeetendra mandal - part 4SQL interview questions by jeetendra mandal - part 4
SQL interview questions by jeetendra mandal - part 4
jeetendra mandal
 
Introduction to the Structured Query Language SQL
Introduction to the Structured Query Language SQLIntroduction to the Structured Query Language SQL
Introduction to the Structured Query Language SQL
Harmony Kwawu
 
Cassandra data modelling best practices
Cassandra data modelling best practicesCassandra data modelling best practices
Cassandra data modelling best practices
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
PURPOSE of the project is Williams Specialty Company (WSC) reque.docx
PURPOSE of the project is Williams Specialty Company (WSC) reque.docxPURPOSE of the project is Williams Specialty Company (WSC) reque.docx
PURPOSE of the project is Williams Specialty Company (WSC) reque.docx
amrit47
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
Dhairya Joshi
 
Interview Questions For Microsoft Dynamics CRM
Interview Questions For Microsoft Dynamics CRMInterview Questions For Microsoft Dynamics CRM
Interview Questions For Microsoft Dynamics CRM
Kumari Warsha Goel
 
SSRS RLS Prototype | Vision and Scope Document
SSRS RLS Prototype | Vision and Scope Document  SSRS RLS Prototype | Vision and Scope Document
SSRS RLS Prototype | Vision and Scope Document
Ryan Casey
 
Sqlserver interview questions
Sqlserver interview questionsSqlserver interview questions
Sqlserver interview questions
Taj Basha
 
Bca examination 2017 dbms
Bca examination 2017 dbmsBca examination 2017 dbms
Bca examination 2017 dbms
Anjaan Gajendra
 
Telecom Churn Analysis
Telecom Churn AnalysisTelecom Churn Analysis
Telecom Churn Analysis
Vasudev pendyala
 
topic 2 data flow daigram topic-converted.pdf
topic 2 data flow daigram topic-converted.pdftopic 2 data flow daigram topic-converted.pdf
topic 2 data flow daigram topic-converted.pdf
tahir427002
 

Similar to Dynamic CSV String Business Rules and Pseudo Logic (20)

RLS Prototype ETL | Vision and Scope Document
RLS Prototype ETL | Vision and Scope DocumentRLS Prototype ETL | Vision and Scope Document
RLS Prototype ETL | Vision and Scope Document
 
Database management system by Neeraj Bhandari ( Surkhet.Nepal )
Database management system by Neeraj Bhandari ( Surkhet.Nepal )Database management system by Neeraj Bhandari ( Surkhet.Nepal )
Database management system by Neeraj Bhandari ( Surkhet.Nepal )
 
Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabh
 
CampusRecruitment Django.pptx
CampusRecruitment Django.pptxCampusRecruitment Django.pptx
CampusRecruitment Django.pptx
 
Chapter Five Physical Database Design.pptx
Chapter Five Physical Database Design.pptxChapter Five Physical Database Design.pptx
Chapter Five Physical Database Design.pptx
 
SSAS RLS Prototype | Vision and Scope Document
SSAS RLS Prototype | Vision and Scope DocumentSSAS RLS Prototype | Vision and Scope Document
SSAS RLS Prototype | Vision and Scope Document
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and Apex
 
[PHPUGPH] PHP Roadshow - MySQL
[PHPUGPH] PHP Roadshow - MySQL[PHPUGPH] PHP Roadshow - MySQL
[PHPUGPH] PHP Roadshow - MySQL
 
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 8 of Data Warehouse and Business Intelligence - Naming convention tec...
 
SQL interview questions by jeetendra mandal - part 4
SQL interview questions by jeetendra mandal - part 4SQL interview questions by jeetendra mandal - part 4
SQL interview questions by jeetendra mandal - part 4
 
Introduction to the Structured Query Language SQL
Introduction to the Structured Query Language SQLIntroduction to the Structured Query Language SQL
Introduction to the Structured Query Language SQL
 
Cassandra data modelling best practices
Cassandra data modelling best practicesCassandra data modelling best practices
Cassandra data modelling best practices
 
PURPOSE of the project is Williams Specialty Company (WSC) reque.docx
PURPOSE of the project is Williams Specialty Company (WSC) reque.docxPURPOSE of the project is Williams Specialty Company (WSC) reque.docx
PURPOSE of the project is Williams Specialty Company (WSC) reque.docx
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Interview Questions For Microsoft Dynamics CRM
Interview Questions For Microsoft Dynamics CRMInterview Questions For Microsoft Dynamics CRM
Interview Questions For Microsoft Dynamics CRM
 
SSRS RLS Prototype | Vision and Scope Document
SSRS RLS Prototype | Vision and Scope Document  SSRS RLS Prototype | Vision and Scope Document
SSRS RLS Prototype | Vision and Scope Document
 
Sqlserver interview questions
Sqlserver interview questionsSqlserver interview questions
Sqlserver interview questions
 
Bca examination 2017 dbms
Bca examination 2017 dbmsBca examination 2017 dbms
Bca examination 2017 dbms
 
Telecom Churn Analysis
Telecom Churn AnalysisTelecom Churn Analysis
Telecom Churn Analysis
 
topic 2 data flow daigram topic-converted.pdf
topic 2 data flow daigram topic-converted.pdftopic 2 data flow daigram topic-converted.pdf
topic 2 data flow daigram topic-converted.pdf
 

Recently uploaded

Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
Social Samosa
 
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
slg6lamcq
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
jitskeb
 
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCAModule 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
yuvarajkumar334
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
Lars Albertsson
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
VyNguyen709676
 
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
a9qfiubqu
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
Timothy Spann
 
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
mkkikqvo
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
aqzctr7x
 
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens""Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
sameer shah
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
xclpvhuk
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
sameer shah
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
Bill641377
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
ElizabethGarrettChri
 
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
taqyea
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
Timothy Spann
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 

Recently uploaded (20)

Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...
 
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
一比一原版南十字星大学毕业证(SCU毕业证书)学历如何办理
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
Experts live - Improving user adoption with AI
Experts live - Improving user adoption with AIExperts live - Improving user adoption with AI
Experts live - Improving user adoption with AI
 
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCAModule 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
Module 1 ppt BIG DATA ANALYTICS_NOTES FOR MCA
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
 
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
原版一比一弗林德斯大学毕业证(Flinders毕业证书)如何办理
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
 
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens""Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
 
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
一比一原版(Unimelb毕业证书)墨尔本大学毕业证如何办理
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
 
Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024Open Source Contributions to Postgres: The Basics POSETTE 2024
Open Source Contributions to Postgres: The Basics POSETTE 2024
 
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(harvard毕业证书)哈佛大学毕业证如何办理
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 

Dynamic CSV String Business Rules and Pseudo Logic

  • 1. RLS Prototype ETL | Dynamic CSV String Business Rules and Pseudo Logic Source data will be a reference table pulling data from two (2) existing HR systems: TriMax and D365 FO. The enterprise process and ETL used to gather and create the information in this reference table (EmployeeBranchXRef) are not in scope for the RLS Prototype ETL project. Any changes and modifications to this table will be documented and made to a dev version of this table described below. No changes will be made to the existing table. For this reason, the dev version will need to have its own enterprise process and ETL before this can be released to production. This reference table (EmployeeBranchXRef) is currently located on COLPCSQL03-01EAS01. However, since we intend on modifying this table to meet our specific needs determined below, a copy of this table and its current data have been created on AZRDCSQL01-02EASDEV01. It is recommended that a new name (RLS_EmployeeBranch_XRef) be given to this reference table and a new enterprise process and ETL be designed and created. Our initial goal is to get to 80% of the RLS AD User’s gathered daily from four (4) AD Groups loaded dynamically using the business rules and pseudo logic below. These business rules and pseudo logic are divided into the four groups below: Total Company, Division, Region, and Account. For Total Company, no CSV_String is required. These customers will be determined from their AD Group. For Division / Region, our basic approach is to use the AD_UserSAM to join to the NetworkID from the reference table, RLS_EmployeeBranch_XRef. This join connects the AD User to Employee data from HR systems by using a reference table. From that same reference table, we can collect the user’s DivisionID, DivisionDesc, RegionID (to be added), and RegionDesc (to be added) to be used with Division and Region sections described below. AD User  Employee (HR)  Division, or Region If other HR information is determined to be needed for the dynamic process, then additional columns and data will need to be added to the reference table. This basic approach is diagramed below: Row Level Security | Dynamic CSV String The RLS Prototype ETL process will use the data located in the RLS_EmployeeBranch_Xref table to load the CSV_String column located in the RLS_AD_ETL. NetworkID and AD_UserSAM will be used to join the two tables for lookups. RLS_AD_ETL (ETL Table) RLS_ETL_KeyPK AD_UserName AD_UserEmail RLS_Level RLS_ETL_Code RLS_ETL_Code_Desc RLS_ETL_Code_Category CSV_String AD_UserSAM RLS_EmployeeBranch_XRef TriMaxIDPK NetworkID EmployeeID BranchCode BranchDesc DivisionID DivisionDesc CompanyID Employee Name Future Defined Attributes... RegionID RegionDesc
  • 2. For Account(s), our approach is to use the AD_UserSAM (?) to join to the DimCustomer table. We will circle back and define this section in more detail including a diagram similar to the one above. AD User  Packaging Consulting Group (DimCustomer)  Account(s) Business Rules and Pseudo Logic The logic to determine users specific access (CSV_String) is controlled by the AD group they are assigned to. There are four (4) AD Groups that divide what security bucket users fall into. These buckets of users are then used to determine which specific object(s) (division, region, account) they have access to according to the AD group they came from. To accomplish what objects a user should have access to (objects added to the CSV_String), we will examine the RLS_EmployeeBranch_XRef table associated with a specific user, for division and region RLS_Levels. For account(s), we will examine the DimCustomer table. Total Company If the user is in a Corporate branch (typically a numeric code less than 2000) and they are in the Corporate AD group, they have Corporate access. Total company does not require a CSV_String since the ETL process relies on the members of the Total Company AD Group to allow access. It would be possible to populate this with a CompanyID. Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users) AD_UserName AD_UserEmail AD_UserSAM RLS_Level Bill Stultz bstultz@tricorbraun.com tricorbraunbstultz TotalCompany Jill Pellerito jpellerito@tricorbraun.com tricorbraunjpellerito TotalCompany Jason White jwhite@tricorbraun.com tricorbraunjwhite TotalCompany Division If the user is in the Division AD group, we will determine the primary (default) division of the user by using the DivisionID in the RLS_EmployeeBranch_XRef table. This should give us the specific Division the user has access to. I can only think of a couple of individuals that have access to more than one Division at a time. This is another one-off case we would need to review. This Division AD Group process will only add the primary (default) division assigned to the user. This is what we have determined to meet the 80%. Addressing users that have multiple divisions will be addressed in a future development phase possibly using a lookup table that is maintained manually. Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users) AD_UserName AD_UserEmail AD_UserSAM RLS_Level Shawn Viola sviola@tricorbraun.com tricorbraunsviola Division
  • 3. Region If the user is in the Regional AD group, we will determine the primary (default) region of the user by using the RegionID in the RLS_EmployeeBranch_XRef table. This should give us the specific Region the user has access to. There will be individuals with access to multiple Regions, we will also have to determine how to deal with those. This Region AD Group process will only add the primary (default) region assigned to the user. This is what we have determined to meet the 80%. Addressing users that have multiple regions will be addressed in a future development phase possibly using a lookup table that is maintained manually. Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users) AD_UserName AD_UserEmail AD_UserSAM RLS_Level Paul Herrick PHerrick@tricorbraun.com tricorbraunPHerrick Region Dolores Mcdaniel dmcdaniel@tricorbraunwinepak.com tricorbraundmcdaniel Region Jim Muster jmuster@tricorbraun.com tricorbraunjmuster Region Account If the user is in the Account AD group, then we will determine which accounts they are assigned to directly. This is an 80% issue. We have cases where two people are technically assigned to an account, but through our system only one is actually assigned. We will need to determine how to approach this. Account level individuals will be given access to any accounts they are specifically associated with. For the Account AD Group process, we will circle back and address this again once Brian had more time to consider. We will have another meeting for this once the sandbox processes for Total Company, Division, and Region AD Groups (discussed above) has been developed. Test Users from Test AD Groups (temporary, waiting on Real AD Groups with our 3 Test Users) AD_UserName AD_UserEmail AD_UserSAM RLS_Level Kim Vega kvega@tricorbraunwinepak.com tricorbraunkvega Account Jayme Herr jherr@tricorbraun.com tricorbraunjherr Account Kari Sinner ksinner@tricorbraun.com tricorbraunksinner Account ** The exceptions (non-80%) may be dealt with in an exception table or some other mechanism. **