Loading
CRM Analytics
De gegevensstroom wijzigen op basis van beveiliging op rijniveau

De gegevensstroom wijzigen op basis van beveiliging op rijniveau

Dit is het moment om het definitiebestand van de gegevensstroom dusdanig te wijzigen dat rekening wordt gehouden met het predicaat.

Vereiste editions

Beschikbaar in Salesforce Classic en Lightning Experience.
Beschikbaar bij CRM Analytics, wat tegen bijbetaling beschikbaar is in de Enterprise, Performance en Unlimited Edition. Ook beschikbaar in de Developer Edition.

In dit scenario moet u wijzigingen aan de gegevensstroom aanbrengen op basis van het predicaat.

  • Voeg een kolom toe in de gegevensset, waarin een met komma's gescheiden lijst of de rollen-ID's van alle bovenliggende niveaus voor elke opportunityeigenaar wordt opgeslagen. Wanneer u het predicaat in de vorige stap hebt gedefinieerd, hebt u tijdelijk naar deze kolom verwezen middels "ParentRoleIDs". Als u de kolom wilt toevoegen, ontwerpt u de gegevensstroom opnieuw zoals getoond in het volgende diagram:
    Het diagram toont de manier waarop u vanuit de objecten Opportunity, Gebruiker en Gebruikersrol gegevens laadt in de gegevensset OppRoles.

    Het nieuwe ontwerp van de gegevensstroom bevat de volgende wijzigingen:

    • Extraheert de rollen-ID's uit het object UserRole.
    • Gebruikt de flatten-transformatie om een kolom te genereren, waarin een met komma's gescheiden lijst van de rollen-ID's van alle bovenliggende niveaus van elke gebruiker wordt opgeslagen. Wanneer u het predicaat in de vorige stap hebt bepaald, hebt u tijdelijk naar deze kolom verwezen middels "ParentRoleIDs".
    • Koppelt de nieuwe kolom aan de gegevensset OppRoles.
  • Voegt het predicaat toe aan de register-transformatie die de gegevensset OppRoles registreert.

U wijzigt de gegevensstroom zoals hieronder wordt getoond.

{    
   "Extract_Opportunity": {        
      "action": "sfdcDigest",        
      "parameters": {            
         "object": "Opportunity",            
         "fields": [                
            { "name": "Id" },                
            { "name": "Name" },                
            { "name": "Amount" },                
            { "name": "StageName" },                
            { "name": "AccountId" },                
            { "name": "OwnerId" }            
         ]        
      }    
   },    
   "Extract_User": {          
      "action": "sfdcDigest",          
      "parameters": {              
         "object": "User",              
         "fields": [                  
            { "name": "Id" },                  
            { "name": "Username" },                  
            { "name": "LastName" },                  
            { "name": "FirstName" },                  
            { "name": "Name" },                  
            { "name": "CompanyName" },                  
            { "name": "Division" },                  
            { "name": "Department" },                  
            { "name": "Title" },                  
            { "name": "Alias" },                  
            { "name": "CommunityNickname" },                  
            { "name": "UserType" },                  
            { "name": "UserRoleId" }                  
         ]          
      }    
   },    
   "Extract_UserRole": {          
      "action": "sfdcDigest",          
      "parameters": {              
         "object": "UserRole",              
         "fields": [                  
            { "name": "Id" },                  
            { "name": "ParentRoleId" },                  
            { "name": "RollupDescription" },                  
            { "name": "OpportunityAccessForAccountOwner" },                  
            { "name": "CaseAccessForAccountOwner" },                  
            { "name": "ContactAccessForAccountOwner" },                  
            { "name": "ForecastUserId" },                  
            { "name": "MayForecastManagerShare" },                  
            { "name": "LastModifiedDate" },                  
            { "name": "LastModifiedById" },                  
            { "name": "SystemModstamp" },                  
            { "name": "DeveloperName" },                  
            { "name": "PortalAccountId" },                  
            { "name": "PortalType" },                  
            { "name": "PortalAccountOwnerId" }            
         ]        
      }    
   },    
   "Flatten_UserRole": {        
      "action": "flatten",        
      "parameters": {            
         "multi_field": "Roles",            
         "parent_field": "ParentRoleId",            
         "path_field": "RolePath",            
         "self_field": "Id",            
         "source": "Extract_UserRole"        
      }    
   },    
   "Augment_User_FlattenUserRole": {        
      "action": "augment",        
      "parameters": {            
         "left": "Extract_User",            
         "left_key": [                
            "UserRoleId"            
         ],            
         "relationship": "Role",            
         "right": "Flatten_UserRole",            
         "right_key": [                
            "Id"            
         ],            
         "right_select": [                
            "Roles",                
            "RolePath"            
         ]        
      }    
   },    
   "Augment_Opportunity_UserWithRoles": {        
      "action": "augment",        
      "parameters": {            
         "left": "Extract_Opportunity",            
         "left_key": [            
            "OwnerId"            
         ],             
         "right": "Augment_User_FlattenUserRole",            
         "relationship": "Owner",            
         "right_select": [                
            "Name",                
            "Role.Roles",                
            "Role.RolePath"            
         ],            
         "right_key": [                
            "Id"            
         ]        
      }    
   },         
   "Register": {        
      "action": "sfdcRegister",        
      "parameters": {            
         "alias": "OppRoles",            
         "name": "OppRoles",            
         "source": "Augment_Opportunity_UserWithRoles",            
         "rowLevelSecurityFilter": "'Owner.Role.Roles' == \"$User.UserRoleId\" || 'OwnerId' == \"$User.Id\""        
      }    
   }
}
Opmerking
Opmerking In dit voorbeeld heeft de gegevensset de kolommen Owner.Role.Roles en OwnerId. Een gebruiker kan de waarden van deze kolommen weergeven voor elke record waartoe deze toegang heeft.
 
Wordt geladen
Salesforce Help | Article