This is an article to document how to configure Zoho People and Zoho Analytics so that reporting teams can access analytics data restricted by region. It explains how to separate global HR access from regional reporting access, how to prevent users from viewing employee or payroll data outside their area of responsibility, and how to structure workspaces, dashboards, and data imports to support this model in a controlled and repeatable way.
Why?
The use-case here is a globally operating organisation with regional HR teams who must only be able to access data for the regions they are responsible for. HR users need to view advanced analytics dashboards through Zoho People as part of their daily work, while remaining restricted when accessing Zoho Analytics directly, and reporting teams require analytical access without exposure to data outside their assigned regions.
How?
So as a high-level this document will cover the following:
- Configure Zoho People and Zoho Analytics access
- Restrict the Dashboards for HR staff.
- Create restricted Workspaces for MI teams (reporting staff).
This article outlines the recommended approach for configuring Zoho People and Zoho Analytics to support regional data segregation. It describes how access to HR dashboards, payroll reporting, and analytical data should be structured to prevent cross-region visibility, which would constitute a data protection breach.
The guidance separates HR access from Analytics access, uses region-specific workspaces where required, and applies least-privilege principles so users can access only the data necessary for their role and region.
Although the document is written in a broadly linear order, the practical setup often involves moving back and forth between Zoho People and Zoho Analytics. This document records the final design and a repeatable process that can be followed and adapted for future clients with similar requirements.
Configure Zoho People
Enable Advanced Analytics for HR staff
HR staff require access to Zoho Analytics dashboards from within Zoho People via Advanced Analytics. This should not be confused with the standard Analytics feature under Zoho People > Reports.
In Zoho People:
- Navigate to Reports
- Select the Advanced Analytics tab
If the Advanced Analytics tab is not visible:
- Log in as a Zoho People Super Admin
- Go to Setup using the cog icon in the top-right
- Click Marketplace
- Select the Zoho tab
- Enable Advanced People Analytics
- Once enabled, the button changes to View Details
- Open the configuration panel and click Edit Configuration
- Review the sync schedule, hourly is within threshold for 1000+ employees
- Under “Allow analytics dashboard to be accessed by non-administrator users”, add all HR users irrespective of region
- Click Save Configuration
HR users will not see the Advanced Analytics tab until at least one dashboard has been shared with them.
Configure Zoho Analytics
Create the “master” workspace
- Log in to Zoho Analytics as an Account Admin
- Confirm you are on the Home page, with the company name visible in the top-left
- Confirm the Workspaces tab is selected
- Click Import Your Data
- Search for Zoho People
- Select the Zoho People data source
- Name the workspace, for example “Zoho People Analytics”
- Select the correct Zoho People organisation
Once the first sync completes:
- Open the workspace
- Go to Data Sources
- Edit the Zoho People data source by clicking on its row
- Click on “Edit Setup”
- Select all required tables and fields
This workspace acts as the master dataset and should contain the full global Zoho People data.
Check on Permissions
Make the Global HR Manager a Workspace Admin or create a specific role that has access to all data and change the user’s role to it (eg. “HR Global”). This is only for the Global HR Manager. The regional HR managers and their teams are instead added to their respective workspaces (not this master one).
At this stage, global HR manager(s) can login to Zoho People and Zoho Analytics and will see all the dashboards and data tables that are installed with the synchronization to Zoho People.
Regional HR and their teams will still not see any dashboards from within Zoho People, nor anything in Zoho Analytics.
Out-of-the-box dashboards
Two dashboards are typically created automatically:
- Employee Dashboard
- Overview Dashboard
These may not appear inside a specific workspace. To locate them:
- Go to the Zoho Analytics Home page
- Select the Dashboards tab
In practice, dashboards should be built using SQL-query driven datasets so that:
- Lookup values are displayed instead of internal IDs
- Region-based filtering can be applied at the dashboard level
Dashboards are duplicated using Save As and adjusted per region.
Add a test user
- In Zoho Analytics, click the top-level cog icon to open organisation settings
- Go to Manage Users
- Click Add Users
- Add a test user with the role “User”
- The user must accept the invitation email within 7 days
- Confirm the user:
- Exists in Zoho People
- Is included in the non-admin analytics access list configured earlier
Roles vs Groups
We will be using Zoho Analytics roles for controlling access to the scope of the data. In other words, being able to see all data, or just the data in their region depending on which workspace they are added to. User Groups are introduced later to simplify access management and accommodate staff turnover.
In other words, we will use groups to control access to dashboards (Zoho People Reports) and roles to control access within workspaces (Zoho Analytics Data).
Create a Role
- Click on the cog icon in the top-right to get to the organization settings
- Under “General”, click on “Manage Roles”
- Click on “Add New Role”
- Give it a “Role Name”, I’m calling mine “HR”
- It has “Access Permissions” to “All Dashboards”, “All Reports and Dashboard”, and “All Data, Reports and Dashboards”
- It has “Create Permissions” to “Create Dashboards”, “Create Reports”, “Create Table / Import Data”, “Create Query Table”, “Create Folder”, “Formula Column…”
- It has NO “Data Permissions”
- It has “Design Permission”
- It has “Interaction Permissions”
- It has “Sharing & Collaboration Permissions”
- It has some “Publishing Permissions”
- Click on “OK”
These are all option on how to set but for the example of this demo, I’m creating a HR role that will be able to do the standard reporting stuff. Repeat the above for adding other roles.
Share the Employee dashboard with the test user
- Login as a system administrator (account/organization admin) and browse to the Zoho People Analytics workspace (what we’re calling the master workspace)
- Go to Settings > then “Manage Groups” > then “Add New Group”
- Give it a “Group Name” (for example: APAC)
- Enter email addresses or “Pick Users”
- Open the Employee Dashboard
- Click Share, then Share this View
- Click on “Pick Users / Groups”
- Select the Group: “APAC”
- Click Apply Permissions & Filters
-
Grant:
- Read Options
- View underlying data
- Export Data (if required)
- Drill Down and Drill Through
- Do not enable any sharing options other than “Allow Commenting”
- Click the chevron-left to go back to the share panel
- Untick Send Invitation Mail
- Click on “Share”
Test behaviour
As the test user:
- Log in to Zoho People
- Navigate to Reports and then Advanced Analytics
- The Employee Dashboard should be visible and usable
- Log in to Zoho Analytics
- Navigate to the Zoho People Analytics workspace
- Only the shared dashboard should be visible
- No tables, queries, or report editing should be accessible
Remove the Test User from the Employee Dashboard
Well simply remove the group that test user is in (managed in the previous step) by:
- Log back in as an Analytics admin
- Browse to the “Employee Dashboard”
- Click on “Share” then on “Edit Shared Details”
- Tick the checkbox next to the group name and select “Remove”
Create a regional restricted dashboard
- Log back in as an Analytics Admin
- Browse to the “Employee Dashboard”
- Next to the save icon, click on the vertical ellipsis (three-dots) and select “Save As”
- Give it a name and description, I’m calling mine “Employee Dashboard – APAC”
- Click on “Edit Design”
-
Ensure you’ve added “Location” as a user filter (the name not the Zoho ID)
- Add/edit the user filter “Location”
- Choose Component Type as “Single Select Box” or “Multi Select Box”
- Specify “List Selected Values”
- Select only the required regional values
- Make sure you untick the “Others” option directly below these
- Set behaviour to “List only relevant values”
- Click on “OK”
- “Save” the changes to the dashboard and return to “View Mode”
- Click on “Share” then “Share this View”
- Click on “Pick Users / Groups” and search/select the Group you created earlier.
- Apply permissions as needed (see previous steps)
- Untick “Send Invitation Mail”
- Click on “Share”
- Share the regional dashboard with the test user and re-test access
At this stage, the test user will only see the newly filtered/copied dashboard without the ability to create/manage new reports or modify its design.
Repeat this step for creating the various dashboards for each region.
Restricting Zoho Analytics for regional reporting teams
Some users, such as payroll or MI teams, require direct access to Zoho Analytics to build their own reports. In this case, dashboard-level filtering is insufficient.
To prevent regional data exposure:
- Separate workspaces must be created per region
- Each workspace will be driven based on queries from the “master” workspace.
- Synchronization is only possible as a minimum every 3 hours. (at time of print)
Creating a regional workspace
You cannot create a second Zoho People integration. Attempting to do so results in the error:
“The Zoho People integration for the portal ‘<your_company>’ is already configured in the Zoho Analytics workspace ‘Zoho People Analytics’. You cannot set up another integration with the same account.”
-
Navigate to Zoho Analytics Home
- Log in to Zoho Analytics using an Organisation Admin or Account Admin account
-
Confirm you are at the top-level home screen:
- If a Home link appears in the top-left corner, click it
- Confirm the organisation name and the list of workspaces are visible
- Confirm the Workspaces tab is selected
-
Start a new workspace import
- Click “Import Your Data” in the top-right corner
- Select Zoho Analytics Workspace
- Enter a workspace name, for example “Zoho People Analytics – APAC”
- Optionally enter a description, such as “Regional analytics workspace restricted to APAC”
- From the list of available workspaces, select the master “Zoho People Analytics” workspace
- Click Next
-
Choose import data
- On the “Select Data to Import” screen, select Single Table
- From the available tables, select “Location” (just for demo, there is a set of multiple core ones to select and then custom query ones suggested later in this document).
- Click Next
-
Review table structure
- Review the column list and detected data types
- Confirm no changes are required
- Click Create
-
Schedule the import
- Click on “Schedule this Import”
- This opens the next panel.
-
Select records to import
- Select All records
- Select Add records and replace if already exists
- Under “Select the column(s) to match existing records”, select “ID”
- Tick “Include new columns added in your source table(s) automatically into destination Location table(s)”
- Click Next
-
Configure schedule settings
- Set Repeat to Every ‘N’ Hours
- Set the interval to 3 hours
- Set notifications to Never if using a system or service email. If you are a superadmin logged-in with your own e-mail, then consider having it send a failure notification.
- Click Save
-
Confirm successful import
- Wait for the initial sync to complete (should be quick)
- Confirm the Location table appears in the workspace
- Confirm the sync status shows Success
-
Repeat the above for all required tables:
- See my list below for the core tables and for custom queries.
Set Permission for the New Workspace
Setup roles as mentioned earlier in this document.
Login as the Zoho Analytics system administrator
- Browse to the new workspace
- Click on the “Settings” in the left sidebar (not the one at the top-right).
- Select “Manage Users” and add the test user to here with the “HR” role. (or whichever role you setup earlier that has access to a lot.)
- The “Test User” will now have access to Zoho Analytics and all the data tables in that workspace.
Add the filtered data with Custom Queries
So I’ve got a table of all the core tables plus some Zoho project and custom ones.
-
Filter the following table by Column B by the value “Multiple Tables”. Go to create a workspace and select all the tables with this filter to import in one go.
- Schedule to Every ‘N’ Hours > 3 hours > Notify me after 5 consecutive failures trigger when at least 10 tables fail. Also notify “All Organization Admins”.
- Go to “Data Sources”. You should see a “Sync in Progress”.
-
Let’s go do all the custom queries…
- Go to the newly created workspace (ensuring it’s selected in the top-left and not the master workspace).
- Go to “Data Sources” (left sidebar) and click on “Add Data Sources” (top right button)
- Select “Zoho Analytics Workspace”
- In Step 1. Select the master workspace “Zoho People Analytics” > Next
- In Step 2: select “Custom Query”, paste the query prepared in your spreadsheet, (copy the table name you’re about to create from the SQL and paste in the next step) > Next
- In Step 3: give it a table name and hit “Create”
- In Step 4: (no number?) edit Schedule, add records and replace if already exists, ID, Include new columns > Next
- In Step 5: (still no number?) set Every 3 Hours and hit “Save”.
- Repeat the above for the remaining custom query tables.
Suggested Data Prep
What follows is a table of custom and core modules but do prepare your own. I use this in an Excel spreadsheet and filter by the column B for "Multiple Tables" and create the new workspace with an import of these. I would then add each custom query into the data source. Usually, I would have another column for each workspace and then have each one with the adapted query for another location or in the case of the below, selected "Legal Entities":
| Table Name | Source Table Name | Description | SQL Query - APAC |
|---|---|---|---|
| Allowances / Deductions | -- Custom Query -- | Custom module to record allowances and deductions. This is the parent table which refers to the employee record. | SELECT ad.*
FROM "Allowances / Deductions" ad
INNER JOIN "Employee" e ON ad."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Allowances / Deductions_Allowances | -- Custom Query -- | This is the "Allowances" subform on the "Allowances / Deductions" module. | SELECT ada.*
FROM "Allowances / Deductions_Allowances" ada
INNER JOIN "Allowances / Deductions" ad ON ada."PARENT_ID" = ad."ID"
INNER JOIN "Employee" e ON ad."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Allowances / Deductions_Deductions | -- Custom Query -- | This is the "Deductions" subform on the "Allowances / Deductions" module. | SELECT addn.*
FROM "Allowances / Deductions_Deductions" addn
INNER JOIN "Allowances / Deductions" ad ON addn."PARENT_ID" = ad."ID"
INNER JOIN "Employee" e ON ad."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Assignees | -- Custom Query -- | I believe this is linked to the Zoho Projects integration. | SELECT a.*
FROM "Assignees" a
INNER JOIN "Employee" e ON a."User" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Banking Information | -- Custom Query -- | SELECT bi.*
FROM "Banking Information" bi
INNER JOIN "Employee" e ON bi."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Banking Information_Bank Information US | -- Custom Query -- | This is a custom subform to the Banking Information | SELECT biu.*
FROM "Banking Information_Bank Information US" biu
INNER JOIN "Banking Information" bi ON biu."PARENT_ID" = bi."ID"
INNER JOIN "Employee" e ON bi."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Business Unit | Multiple Tables | We'll bring in all these in case employees move in between these units and at any point, a business unit that has no associated employees will disappear when we may want to know historical events. | |
| Candidate | -- Custom Query -- | SELECT c.*
FROM "Candidate" c
INNER JOIN "Legal Entity" le ON c."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Certification Tracking | -- Custom Query -- | SELECT ct.*
FROM "Certification Tracking" ct
INNER JOIN "Employee" e ON ct."Employee Name" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Clients | -- Custom Query -- | Possibly created due to an integration. We are integrated with Zoho Projects and Zoho Recruit; but I think this is linked to Clients in Zoho Projects. | SELECT DISTINCT c.*
FROM "Clients" c
INNER JOIN "Projects" p ON p."Client Name" = c."ID"
INNER JOIN "Employee" e ON p."Project Owner" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Company Policies | -- Custom Query -- | Because there is no direct link between location and legal entity, we will use the Employee table. The resulting list would only be where a company policy did apply to an employee which is what we want in any case. | SELECT cp.*
FROM "Company Policies" cp
INNER JOIN "Employee" e
ON cp."Applies To" LIKE '%' || e."Location" || '%'
INNER JOIN "Legal Entity" le
ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Department | Multiple Tables | We'll bring in all these in case employees move in between these units and at any point, a business unit that has no associated employees will disappear when we may want to know historical events. | |
| Designation | Multiple Tables | We'll bring in all these to avoid errors in the Zoho People application and our subsequent reports. This table has no personal identifying information (PII) so it is not considered a data protection breach. | |
| Disciplinary | -- Custom Query -- | SELECT d.*
FROM "Disciplinary" d
INNER JOIN "Employee" e ON d."Employee ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Divisions | Multiple Tables | We'll bring in all these in case employees move in between these units and at any point, a business unit that has no associated employees will disappear when we may want to know historical events. | |
| Employee | -- Custom Query -- | For this table, the sync settings (can be modified at any point later), it is debatable to have the setting "Delete existing records and add" in case an Employee goes to work in another region of the company or to keep "Add records and replace if already exists" to retain historical and relational data. | SELECT e.*
FROM "Employee" e
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Employee Check In Out | -- Custom Query -- | SELECT cio.*
FROM "Employee Check In Out" cio
INNER JOIN "Employee" e
ON to_integer(cio."Employee ID") = e."ID"
INNER JOIN "Legal Entity" le
ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee_Dependent Details | -- Custom Query -- | SELECT ed.*
FROM "Employee_Dependent Details" ed
INNER JOIN "Employee" e ON ed."PARENT_ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee_Education Details | -- Custom Query -- | SELECT ee.*
FROM "Employee_Education Details" ee
INNER JOIN "Employee" e ON ee."PARENT_ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee_Job Progression History | -- Custom Query -- | SELECT jph.*
FROM "Employee_Job Progression History" jph
INNER JOIN "Employee" e ON jph."PARENT_ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee Retirement Enrollment | -- Custom Query -- | SELECT ere.*
FROM "Employee Retirement Enrollment" ere
INNER JOIN "Employee" e ON ere."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee Retirement Enrollment_Contribution History | -- Custom Query -- | SELECT erech.*
FROM "Employee Retirement Enrollment_Contribution History" erech
INNER JOIN "Employee Retirement Enrollment" ere ON erech."PARENT_ID" = ere."ID"
INNER JOIN "Employee" e ON ere."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Employee_Work experience | -- Custom Query -- | SELECT we.*
FROM "Employee_Work experience" we
INNER JOIN "Employee" e ON we."PARENT_ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Exit Details | -- Custom Query -- | SELECT ed.*
FROM "Exit Details" ed
INNER JOIN "Employee" e ON ed."Employee ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Jobs | -- Custom Query -- | I believe this is linked to the Zoho Projects integration. | SELECT j.*
FROM "Jobs" j
INNER JOIN "Employee" e ON j."Job Owner" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Leave | -- Custom Query -- | SELECT l.*
FROM "Leave" l
INNER JOIN "Employee" e ON l."Employee ID" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Leave Type | Multiple Tables | Bring all of these in because although we could filter these based on what employees have selected, the order of the synchronization may be incorrect and lead to leave types not being mapped correctly to the Leave records. | |
| Legal Entity | Multiple Tables | Bring all of these in as we are using these primarily to restrict information and data between regions for HR and Reporting teams. | |
| Life Assurance - Expression of Wish | -- Custom Query -- | SELECT la.*
FROM "Life Assurance - Expression of Wish" la
INNER JOIN "Employee" e ON la."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Life Assurance - Expression of Wish_Beneficiaries | -- Custom Query -- | SELECT lab.*
FROM "Life Assurance - Expression of Wish_Beneficiaries" lab
INNER JOIN "Life Assurance - Expression of Wish" la ON lab."PARENT_ID" = la."ID"
INNER JOIN "Employee" e ON la."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Location | Multiple Tables | Bring all of these in as we are using these primarily to restrict information and data between regions for HR and Reporting teams. | |
| Location Extended | Multiple Tables | Bring all of these in as extensions to its parent "Location" table. There no personal identifying information in itself or linked keys so it would not be considered a data protection breach. | |
| National Identifiers | -- Custom Query -- | This is a custom module to store Social Security Numbers and other national identifiers. | SELECT ni.*
FROM "National Identifiers" ni
INNER JOIN "Employee" e ON ni."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Nationality and Immigration Status | -- Custom Query -- | SELECT nis.*
FROM "Nationality and Immigration Status" nis
INNER JOIN "Employee" e ON nis."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Overtime | -- Custom Query -- | SELECT ot.*
FROM "Overtime" ot
INNER JOIN "Employee" e ON ot."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Projects | -- Custom Query -- | Due to the integration with Zoho Projects. Pretty sure it is not an out-of-the-box data table when synchronizing Zoho People with Zoho Analytics. | SELECT p.*
FROM "Projects" p
INNER JOIN "Employee" e ON p."Project Owner" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Retirement Providers | Multiple Tables | Could filter this by employees who have it but as my instance is empty this is unclear. Importing entire table in case references to it from the Employee exist as well as an Employee may work in multiple regions. | |
| Return to Work | -- Custom Query -- | SELECT rtw.*
FROM "Return to Work" rtw
INNER JOIN "Employee" e ON rtw."Colleague's Name" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Return to Work_Dates and reason for the most recent absence: | -- Custom Query -- | SELECT rtw_dates.*
FROM "Return to Work_Dates and reason for the most recent absence:" rtw_dates
INNER JOIN "Return to Work" rtw ON rtw_dates."PARENT_ID" = rtw."ID"
INNER JOIN "Employee" e ON rtw."Colleague's Name" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Return to Work_Previous Absences - Provide details of any previous absences within the last 6 months | -- Custom Query -- | SELECT rtw_prev.*
FROM "Return to Work_Previous Absences - Provide details of any previous absences within the last 6 months" rtw_prev
INNER JOIN "Return to Work" rtw ON rtw_prev."PARENT_ID" = rtw."ID"
INNER JOIN "Employee" e ON rtw."Colleague's Name" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Role | Multiple Tables | Import all of these even if Zoho Analytics ignore these but if reporting want to see the role of an employee within the system as well. | |
| Salary Reporting | -- Custom Query -- | SELECT sr.*
FROM "Salary Reporting" sr
INNER JOIN "Employee" e ON sr."Employee" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
|
| Task | -- Custom Query -- | I believe this is linked to the Zoho Projects integration. | SELECT t.*
FROM "Task" t
INNER JOIN "Employee" e ON t."Task Owner" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Time Logs | -- Custom Query -- | I believe this is linked to the Zoho Projects integration. | SELECT tl.*
FROM "Time Logs" tl
INNER JOIN "Projects" p ON tl."Project" = p."ID"
INNER JOIN "Employee" e ON p."Project Owner" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |
| Timesheet | -- Custom Query -- | SELECT ts.*
FROM "Timesheet" ts
INNER JOIN "Employee" e ON ts."User" = e."ID"
INNER JOIN "Legal Entity" le ON e."Legal Entity (Company)" = le."ID"
WHERE le."Description" LIKE '%APAC%' |


