function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Harish Kansal 7Harish Kansal 7 

I want total active users based on how many users have modified or created at-least 1 account or oppty or contact

Gian Piere VallejosGian Piere Vallejos
I hope this can helps: 
public static integer totalActiveUsersModifiedCreatedAccountOpportunityContact(){
    Set<String> setOfUsers = new Set<String>();

    List <Account> lastModifiedUsersAccount = [SELECT LastModifiedById FROM Account WHERE LastModifiedBy.isActive = true limit 50000];
    for( Account item : lastModifiedUsersAccount){
        setOfUsers.add(item.LastModifiedById);
    }

    List <Account> lastCreatedUsersAccount = [SELECT CreatedById FROM Account WHERE CreatedBy.isActive = true AND CreatedById NOT IN :setOfUsers limit 50000];
    for( Account item : lastCreatedUsersAccount){
        setOfUsers.add(item.CreatedById);
    }


    List <Contact > lastModifiedUsersContact  = [SELECT LastModifiedById FROM Contact  WHERE LastModifiedBy.isActive = true AND LastModifiedById NOT IN :setOfUsers limit 50000];
    for( Contact  item : lastModifiedUsersContact ){
        setOfUsers.add(item.LastModifiedById);
    }

    List <Contact> lastCreatedUsersContact = [SELECT CreatedById FROM Contact WHERE CreatedBy.isActive = true AND CreatedById NOT IN :setOfUsers limit 50000];
    for( Contact item : lastCreatedUsersContact){
        setOfUsers.add(item.CreatedById);
    }


    List <Opportunity> lastModifiedUsersOpportunity = [SELECT LastModifiedById FROM Opportunity WHERE LastModifiedBy.isActive = true AND LastModifiedById NOT IN :setOfUsers limit 50000];
    for( Opportunity item : lastModifiedUsersOpportunity){
        setOfUsers.add(item.LastModifiedById);
    }

    List <Opportunity> lastCreatedUsersOpportunity = [SELECT CreatedById FROM Opportunity WHERE CreatedBy.isActive = true AND CreatedById NOT IN :setOfUsers limit 50000];
    for( Opportunity item : lastCreatedUsersOpportunity){
        setOfUsers.add(item.CreatedById);
    }
    
    return setOfUsers.size();

}


 
Harish Kansal 7Harish Kansal 7
Hi Gian Piere Vallejos -  thanks for your answer. I am trying to build a report and have total count on adoption dashboard. Can it be done using reports?