2.4 Bulk Record Operations, Data Import, Export & Templates
Key Takeaways
- Dataverse provides diverse data ingestion modalities including Modern Excel/CSV Import, legacy Data Import Wizard, Power Query Dataflows, and enterprise Azure Data Pipelines.
- Import column mapping requires careful resolution of lookup fields (matching against primary name columns or alternate keys) and choice/option set fields (mapping labels to integer values).
- Bulk Record Deletion jobs run asynchronously using FetchXML filter queries to purge obsolete or non-compliant records on one-time or recurring schedules, with optional completion email notifications.
- Export to Excel supports four formats: Static Worksheet (snapshot), Dynamic Worksheet (live ODC query), Dynamic PivotTable (live aggregated query), and Open in Excel Online (in-browser editing with real-time sync back to Dataverse).
- Export and deletion capabilities are strictly governed by security role privileges ('Export to Excel', 'Bulk Delete') and field-level security permissions.
Bulk Record Operations, Data Import, Export & Templates
Enterprise business applications require efficient mechanisms for importing bulk data, synchronizing with external sources, performing bulk maintenance, and exporting data for analysis. In Microsoft Dataverse, functional consultants must master the spectrum of data ingestion tools, Bulk Record Deletion system jobs, and Excel Export modalities.
1. Data Ingestion Modalities in Dataverse
Depending on data volume, transformation requirements, and technical skill, consultants select from several ingestion pathways.
+-----------------------------------------------------------------------------------+
| DATAVERSE INGESTION PATHWAYS |
| |
| [INGESTION SCENARIO] |
| | |
| +---> Ad-hoc, one-time user upload (Excel / CSV) |
| | ---> MODERN IMPORT / GET DATA FROM EXCEL |
| | |
| +---> Complex transformation, scheduled ETL, on-prem gateways |
| | ---> POWER QUERY DATAFLOWS (M Engine) |
| | |
| +---> Enterprise big data, high-scale pipeline |
| ---> AZURE SYNAPSE LINK / DATA FACTORY / FABRIC PIPELINES |
+-----------------------------------------------------------------------------------+
Ingestion Method Comparison
| Tool | Best Used For | Transformation Capabilities | Scheduling & Automation |
|---|---|---|---|
| Modern Import (Excel/CSV) | Ad-hoc user uploads from model-driven command bars or Maker Portal | Basic column-to-column mapping | One-time interactive job |
| Power Query Dataflows | Scheduled ETL from databases, SharePoint, Web APIs, CSVs | Enterprise ETL via Power Query M engine (merge, pivot, split, clean) | Automated recurring refresh schedules |
| Dataverse Web API / SDK | Custom programmatic integrations, Azure Functions | Custom code transformation | Real-time or batch triggers |
| Azure Synapse / Fabric | Massive-scale enterprise analytical storage and data lakes | Distributed Spark / SQL pipelines | Enterprise orchestration |
2. Column Mapping, Lookup Resolution & Choice Sets
When importing data via CSV or Excel, mapping source columns to target Dataverse attributes requires special attention for complex column types.
+-----------------------------------------------------------------------------------+
| LOOKUP & CHOICE MAPPING ARCHITECTURE |
| |
| [SOURCE ROW] [DATAVERSE MAPPING] [TARGET TABLE] |
| |
| "Acme Corp" (Text) ---> Match against Primary Name ---> Account GUID |
| (or Alternate Key) (Parent Account) |
| |
| "Tier 1 Customer" ---> Map Text Label to Integer ---> Option Value: 1001 |
| (Choice Set Option) (Customer Tier) |
+-----------------------------------------------------------------------------------+
Resolving Lookups and Choice Columns
- Lookup Fields:
- During import, Dataverse matches text values against the Primary Name Column of the related table (e.g., matching text "Fabrikam" to an Account record named "Fabrikam").
- If duplicate records exist with the same name in the target table, the lookup resolution fails or links ambiguously.
- Alternate Keys: To ensure exact matching on natural keys (e.g.,
Customer IDorSocial Security Number), define an Alternate Key on the target table and map the lookup against that key.
- Choice (Option Set) Fields:
- Dataverse allows mapping incoming text labels to the corresponding integer values in the target Choice column.
- If the source file contains an unmapped choice label, the import can be configured to fail the row or add the new option into the Choice definition (if permissions allow).
3. Bulk Record Deletion Jobs
Bulk Record Deletion enables administrators to remove large volumes of obsolete, inactive, or non-compliant records asynchronously without manual row-by-row deletion.
+-----------------------------------------------------------------------------------+
| BULK RECORD DELETION JOB CONFIGURATION |
| |
| 1. DEFINE QUERY: |
| Select Table: [Lead] |
| Filter: [Status Equals 'Disqualified' AND Modified On Older Than 2 Years] |
| | |
| v |
| 2. CONFIGURE SCHEDULE & OPTIONS: |
| - Job Name: "Monthly Purge of Stale Disqualified Leads" |
| - Start Date & Time: 2026-08-20 02:00 AM |
| - Run this job every: [ 30 ] days |
| - Send an email notification to: [ admin@contoso.com ] |
| | |
| v |
| 3. SYSTEM JOB EXECUTION & MONITORING: |
| Status: Waiting ---> In Progress ---> Succeeded / Failed |
+-----------------------------------------------------------------------------------+
Practical Bulk Delete Scenarios:
- Regulatory Compliance (GDPR/CCPA): Purging customer personal data upon expiration of statutory retention windows.
- Storage Optimization: Removing completed asynchronous workflow logs, transient sync records, and old email attachments.
- Data Hygiene: Deleting closed test records or disqualified leads.
[!CAUTION] Cascading Delete Behaviors: Bulk deletion honors table relationship cascading rules. If an Account is deleted and the relationship to Contacts is configured as Cascade All, all associated Contact records will be permanently deleted as well. Always verify cascading behaviors prior to running bulk delete jobs.
4. Excel Export Modalities & Security Governance
Model-driven apps provide four distinct ways to export data to Microsoft Excel.
+-----------------------------------------------------------------------------------+
| EXCEL EXPORT MODALITIES MATRIX |
| |
| +------------------------+ +------------------------+ +---------------------+ |
| | STATIC WORKSHEET | | DYNAMIC WORKSHEET | | OPEN IN EXCEL | |
| | | | | | ONLINE | |
| | - Snapshot in time | | - Live query connection| | - In-browser edit | |
| | - Up to 100,000 rows | | - Requires Dataverse | | - Click 'Save' to | |
| | - No live data refresh | | authentication | | sync back to DB | |
| +------------------------+ +------------------------+ +---------------------+ |
+-----------------------------------------------------------------------------------+
Comparison of Export Types
| Export Format | Connectivity | Use Case | Security Behavior |
|---|---|---|---|
| Static Worksheet | Offline .xlsx file | Sharing historical snapshots with non-authenticated external stakeholders | Exports only columns and records visible to the user at export time. |
| Dynamic Worksheet | Live Office Data Connection (ODC) | Ongoing ad-hoc reporting where Excel queries live Dataverse data upon opening | Prompts for Dataverse credentials on open; query re-executes with user's permissions. |
| Dynamic PivotTable | Live PivotTable connection | Real-time dimensional slicing and aggregation in Excel | Requires live user authentication; updates dynamically upon refresh. |
| Open in Excel Online | In-browser session | Fast bulk updating of existing records without leaving the browser | Clicking Save triggers an asynchronous bulk update job back into Dataverse. |
Security & Privilege Governance
- Export to Excel Privilege: Located under the Business Management tab of Security Roles. If this privilege is removed, the entire Export to Excel menu is hidden from the user.
- Field-Level Security: Columns protected by Field Security Profiles export as masked values (e.g.,
****) if the user lacks Read privilege on the secured column.
A sales operations manager needs to bulk update the 'Territory' and 'Credit Limit' columns for 400 existing Account records. The manager wants to make the edits quickly in an Excel spreadsheet interface without having to map column names or handle CSV import errors. Which feature should the consultant recommend?
An administrator creates a Bulk Record Deletion job to delete disqualified leads older than one year. The administrator wants this cleanup process to run automatically on the first day of every month at midnight and wants to be notified if errors occur. How should the job be configured?
A business analyst exports 5,000 Opportunity records as a 'Dynamic Worksheet' and emails the resulting Excel file to a colleague. When the colleague opens the file on their computer, they see an error message and no data is displayed. What is the cause of this behavior?
A junior administrator imports a CSV file of Contacts that includes a lookup column for 'Parent Account'. The import fails for several rows with the error 'The lookup reference could not be resolved'. What is the most likely cause?