Dataverse - Simply Explained


Dataverse is Microsoft's intelligent cloud data platform that powers Power Apps, Power Automate, Dynamics 365, and the wider Power Platform. While many people think of it as just another database, Dataverse is much more than that. It provides secure, relational data storage with built-in business logic, security, automation, and governance, allowing organizations to build scalable business applications without managing complex infrastructure.
In this episode of Microsoft Knowledge Nuggets, Mirko Peters explains Dataverse in plain English and shows why your data model matters more than the app itself. You'll learn how Dataverse organizes business information into related tables, enforces consistent data, and enables applications to share the same trusted source of truth. The episode also compares Dataverse with alternatives like SharePoint Lists and Excel, explaining when each solution makes sense and why Dataverse becomes essential as applications grow in complexity.
The discussion explores real-world scenarios including Power Apps, Dynamics 365, Power Automate, AI solutions, and enterprise integrations. You'll discover how Dataverse provides role-based security, business rules, auditing, relationships, and seamless integration with the Microsoft ecosystem while supporting millions of records and enterprise-scale applications. Rather than simply storing data, Dataverse creates a foundation that allows automation, reporting, and AI to work reliably across your organization.
Whether you're a business user, Power Platform maker, IT administrator, or solution architect, this episode provides a practical introduction to Dataverse, its core capabilities, licensing considerations, and best practices. By the end, you'll understand why Dataverse is considered the foundation of modern Microsoft business applications and how choosing the right data platform today can determine the long-term success of your digital transformation initiatives.
Have you ever felt overwhelmed by scattered data across different platforms? You're not alone! Many organizations face this challenge. That's where Microsoft Dataverse - Simply Explained comes in. This powerful data platform simplifies data management, allowing you to focus on what really matters—driving your business forward. With seamless integration into the Power Platform, Dataverse offers built-in security and customizable structures that make it easy for anyone, even those without a tech background, to manage their data effectively. Say goodbye to data chaos and hello to clarity!
Key Takeaways
- Microsoft Dataverse simplifies data management, allowing businesses to focus on growth.
- It integrates seamlessly with Microsoft products, enhancing productivity and collaboration.
- Dataverse offers robust security features, including role-based access control to protect sensitive data.
- Customization options allow businesses to tailor Dataverse to their specific needs, improving efficiency.
- The platform supports various data types, ensuring a centralized and organized data storage system.
- Dataverse enhances teamwork by providing real-time access to data and integrated tools for collaboration.
- Using Dataverse can lead to significant cost savings by streamlining development and reducing maintenance expenses.
- Embracing Dataverse prepares organizations for future trends, including AI integration and improved connectivity.
What Is Dataverse?

Overview of Microsoft Dataverse
Microsoft Dataverse is a powerful data platform designed to help you manage your business data effectively. It serves as the backbone of the Power Platform, allowing you to build enterprise-grade applications with ease. Unlike traditional databases, Dataverse focuses on complex relational data models, ensuring that your data remains organized and accessible. Here are some key aspects of Microsoft Dataverse:
- Enterprise-Grade Applications: Dataverse is tailored for building applications that require robust security and scalability.
- Seamless Integration: It integrates smoothly with other Microsoft products, enhancing your overall productivity.
- Centralized Data Management: You can store all your business data in one place, reducing the risk of inconsistencies.
By using Dataverse, you can streamline your data management processes and focus on what truly matters—growing your business.
Evolution from Common Data Service
The transition from the Common Data Service (CDS) to Microsoft Dataverse marked a significant improvement in data management practices. This evolution brought several enhancements that make Dataverse a more powerful tool for organizations. Here’s a quick look at the key changes:
| Key Change | Description |
|---|---|
| Accessibility | Improved understanding of data and metadata for users of all technical levels. |
| Integration | Closer alignment with Microsoft 365, Azure, and Dynamics 365 ecosystems. |
| Innovation | Introduction of advanced capabilities like AI and analytics. |
| Enhanced Data Modeling | Support for complex relationships and external data connections without heavy coding. |
| Tighter Integration | Seamless connections with Power BI, Teams, and Azure Synapse. |
| Scalability and Performance | Designed for enterprise-scale workloads with high performance. |
| Improved Security Model | Role-based access control and compliance with security frameworks. |
| Modern Interface | Simplified schema and terminology changes for better user experience. |
This shift has transformed how you manage data by creating a cohesive platform that enhances data integration and accessibility. With real-time data updates, collaboration across various applications becomes effortless. The Common Data Model (CDM) plays a vital role in this transformation, ensuring that your data is consistently structured and understood.
Key Features of Dataverse
Dataverse Data Management
When it comes to managing your data, Microsoft Dataverse offers a robust set of features that make it stand out. Here are some essential functionalities that you can leverage:
| Feature | Description |
|---|---|
| Data Storage | Dataverse provides both standard and custom tables for secure, cloud-based storage of organizational data. |
| Simplified Management | Centralized storage of metadata and data in the cloud reduces coordination concerns and supports capacity planning. |
| Enhanced Security | Role-based security controls access to data, including row-level security and field-level permissions. |
| Comprehensive Metadata | Supports relational structures and data types, enabling scalable enterprise data modeling. |
| Logic and Validation | Features like calculated columns and business rules maintain data integrity and automate processes. |
| Productivity Enhancement | Integrates with Microsoft Excel and other platforms to enhance productivity and data accessibility. |
| Governance and Administration | Offers tools for data loss prevention, user access management, and compliance with enterprise policies. |
With these features, you can ensure that your data remains organized, secure, and easily accessible. The role-based security model allows you to control who can see and edit your data, which is crucial for maintaining confidentiality and compliance.
Customization and Extensibility
One of the most exciting aspects of Microsoft Dataverse is its customization and extensibility. You can tailor the platform to meet your specific business needs. Here are some ways you can customize Dataverse:
- Use Power Apps or the solution explorer to create custom entities.
- Modify settings directly in the web application for quick adjustments.
- Develop custom business logic using plug-ins to automate processes.
- Create custom workflow activities to enhance functionality.
These options allow you to build applications that fit your unique requirements. Plus, with the integration of Microsoft tools like Power Apps and Dynamics 365, you can create a seamless experience across your organization.
| Integration Aspect | Description |
|---|---|
| Seamless Integration | Dataverse allows for the integration of various Microsoft tools, including Dynamics 365 and Power Apps. |
| Central Data Repository | Dataverse serves as a central location for data, reducing the need for multiple databases. |
| Standardized Data Structure | It provides a consistent data structure, simplifying data modeling and ensuring data consistency. |
| Business and Data Validation Rules | Users can implement rules to maintain data integrity and automate business processes. |
| Access Control and Data Security | Robust security features protect data and allow for granular access controls. |
By customizing Dataverse, you can create a powerful data management solution that not only meets your current needs but also adapts as your business grows.
How Dataverse Works
Data Types in Dataverse
When you work with Microsoft Dataverse, you encounter various data types that help you organize and manage your information effectively. Here’s a quick overview of the types of data structures you can use:
- Standard Tables: These are default tables that capture common organizational concepts, like Account and Contact.
- Custom Tables: You can create user-defined tables tailored to your specific organizational data needs.
- Virtual Tables: These tables provide views of data stored elsewhere, allowing you to access external data without duplicating it.
- Elastic Tables: Optimized for large datasets, these tables are perfect for extensive data storage.
By utilizing these data types, you can maintain a centralized data storage system. This setup ensures that you have a single source of truth, which is crucial for data consistency across various data types. The use of standard tables also helps organize your data uniformly, promoting adherence to best practices.
Data Relationships
Understanding data relationships is key to effective data management in Dataverse. You can create various types of relationships between tables, allowing you to model complex data interactions. Here’s a breakdown of the different relationship types available:
| Relationship Type | Description |
|---|---|
| One-to-Many (1:N) | A primary table can have multiple related records, where the primary is the 'Parent' and related are 'Children'. |
| Many-to-Many (N:N) | Multiple records in one table can relate to multiple records in another, with a hidden intersect entity created. |
| Relationship Behaviors | Includes System, Parental, Referential, and Custom behaviors that dictate how data integrity is maintained. |
These relationships allow you to create a robust data model that reflects real-world scenarios. For example, in an event management system, you might have a custom table for Event Attendees that tracks RSVPs and attendance. This setup helps you manage complex relationships effectively.
By leveraging the built-in relationships and manual many-to-many options, you can ensure that your data remains interconnected and meaningful. This capability is essential for building enterprise applications that require a deep understanding of data interactions.
With Microsoft Dataverse, you can confidently manage your data, knowing that you have the tools to create a structured and relational data environment.
Security in Dataverse
When it comes to managing your data, security is a top priority. Microsoft Dataverse offers robust security features to protect your information and ensure compliance with regulations. Let’s dive into two key aspects: role-based access control and auditing.
Role-Based Access Control
With role-based access control, you can manage who has access to your data and what they can do with it. This feature allows you to assign specific roles to users based on their job functions. Here’s how it works:
- Environment Admin: This role can perform all administrative actions within an environment.
- Environment Maker: Users in this role can create new resources but don’t have data access privileges.
- System Administrator: This role is essential for full administrative privileges in environments with a Dataverse database.
You can also implement various access control mechanisms to enhance security:
- Just-In-Time Access: This provides temporary permissions for specific tasks.
- Time-Bound Access: This limits how long users can access sensitive data.
- Approval-Based Role Activation: This requires higher authority approval before activating certain roles.
- Multi-Factor Authentication: This adds an extra layer of identity verification.
- Access Reviews: Regular reviews ensure users still need their assigned roles.
Dataverse also employs field-level security, allowing you to control access to specific data fields. This ensures that users only see the information they need, minimizing the risk of unauthorized access.
Auditing and Data Protection
Auditing is another critical feature in Microsoft Dataverse. It helps you track user activity and data changes, which is essential for security and compliance. Here’s what you can expect from the auditing capabilities:
- You can track who accessed what data and when.
- Records show all create, update, and delete operations, providing a clear audit trail.
- Administrators can enable auditing on specific tables and columns to capture detailed information.
These auditing features help meet regulatory compliance standards like GDPR, HIPAA, and SOX. They ensure that you can demonstrate accountability and transparency in your data management practices.
Additionally, Microsoft Dataverse protects your data through encryption during transit and at rest. This ensures that your information remains confidential and secure. Microsoft also provides resources to help you manage compliance with data protection regulations, including action plans for GDPR.
By leveraging these security features, you can confidently manage your data in Dataverse, knowing that you have the tools to protect it effectively.
Benefits of Using Dataverse
Enhanced Collaboration
When you use Microsoft Dataverse, collaboration among your teams becomes seamless. Here’s how it enhances teamwork:
- Integrated Environment: With Microsoft Dataverse for Teams, you can create data, apps, chatbots, and workflows all in one place. This integration means you don’t have to switch between different tools, saving you time and effort.
- Real-Time Access: Teams members have immediate access to essential business data. This access allows you to develop apps that tackle specific challenges quickly.
- Custom Solutions: You can build tailored applications that meet your organization’s unique needs. This flexibility promotes a collaborative atmosphere where everyone can contribute effectively.
By centralizing your data management, Dataverse fosters a culture of collaboration. You can respond to business needs faster and more efficiently, ensuring that your team stays aligned and productive.
Cost-Effectiveness
Implementing Microsoft Dataverse can lead to significant cost savings for your organization. Here’s a look at some reported benefits:
| Source | Cost Savings Description |
|---|---|
| Gartner (2025) | 54% reduction in development and maintenance costs within the first year of Power Platform adoption. |
| Forrester Study | USD43.6 million in direct development and IT cost savings over three years. |
| G&J Pepsi-Cola Bottlers | Over USD1.5 million in savings by streamlining development. |
| Average Organizations | 25% reduction in time for key processes, translating to USD44.4 million in time savings over three years. |
These figures illustrate how Dataverse can optimize your resources. By centralizing data management and enhancing operational efficiency, you reduce the need for extensive infrastructure investments. The platform’s integration capabilities with Microsoft Power Apps and other services streamline processes, boosting productivity.
Moreover, Dataverse’s advanced analytics tools provide insights that help you make informed decisions. This capability not only improves your operational efficiency but also ensures that you’re using your resources wisely.
In summary, Microsoft Dataverse stands out as a powerful tool for managing your business data. It simplifies data management, enhances collaboration, and offers robust security features. As you look ahead, consider these trends:
- Enhanced AI integration for automating complex processes.
- Expanded connectivity with improved integration options.
To prepare for upcoming updates, focus on creating reusable business logic and enabling AI-powered workflows through Microsoft 365 Copilot. By leveraging Dataverse, you position your organization for success in the evolving digital landscape. Embrace the future of data management and watch your business thrive! π
FAQ
What is Microsoft Dataverse used for?
Microsoft Dataverse helps you manage business data efficiently. It serves as a centralized platform for storing, organizing, and accessing data, making it easier to build applications and automate workflows.
How does Dataverse ensure data security?
Dataverse uses role-based access control to manage who can view or edit data. It also includes features like field-level security and auditing to protect sensitive information.
Can I customize Dataverse for my business needs?
Absolutely! You can create custom tables, modify existing entities, and develop business logic to tailor Dataverse to fit your specific requirements.
Is Dataverse easy to integrate with other Microsoft products?
Yes! Dataverse integrates seamlessly with Microsoft Power Apps, Power Automate, and Power BI, allowing you to enhance your applications and workflows effortlessly.
What types of data can I store in Dataverse?
You can store various data types, including standard tables for common concepts, custom tables for unique needs, and virtual tables for accessing external data without duplication.
How does Dataverse support collaboration among teams?
Dataverse fosters collaboration by providing a unified platform where team members can access real-time data, build applications together, and streamline workflows without switching between different tools.
Is there a cost associated with using Dataverse?
Yes, using Dataverse typically involves licensing fees, which may vary based on your organization's size and the specific features you need. Check Microsoft’s pricing page for detailed information.
Can I use Dataverse without coding skills?
Definitely! Dataverse is designed for users of all skill levels. You can manage data, create applications, and automate processes using user-friendly interfaces without needing extensive coding knowledge.
π Want to be part of m365.fm?
Then stop just listening… and start showing up.
π Connect with me on LinkedIn and let’s make something happen:
- ποΈ Be a podcast guest and share your story
- π§ Host your own episode (yes, seriously)
- π‘ Pitch topics the community actually wants to hear
- π Build your personal brand in the Microsoft 365 space
This isn’t just a podcast — it’s a platform for people who take action.
π₯ Most people wait. The best ones don’t.
π Connect with me on LinkedIn and send me a message:
"I want in"
Let’s build something awesome π
1
00:00:00,000 --> 00:00:03,880
Hello everyone and welcome to another episode of Microsoft Knowledge Nuggets.
2
00:00:03,880 --> 00:00:07,600
Today's topic is Dataverse and it sounds like a made up buzzword at first.
3
00:00:07,600 --> 00:00:10,440
Most people hear it and think it's just a fancy name for a database,
4
00:00:10,440 --> 00:00:15,200
but it's actually the hidden engine behind most business apps built on Microsoft's power platform.
5
00:00:15,200 --> 00:00:19,160
And here's the thing, it's not just a database, it's something much more practical.
6
00:00:19,160 --> 00:00:23,200
By the end of this episode, you'll understand what Dataverse actually is,
7
00:00:23,200 --> 00:00:28,640
how it organizes data, and why it's the backbone of every power platform solution worth building.
8
00:00:28,640 --> 00:00:31,200
There's one thing Dataverse does that most people don't expect,
9
00:00:31,200 --> 00:00:33,840
and it changes how you think about building apps entirely.
10
00:00:33,840 --> 00:00:35,840
Grab your coffee and let's dive in.
11
00:00:35,840 --> 00:00:37,280
Why Dataverse exists?
12
00:00:37,280 --> 00:00:39,280
Imagine you start a new company tomorrow.
13
00:00:39,280 --> 00:00:41,640
20 years ago, you'd buy separate products for everything,
14
00:00:41,640 --> 00:00:43,960
one server for email, another for file storage,
15
00:00:43,960 --> 00:00:45,840
a different system for customer data.
16
00:00:45,840 --> 00:00:48,960
Each one had its own login, its own rules, its own way of doing things,
17
00:00:48,960 --> 00:00:51,440
and getting them to talk to each other was a full-time job.
18
00:00:51,440 --> 00:00:54,600
Fast forward to today, and the problem hasn't really gone away.
19
00:00:54,600 --> 00:00:56,880
Businesses still use disconnected spreadsheets,
20
00:00:56,880 --> 00:00:59,920
sharepoint lists, and random databases that don't talk to each other.
21
00:00:59,920 --> 00:01:01,680
You've got customer data in one place,
22
00:01:01,680 --> 00:01:04,080
order data in another, and inventory data in a third,
23
00:01:04,080 --> 00:01:06,240
and someone's probably still tracking something important
24
00:01:06,240 --> 00:01:09,440
in a dusty Excel file that only one person knows how to find.
25
00:01:09,440 --> 00:01:11,600
Now, Excel works fine for small teams.
26
00:01:11,600 --> 00:01:14,480
You can track a few dozen assets, a handful of customers,
27
00:01:14,480 --> 00:01:17,120
maybe a simple project list, but it breaks its scale.
28
00:01:17,120 --> 00:01:20,240
There's no real security, so anyone with the file can see everything.
29
00:01:20,240 --> 00:01:22,000
There's no relationships between data,
30
00:01:22,000 --> 00:01:25,920
so you're copying and pasting the same customer name across multiple sheets.
31
00:01:25,920 --> 00:01:28,160
And there's no audit trail, so if someone changes a number,
32
00:01:28,160 --> 00:01:30,240
you'll never know who did it or when.
33
00:01:30,240 --> 00:01:31,760
Sharepoint lists are a step up.
34
00:01:31,760 --> 00:01:33,920
They live in the cloud, support multiple users,
35
00:01:33,920 --> 00:01:36,160
and are included with Microsoft 365.
36
00:01:36,160 --> 00:01:37,280
But they hit a hard wall.
37
00:01:37,280 --> 00:01:39,520
There's a 5,000 item view threshold,
38
00:01:39,520 --> 00:01:42,320
so try to show more than 5,000 items in a list view,
39
00:01:42,320 --> 00:01:43,760
and SharePoint just says no.
40
00:01:43,760 --> 00:01:45,280
And there's no real relational data.
41
00:01:45,280 --> 00:01:47,680
You can create look-up columns, but they're not enforced,
42
00:01:47,680 --> 00:01:49,760
so you can link to a record that doesn't exist
43
00:01:49,760 --> 00:01:52,880
or delete a manufacturer and leave often products floating around.
44
00:01:52,880 --> 00:01:53,520
It's a mess.
45
00:01:54,400 --> 00:01:57,040
So Microsoft looked at all this fragmentation and thought,
46
00:01:57,040 --> 00:01:59,360
"What if there was one unified data platform
47
00:01:59,360 --> 00:02:02,160
where all your power platform apps talked to the same data?
48
00:02:02,160 --> 00:02:04,160
What if you didn't need to worry about security,
49
00:02:04,160 --> 00:02:06,720
relationships, and logic in every single app?
50
00:02:06,720 --> 00:02:08,640
What if the platform handled that for you?"
51
00:02:08,640 --> 00:02:10,480
That's Dataverse, and here's the key point.
52
00:02:10,480 --> 00:02:11,600
It's not just storage.
53
00:02:11,600 --> 00:02:13,840
It's a managed service that handles security,
54
00:02:13,840 --> 00:02:16,400
logic, and relationships, so you don't have to.
55
00:02:16,400 --> 00:02:18,160
You define your data model once,
56
00:02:18,160 --> 00:02:21,040
and every app, every flow, every report,
57
00:02:21,040 --> 00:02:22,640
uses the same foundation.
58
00:02:22,640 --> 00:02:26,080
No more copying data between systems, no more inconsistent records,
59
00:02:26,080 --> 00:02:28,560
no more building the same security logic five times.
60
00:02:28,560 --> 00:02:30,720
Tables, the foundation.
61
00:02:30,720 --> 00:02:32,480
So what exactly is a Dataverse table
62
00:02:32,480 --> 00:02:35,120
and how is it different from an Excel sheet or a SharePoint list?
63
00:02:35,120 --> 00:02:36,720
Let's start with the simplest definition.
64
00:02:36,720 --> 00:02:39,280
A table is the most basic building block in Dataverse.
65
00:02:39,280 --> 00:02:41,520
Think of it like a spreadsheet tab, but smarter.
66
00:02:41,520 --> 00:02:43,920
Each table has columns with specific data types,
67
00:02:43,920 --> 00:02:46,320
text, numbers, dates, choices, currencies.
68
00:02:46,320 --> 00:02:48,400
You define what kind of data goes in each column,
69
00:02:48,400 --> 00:02:50,800
and Dataverse makes sure only valid data gets stored.
70
00:02:51,760 --> 00:02:55,040
No more typing NA in a date field because someone didn't know what to put there.
71
00:02:55,040 --> 00:02:57,280
But here's where Dataverse pulls ahead of Excel.
72
00:02:57,280 --> 00:02:59,840
You get tools that spreadsheets simply don't have.
73
00:02:59,840 --> 00:03:00,960
Auto numbering.
74
00:03:00,960 --> 00:03:03,920
Every new record gets a unique ID automatically.
75
00:03:03,920 --> 00:03:07,360
Calculated columns, a field that computes its value based on other fields
76
00:03:07,360 --> 00:03:10,400
like total price, it was quantity times unit price,
77
00:03:10,400 --> 00:03:12,800
business rules, logic that runs on the server,
78
00:03:12,800 --> 00:03:15,360
not in a macro that someone might accidentally disable.
79
00:03:15,360 --> 00:03:16,720
And you don't start from scratch.
80
00:03:16,720 --> 00:03:19,680
Dataverse gives you standard tables out of the box.
81
00:03:19,680 --> 00:03:23,200
Contacts, accounts, activities, these are ready to use,
82
00:03:23,200 --> 00:03:25,600
already designed with the columns and relationships
83
00:03:25,600 --> 00:03:27,680
that make sense for common business scenarios.
84
00:03:27,680 --> 00:03:30,080
You can create custom tables for your own needs,
85
00:03:30,080 --> 00:03:33,360
products, assets, orders, whatever your business requires.
86
00:03:33,360 --> 00:03:35,120
Here's something most people don't realize.
87
00:03:35,120 --> 00:03:37,040
When you create a table in Dataverse,
88
00:03:37,040 --> 00:03:40,000
a lot happens behind the scenes without you lifting a finger.
89
00:03:40,000 --> 00:03:42,400
Dataverse automatically adds a primary key,
90
00:03:42,400 --> 00:03:44,640
a unique identifier for every record.
91
00:03:44,640 --> 00:03:46,480
It adds created and modified dates.
92
00:03:46,480 --> 00:03:48,640
It adds ownership fields who created this record,
93
00:03:48,640 --> 00:03:49,600
who owns it now.
94
00:03:49,600 --> 00:03:52,080
It adds a status field, active or inactive,
95
00:03:52,080 --> 00:03:54,800
so you can soft delete records instead of permanently removing them.
96
00:03:54,800 --> 00:03:57,040
All of that is there from the moment you create the table.
97
00:03:57,040 --> 00:03:58,880
Let me give you a real world example.
98
00:03:58,880 --> 00:04:00,800
Say you're building an asset tracking system.
99
00:04:00,800 --> 00:04:02,720
You create a table called assets.
100
00:04:02,720 --> 00:04:04,800
You add columns for the asset name, serial number,
101
00:04:04,800 --> 00:04:06,400
purchase date and current value.
102
00:04:06,400 --> 00:04:07,920
That's four columns you define.
103
00:04:07,920 --> 00:04:10,640
But behind the scenes, Dataverse adds another dozen,
104
00:04:10,640 --> 00:04:13,280
the unique ID, the created date, the modified date,
105
00:04:13,280 --> 00:04:15,040
the owner, the status and so on.
106
00:04:15,040 --> 00:04:16,480
You get all of that for free.
107
00:04:16,480 --> 00:04:19,120
And when you start building apps on top of this table,
108
00:04:19,120 --> 00:04:21,040
those extra fields are already there,
109
00:04:21,040 --> 00:04:24,080
ready to use for security, auditing and reporting.
110
00:04:24,080 --> 00:04:26,400
One to many relationships.
111
00:04:26,400 --> 00:04:27,520
Once you have a few tables,
112
00:04:27,520 --> 00:04:29,840
the real power comes from connecting them together.
113
00:04:29,840 --> 00:04:32,640
And the most common way to do that is with a one to many relationship.
114
00:04:32,640 --> 00:04:33,680
Here's how it works.
115
00:04:33,680 --> 00:04:37,200
One record in one table links to many records in another table.
116
00:04:37,200 --> 00:04:38,800
Let me give you a concrete example.
117
00:04:38,800 --> 00:04:41,120
Say you have a table for vehicle manufacturers.
118
00:04:41,120 --> 00:04:42,880
Honda Ford Toyota.
119
00:04:42,880 --> 00:04:44,640
And you have another table for vehicles.
120
00:04:44,640 --> 00:04:46,560
Civic F-150 Camry.
121
00:04:46,560 --> 00:04:48,240
One manufacturer makes many vehicles.
122
00:04:48,240 --> 00:04:49,680
That's a one to many relationship.
123
00:04:49,680 --> 00:04:53,280
The way you build this in practice is with something called a lookup column.
124
00:04:53,280 --> 00:04:56,080
On your vehicle table, you add a column called manufacturer.
125
00:04:56,080 --> 00:04:59,040
And you set it to lookup values from your manufacturer table.
126
00:04:59,040 --> 00:05:00,480
When a user fills in that field,
127
00:05:00,480 --> 00:05:02,800
they don't type the manufacturer name from scratch.
128
00:05:02,800 --> 00:05:03,760
They search for it.
129
00:05:03,760 --> 00:05:05,280
Dataverse shows a search box,
130
00:05:05,280 --> 00:05:07,520
not a drop down of thousands of options.
131
00:05:07,520 --> 00:05:09,520
They pick Honda and the relationship is created.
132
00:05:09,520 --> 00:05:10,560
Now, why does this matter?
133
00:05:10,560 --> 00:05:12,560
Because instead of repeating the manufacturer name
134
00:05:12,560 --> 00:05:13,680
in every single vehicle row,
135
00:05:13,680 --> 00:05:15,360
you store it once and reference it.
136
00:05:15,360 --> 00:05:17,040
The Civic points to the Honda record.
137
00:05:17,040 --> 00:05:18,880
The accord points to the same Honda record.
138
00:05:18,880 --> 00:05:21,040
The CRV points to the same Honda record.
139
00:05:21,040 --> 00:05:22,560
You're not typing Honda three times.
140
00:05:22,560 --> 00:05:23,760
You're storing it once.
141
00:05:23,760 --> 00:05:25,680
And every vehicle just links back to it.
142
00:05:25,680 --> 00:05:28,000
This prevents data entry errors.
143
00:05:28,000 --> 00:05:29,120
No more typos.
144
00:05:29,120 --> 00:05:32,400
Honda in one row, Honda motor in another, Honda cumped in a third.
145
00:05:32,400 --> 00:05:33,440
It's all the same record.
146
00:05:33,440 --> 00:05:34,960
And it makes updates incredibly easy.
147
00:05:34,960 --> 00:05:37,840
Say Honda decides to rebrand and change their company name.
148
00:05:37,840 --> 00:05:41,120
In a spreadsheet, you'd have to find every single row that says Honda
149
00:05:41,120 --> 00:05:42,080
and update it.
150
00:05:42,080 --> 00:05:44,480
Miss one and now you've got inconsistent data.
151
00:05:44,480 --> 00:05:46,960
In Dataverse, you change the manufacturer name once
152
00:05:46,960 --> 00:05:49,200
and every vehicle that links to that manufacturer
153
00:05:49,200 --> 00:05:50,960
automatically reflects the update.
154
00:05:50,960 --> 00:05:52,640
One change, everything updates.
155
00:05:52,640 --> 00:05:55,040
Dataverse also enforces something
156
00:05:55,040 --> 00:05:56,800
called referential integrity.
157
00:05:56,800 --> 00:05:58,640
You can't link to a manufacturer record
158
00:05:58,640 --> 00:05:59,840
that doesn't exist.
159
00:05:59,840 --> 00:06:01,680
If someone tries to delete a manufacturer
160
00:06:01,680 --> 00:06:03,360
that still has vehicles linked to it,
161
00:06:03,360 --> 00:06:04,640
Dataverse will stop them.
162
00:06:04,640 --> 00:06:07,040
No often records, no broken references.
163
00:06:07,040 --> 00:06:08,400
The data stays clean.
164
00:06:08,400 --> 00:06:09,680
And here's where it gets visual.
165
00:06:09,680 --> 00:06:10,880
On the manufacturer form,
166
00:06:10,880 --> 00:06:12,800
you can add something called a subgrid.
167
00:06:12,800 --> 00:06:14,800
This is a small table embedded in the form
168
00:06:14,800 --> 00:06:17,200
that shows all the vehicles belonging to that manufacturer.
169
00:06:17,200 --> 00:06:18,880
So when you open the Honda record,
170
00:06:18,880 --> 00:06:21,280
you see a list, Civic, Accord, CRV,
171
00:06:21,280 --> 00:06:22,640
right there on the same screen.
172
00:06:22,640 --> 00:06:24,480
You can see the relationship from both sides.
173
00:06:24,480 --> 00:06:26,880
The vehicle knows which manufacturer it belongs to.
174
00:06:26,880 --> 00:06:29,680
And the manufacturer knows which vehicles are linked to it.
175
00:06:29,680 --> 00:06:31,840
That's the power of a one-to-many relationship.
176
00:06:31,840 --> 00:06:34,720
Many-to-many relationships.
177
00:06:34,720 --> 00:06:37,120
Now, what about when you need a more flexible connection?
178
00:06:37,120 --> 00:06:39,040
Where many records linked to many other records,
179
00:06:39,040 --> 00:06:40,560
sometimes one-to-many isn't enough?
180
00:06:40,560 --> 00:06:41,680
Take a car dealership.
181
00:06:41,680 --> 00:06:43,600
A single customer might own multiple vehicles.
182
00:06:43,600 --> 00:06:44,320
That's easy.
183
00:06:44,320 --> 00:06:45,920
One customer, many vehicles.
184
00:06:45,920 --> 00:06:46,960
But what about a household?
185
00:06:46,960 --> 00:06:49,200
A single vehicle might be owned by multiple people.
186
00:06:49,200 --> 00:06:50,800
A husband and wife, for example.
187
00:06:50,800 --> 00:06:53,440
So you've got a situation where one customer can own many vehicles
188
00:06:53,440 --> 00:06:55,360
and one vehicle can be owned by many customers.
189
00:06:55,360 --> 00:06:57,040
That's a many-to-many relationship.
190
00:06:57,040 --> 00:06:59,200
Dataverse supports this natively.
191
00:06:59,200 --> 00:07:00,800
You don't need to create an extra table.
192
00:07:00,800 --> 00:07:02,800
You just define a many-to-many relationship
193
00:07:02,800 --> 00:07:05,040
between your contact table and your vehicle table
194
00:07:05,040 --> 00:07:06,880
and Dataverse handles the rest.
195
00:07:06,880 --> 00:07:08,960
Behind the scenes, it creates a hidden table
196
00:07:08,960 --> 00:07:10,160
that stores the connections.
197
00:07:10,160 --> 00:07:11,040
But you never see it.
198
00:07:11,040 --> 00:07:13,360
You just see that a contact can have multiple vehicles
199
00:07:13,360 --> 00:07:15,360
and a vehicle can have multiple contacts.
200
00:07:15,360 --> 00:07:16,240
But here's the catch.
201
00:07:16,240 --> 00:07:18,880
That out-of-box many-to-many table is invisible.
202
00:07:18,880 --> 00:07:20,560
You can't see it in your list of tables.
203
00:07:20,560 --> 00:07:21,760
You can't add columns to it.
204
00:07:21,760 --> 00:07:23,680
You can't store extra data on it.
205
00:07:23,680 --> 00:07:26,160
So if you want to track the purchase price of that vehicle
206
00:07:26,160 --> 00:07:28,320
or the data was bought or the financing terms,
207
00:07:28,320 --> 00:07:28,960
you can't.
208
00:07:28,960 --> 00:07:31,440
The hidden table only stores the relationship itself.
209
00:07:31,440 --> 00:07:32,800
Nothing else.
210
00:07:32,800 --> 00:07:34,640
If you need to track additional information,
211
00:07:34,640 --> 00:07:36,800
you create a custom intersection table.
212
00:07:36,800 --> 00:07:39,760
Let's say you create a table called "Purchase".
213
00:07:39,760 --> 00:07:42,560
This table has a lookup to the contact who bought it.
214
00:07:42,560 --> 00:07:43,600
A lookup to the vehicle.
215
00:07:43,600 --> 00:07:44,400
What they bought.
216
00:07:44,400 --> 00:07:46,400
And then you can add whatever columns you need.
217
00:07:46,400 --> 00:07:48,480
Purchase price, purchase date,
218
00:07:48,480 --> 00:07:50,400
warranty expiration, payment status.
219
00:07:50,400 --> 00:07:51,680
This gives you full control.
220
00:07:51,680 --> 00:07:52,560
You can add columns.
221
00:07:52,560 --> 00:07:55,200
Trigger power automate flows when a purchase is created.
222
00:07:55,200 --> 00:07:56,480
Import data from Excel.
223
00:07:56,480 --> 00:07:58,080
Everything you'd expect from a proper table.
224
00:07:58,080 --> 00:07:59,200
So when do you use which?
225
00:07:59,200 --> 00:08:02,000
The out-of-box many-to-many is great for simple associations.
226
00:08:02,000 --> 00:08:04,240
Tags on a blog post, categories on a product,
227
00:08:04,240 --> 00:08:05,600
quick lightweight connections
228
00:08:05,600 --> 00:08:07,680
where you just need to know what's linked to what.
229
00:08:07,680 --> 00:08:10,640
The custom intersection table is for business transactions.
230
00:08:10,640 --> 00:08:14,080
Things that have their own data, their own process, their own life cycle.
231
00:08:14,080 --> 00:08:14,960
Think of it this way.
232
00:08:14,960 --> 00:08:16,800
The out-of-box version is like a sticky note.
233
00:08:16,800 --> 00:08:18,800
Quick, easy, gets the job done.
234
00:08:18,800 --> 00:08:20,320
But you can't write much on it.
235
00:08:20,320 --> 00:08:23,120
The custom version is a proper filing cabinet with folders.
236
00:08:23,120 --> 00:08:24,400
Takes a bit more setup,
237
00:08:24,400 --> 00:08:26,480
but you can store everything you need.
238
00:08:26,480 --> 00:08:27,760
Security and access.
239
00:08:27,760 --> 00:08:30,160
Storing and connecting data is only half the story.
240
00:08:30,160 --> 00:08:33,280
The other half is making sure the right people see the right data.
241
00:08:33,280 --> 00:08:35,360
And this is where dataverse really separates itself
242
00:08:35,360 --> 00:08:37,040
from a simple spreadsheet or list.
243
00:08:37,040 --> 00:08:39,280
Dataverse uses role-based security.
244
00:08:39,280 --> 00:08:42,160
You don't assign permissions to individual users one at a time.
245
00:08:42,160 --> 00:08:43,280
You create roles.
246
00:08:43,280 --> 00:08:45,040
Think of them as job descriptions.
247
00:08:45,040 --> 00:08:47,360
And you assign permissions to those roles.
248
00:08:47,360 --> 00:08:48,960
Then you add users to the roles.
249
00:08:48,960 --> 00:08:50,720
A salesperson gets the sales role.
250
00:08:50,720 --> 00:08:52,640
A support agent gets the support role.
251
00:08:52,640 --> 00:08:54,720
A manager gets a role with broader access.
252
00:08:54,720 --> 00:08:56,480
Clean, scalable, and easy to audit.
253
00:08:56,480 --> 00:08:58,160
Now there are three levels of control.
254
00:08:58,160 --> 00:08:59,280
First, table level.
255
00:08:59,280 --> 00:09:01,280
Can this person even see the asset table?
256
00:09:01,280 --> 00:09:02,720
Second, record level?
257
00:09:02,720 --> 00:09:04,560
Which specific rows can they see?
258
00:09:04,560 --> 00:09:07,600
And third, column level can they see every field in a record
259
00:09:07,600 --> 00:09:08,960
or are some fields hidden?
260
00:09:08,960 --> 00:09:09,840
Let's break that down.
261
00:09:09,840 --> 00:09:11,200
Table level is straightforward.
262
00:09:11,200 --> 00:09:13,120
You decide which tables a role can access.
263
00:09:13,120 --> 00:09:16,160
Maybe your support team doesn't need to see the financial tables at all.
264
00:09:16,160 --> 00:09:16,640
Done.
265
00:09:16,640 --> 00:09:18,400
Record level is where it gets interesting.
266
00:09:18,400 --> 00:09:21,360
You control this through something called access levels.
267
00:09:21,360 --> 00:09:22,800
The most common ones are user.
268
00:09:22,800 --> 00:09:24,400
You can only see records you own.
269
00:09:24,400 --> 00:09:27,280
Business unit, you can see records owned by anyone in your department.
270
00:09:27,280 --> 00:09:30,000
And organization, you can see everything in the environment.
271
00:09:30,000 --> 00:09:31,440
Here's something important to understand.
272
00:09:31,440 --> 00:09:34,240
Security and dataverse is additive, not subtractive.
273
00:09:34,240 --> 00:09:38,080
If a user has two roles, they get the most permissive access from either role.
274
00:09:38,080 --> 00:09:40,560
You can't give someone a role that says read only.
275
00:09:40,560 --> 00:09:43,200
And then another role that says, can't see this table
276
00:09:43,200 --> 00:09:45,360
and expect the second one to override the first.
277
00:09:45,360 --> 00:09:46,560
It doesn't work that way.
278
00:09:46,560 --> 00:09:48,720
The system always gives the highest level of access.
279
00:09:48,720 --> 00:09:51,840
So you need to be intentional about which roles you assign to which users.
280
00:09:51,840 --> 00:09:54,000
Business units create natural boundaries.
281
00:09:54,000 --> 00:09:55,840
You set up a business unit for sales,
282
00:09:55,840 --> 00:09:58,160
another for support, another for finance.
283
00:09:58,160 --> 00:10:00,320
Users in the sales unit see sales data.
284
00:10:00,320 --> 00:10:02,720
Users in the support unit see support data.
285
00:10:02,720 --> 00:10:06,240
It creates a clean separation without needing complex role configurations.
286
00:10:06,240 --> 00:10:07,120
And it scales.
287
00:10:07,120 --> 00:10:09,440
Add a new salesperson to the sales business unit
288
00:10:09,440 --> 00:10:11,840
and they automatically inherit the right access.
289
00:10:11,840 --> 00:10:14,080
The golden rule of dataverse security is this,
290
00:10:14,080 --> 00:10:16,720
don't assign system administrator to everyone.
291
00:10:16,720 --> 00:10:19,600
That role gives full access to everything in the environment.
292
00:10:19,600 --> 00:10:22,080
It's tempting to use it as a shortcut when someone says,
293
00:10:22,080 --> 00:10:23,920
I can't see this data.
294
00:10:23,920 --> 00:10:24,720
Don't do it.
295
00:10:24,720 --> 00:10:28,640
Instead, clone a base role, trim it down to only what that person needs
296
00:10:28,640 --> 00:10:29,360
and assign that.
297
00:10:29,360 --> 00:10:30,480
It takes a few extra minutes,
298
00:10:30,480 --> 00:10:32,880
but it saves you from security headaches down the road.
299
00:10:32,880 --> 00:10:34,960
Teams make permission management even easier.
300
00:10:34,960 --> 00:10:36,960
Instead of assigning roles to 20 individual users,
301
00:10:36,960 --> 00:10:39,280
you create a team, assign the role to the team,
302
00:10:39,280 --> 00:10:40,480
and add users to the team.
303
00:10:40,480 --> 00:10:42,960
When someone joins the team, they inherit the team's access.
304
00:10:42,960 --> 00:10:45,920
When someone leaves, you remove them from the team.
305
00:10:45,920 --> 00:10:48,000
No need to update individual role assignments.
306
00:10:48,000 --> 00:10:49,680
It scales beautifully.
307
00:10:49,680 --> 00:10:51,360
Dataverse versus SharePoint.
308
00:10:51,360 --> 00:10:53,360
So after all that, you might still be wondering,
309
00:10:53,360 --> 00:10:56,000
should I use Dataverse or can I just stick with SharePoint?
310
00:10:56,000 --> 00:10:56,880
That's a fair question.
311
00:10:56,880 --> 00:10:58,160
Let's compare them directly.
312
00:10:58,160 --> 00:10:59,440
Here's the biggest difference.
313
00:10:59,440 --> 00:11:02,880
SharePoint is a collaboration platform that happens to have lists.
314
00:11:02,880 --> 00:11:05,040
Dataverse is a proper relational database,
315
00:11:05,040 --> 00:11:06,880
built from the ground up for business apps.
316
00:11:06,880 --> 00:11:09,200
SharePoint lists work great for team sites,
317
00:11:09,200 --> 00:11:11,040
document libraries, and simple trackers,
318
00:11:11,040 --> 00:11:14,160
but they're not designed to be the backbone of a real application.
319
00:11:14,160 --> 00:11:16,320
Dataverse is, now let's talk cost.
320
00:11:16,320 --> 00:11:19,120
SharePoint lists come with your Microsoft 365 subscription.
321
00:11:19,120 --> 00:11:20,000
You already have them.
322
00:11:20,000 --> 00:11:21,360
No extra license needed.
323
00:11:21,360 --> 00:11:23,840
Dataverse requires a power app's premium license,
324
00:11:23,840 --> 00:11:26,000
which runs about $20 per user per month.
325
00:11:26,000 --> 00:11:27,920
That's real money, and it matters.
326
00:11:27,920 --> 00:11:29,280
But you get what you pay for.
327
00:11:29,280 --> 00:11:30,960
Scale is another big difference.
328
00:11:30,960 --> 00:11:32,800
SharePoint has a hard limit.
329
00:11:32,800 --> 00:11:34,960
The 5,000 item view threshold.
330
00:11:34,960 --> 00:11:37,760
If your list goes over that, certain operations just fail.
331
00:11:37,760 --> 00:11:40,320
You can work around it with indexing and careful filtering,
332
00:11:40,320 --> 00:11:41,680
but it's a constant headache.
333
00:11:41,680 --> 00:11:44,480
Dataverse can handle millions of rows with proper queries.
334
00:11:44,480 --> 00:11:46,000
No arbitrary view threshold.
335
00:11:46,000 --> 00:11:47,360
No workarounds needed.
336
00:11:47,360 --> 00:11:49,360
Relationships are where things really split.
337
00:11:49,360 --> 00:11:52,320
SharePoint has look-up columns, but they're not enforced.
338
00:11:52,320 --> 00:11:55,280
You can create a look-up to a record that doesn't exist.
339
00:11:55,280 --> 00:11:57,680
You can delete a record that other records point to,
340
00:11:57,680 --> 00:11:59,600
leaving orphaned references everywhere.
341
00:11:59,600 --> 00:12:02,000
Dataverse enforces referential integrity.
342
00:12:02,000 --> 00:12:03,280
You can't create a broken link.
343
00:12:03,280 --> 00:12:04,400
The data stays clean.
344
00:12:04,400 --> 00:12:05,840
And column-level security?
345
00:12:05,840 --> 00:12:06,880
SharePoint doesn't have it.
346
00:12:06,880 --> 00:12:10,080
You can't hide a salary field while showing the rest of an employee record.
347
00:12:10,080 --> 00:12:10,960
It's all or nothing.
348
00:12:10,960 --> 00:12:12,960
Dataverse lets you secure individual columns.
349
00:12:12,960 --> 00:12:14,880
The HR manager sees the full record.
350
00:12:14,880 --> 00:12:17,600
The team leads sees everything except the salary.
351
00:12:17,600 --> 00:12:19,520
That's not possible with SharePoint alone.
352
00:12:19,520 --> 00:12:20,880
So when do you use each one?
353
00:12:20,880 --> 00:12:22,560
Use SharePoint for simple trackers,
354
00:12:22,560 --> 00:12:24,560
document libraries, team-level collaboration,
355
00:12:24,560 --> 00:12:25,680
and low-budget solutions.
356
00:12:25,680 --> 00:12:28,080
It's fast, it's familiar, and it's already paid for.
357
00:12:28,080 --> 00:12:30,160
Use Dataverse for business-critical data,
358
00:12:30,160 --> 00:12:32,800
complex relationships, enterprise security,
359
00:12:32,800 --> 00:12:35,760
model-driven apps, and anything that needs AI integration.
360
00:12:35,760 --> 00:12:38,400
It's the right foundation when your app needs to grow.
361
00:12:38,400 --> 00:12:40,400
And here's a common pattern that works really well.
362
00:12:40,400 --> 00:12:41,360
A hybrid approach.
363
00:12:41,360 --> 00:12:43,360
Use Dataverse for your structured data,
364
00:12:43,360 --> 00:12:44,880
customers, orders, products,
365
00:12:44,880 --> 00:12:47,360
the things that need relationships and security.
366
00:12:47,360 --> 00:12:48,880
Use SharePoint for documents.
367
00:12:48,880 --> 00:12:50,800
Contracts reports attachments.
368
00:12:50,800 --> 00:12:52,640
Dataverse links to the SharePoint document,
369
00:12:52,640 --> 00:12:54,400
so you get the best of both worlds.
370
00:12:54,400 --> 00:12:56,480
Structured data in a proper database.
371
00:12:56,480 --> 00:12:59,280
Documents in a collaboration platform designed for them.
372
00:12:59,280 --> 00:13:00,640
Power Platform integration.
373
00:13:00,640 --> 00:13:02,400
So Dataverse handles the data layer.
374
00:13:02,400 --> 00:13:05,200
But how does it fit into the bigger power platform picture?
375
00:13:05,200 --> 00:13:06,880
This is where everything comes together.
376
00:13:06,880 --> 00:13:08,480
Dataverse is the shared data layer
377
00:13:08,480 --> 00:13:12,240
that power apps, power automate, and power BI all use.
378
00:13:12,240 --> 00:13:15,440
Think of it as the foundation every other tool builds on top of.
379
00:13:15,440 --> 00:13:17,280
Power Apps connects to it for app data.
380
00:13:17,280 --> 00:13:19,840
Power Automate uses it for triggers and actions.
381
00:13:19,840 --> 00:13:21,600
Power BI queries it for dashboards.
382
00:13:21,600 --> 00:13:23,760
One Data Platform, three different tools,
383
00:13:23,760 --> 00:13:25,600
all working with the same information.
384
00:13:25,600 --> 00:13:26,880
Let's start with Canvas Apps.
385
00:13:26,880 --> 00:13:28,720
You can connect the Canvas app to Dataverse
386
00:13:28,720 --> 00:13:30,960
just like you'd connected to any other data source.
387
00:13:30,960 --> 00:13:32,400
SharePoint, SQL, Excel.
388
00:13:32,400 --> 00:13:33,200
But here's the difference.
389
00:13:33,200 --> 00:13:36,080
When you connect to Dataverse, you get full delegation.
390
00:13:36,080 --> 00:13:38,000
That means your app can query millions of records
391
00:13:38,000 --> 00:13:39,120
without slowing down.
392
00:13:39,120 --> 00:13:42,160
The query runs on the server, not on the user's device.
393
00:13:42,160 --> 00:13:45,040
And you inherit Dataverse's security model automatically.
394
00:13:45,040 --> 00:13:47,440
You don't have to build security logic into the app itself.
395
00:13:47,440 --> 00:13:48,960
The platform handles it.
396
00:13:48,960 --> 00:13:50,720
Model-driven apps are a different story.
397
00:13:50,720 --> 00:13:52,720
These apps are built directly on Dataverse.
398
00:13:52,720 --> 00:13:54,080
They're not possible without it.
399
00:13:54,080 --> 00:13:55,600
When you create a model-driven app,
400
00:13:55,600 --> 00:13:57,440
you're essentially building a user interface
401
00:13:57,440 --> 00:13:58,880
on top of your Dataverse tables.
402
00:13:58,880 --> 00:14:00,880
The forms, the views, the dashboards,
403
00:14:00,880 --> 00:14:03,520
they all come from the Data model you've already defined,
404
00:14:03,520 --> 00:14:05,440
no separate Data Source configuration,
405
00:14:05,440 --> 00:14:06,720
no custom connection strings.
406
00:14:06,720 --> 00:14:08,720
The app and the data are one and the same.
407
00:14:08,720 --> 00:14:11,280
Power Automate can trigger on Dataverse events.
408
00:14:11,280 --> 00:14:13,680
When a record is created, updated, or deleted,
409
00:14:13,680 --> 00:14:15,600
you can kick off a flow automatically.
410
00:14:15,600 --> 00:14:16,880
Send an email notification.
411
00:14:16,880 --> 00:14:19,280
Update a related record, start an approval process.
412
00:14:19,280 --> 00:14:21,440
All triggered by changes in the data itself.
413
00:14:21,440 --> 00:14:23,440
This is where the real automation happens,
414
00:14:23,440 --> 00:14:24,880
not in scheduled batch jobs,
415
00:14:24,880 --> 00:14:27,520
but in real-time responses to business events.
416
00:14:27,520 --> 00:14:29,760
Power BI can query Dataverse tables directly.
417
00:14:29,760 --> 00:14:31,120
You don't need to export Data,
418
00:14:31,120 --> 00:14:32,400
build a separate Data Warehouse,
419
00:14:32,400 --> 00:14:34,560
or set up complex ETL processes.
420
00:14:34,560 --> 00:14:37,120
You point Power BI at your Dataverse environment,
421
00:14:37,120 --> 00:14:39,280
pick the tables you want, and build your dashboards.
422
00:14:39,280 --> 00:14:40,400
The data is live.
423
00:14:40,400 --> 00:14:42,560
When someone updates a record in Power Apps,
424
00:14:42,560 --> 00:14:45,200
the dashboard reflects that change in real-time.
425
00:14:45,200 --> 00:14:47,680
No stale reports, no manual refreshes.
426
00:14:47,680 --> 00:14:49,200
This creates a continuous loop.
427
00:14:49,200 --> 00:14:51,760
You analyze Data in Power BI and spotted trend.
428
00:14:51,760 --> 00:14:54,400
Maybe a spike in support tickets for a specific product.
429
00:14:54,400 --> 00:14:56,000
You act on it in Power Apps.
430
00:14:56,000 --> 00:14:58,080
Create a case, assign it to a team.
431
00:14:58,080 --> 00:15:00,320
You automate the follow-up with Power Automate.
432
00:15:00,320 --> 00:15:02,400
Send a notification, update the status.
433
00:15:02,400 --> 00:15:04,080
All of it runs on the same data.
434
00:15:04,080 --> 00:15:06,720
One platform, one source of truth, end-to-end.
435
00:15:06,720 --> 00:15:09,200
Now here's where things get interesting for the future.
436
00:15:09,200 --> 00:15:12,400
Co-pilot and AI agents use Dataverse as their memory.
437
00:15:12,400 --> 00:15:15,200
When you ask an AI assistant a question about your business data,
438
00:15:15,200 --> 00:15:16,720
it's not searching the internet.
439
00:15:16,720 --> 00:15:18,640
It's querying your Dataverse tables.
440
00:15:18,640 --> 00:15:21,680
Your customer records, your order history, your inventory levels,
441
00:15:21,680 --> 00:15:23,120
that's what feeds the AI.
442
00:15:23,120 --> 00:15:25,760
Not random web content, your actual business data.
443
00:15:25,760 --> 00:15:29,120
And it's secured by the same role-based security we talked about earlier.
444
00:15:29,120 --> 00:15:32,080
The AI can only see what the user has permission to see.
445
00:15:32,080 --> 00:15:33,120
Looking further ahead,
446
00:15:33,120 --> 00:15:35,840
fabric integration means you'll be able to analyze Dataverse data
447
00:15:35,840 --> 00:15:37,360
in one lake without copying it.
448
00:15:37,360 --> 00:15:38,640
No more moving data around.
449
00:15:38,640 --> 00:15:40,000
No more duplicate storage.
450
00:15:40,000 --> 00:15:43,040
Your operational data and your analytical data live in the same place.
451
00:15:43,040 --> 00:15:45,200
That's the direction Microsoft is heading.
452
00:15:45,200 --> 00:15:46,320
Getting started.
453
00:15:46,320 --> 00:15:48,080
So after all that, you might be wondering
454
00:15:48,080 --> 00:15:49,200
where to actually start.
455
00:15:49,200 --> 00:15:50,160
Let's make it simple.
456
00:15:50,160 --> 00:15:51,120
Start with one question.
457
00:15:51,120 --> 00:15:54,000
Do you need a system of record or just a lightweight tracker?
458
00:15:54,000 --> 00:15:56,720
A system of record holds your core business data.
459
00:15:56,720 --> 00:15:59,040
Customers, orders, products, cases.
460
00:15:59,040 --> 00:16:02,240
It needs to be secure, reliable, and connected to other systems.
461
00:16:02,240 --> 00:16:04,640
A lightweight tracker is more like a project list,
462
00:16:04,640 --> 00:16:06,800
a task board or a simple inventory sheet.
463
00:16:06,800 --> 00:16:09,360
Useful, but it doesn't need enterprise-grade infrastructure.
464
00:16:09,360 --> 00:16:10,960
If you're building a real business app
465
00:16:10,960 --> 00:16:14,240
with multiple related tables, security layers, and automation,
466
00:16:14,240 --> 00:16:16,080
Dataverse is the right foundation.
467
00:16:16,080 --> 00:16:18,480
You'll thank yourself later when you need to add a new table,
468
00:16:18,480 --> 00:16:20,960
change a relationship, or integrate with another system.
469
00:16:20,960 --> 00:16:23,120
If you're just tracking a few items for your team,
470
00:16:23,120 --> 00:16:24,640
SharePoint is probably fine.
471
00:16:24,640 --> 00:16:26,080
Use the right tool for the job.
472
00:16:26,080 --> 00:16:27,920
The easiest way to start is to go to make.
473
00:16:27,920 --> 00:16:31,360
PowerApps.com, create a solution, and add your tables.
474
00:16:31,360 --> 00:16:33,120
Don't worry about building an app yet.
475
00:16:33,120 --> 00:16:34,160
Just define your data model.
476
00:16:34,160 --> 00:16:35,040
What tables do you need?
477
00:16:35,040 --> 00:16:36,720
What columns go in each table?
478
00:16:36,720 --> 00:16:38,080
What relationships connect them?
479
00:16:38,080 --> 00:16:40,720
Get that right first, and everything else becomes easier.
480
00:16:40,720 --> 00:16:43,440
Use the standard tables before creating custom ones.
481
00:16:43,440 --> 00:16:45,360
Dataverse comes with tables for contacts,
482
00:16:45,360 --> 00:16:47,040
accounts, activities, and more.
483
00:16:47,040 --> 00:16:49,440
They're already designed for common business scenarios.
484
00:16:49,440 --> 00:16:53,680
The contact table has fields for name, email, phone, address, company,
485
00:16:53,680 --> 00:16:55,040
everything you'd expect.
486
00:16:55,040 --> 00:16:57,440
Before you create a custom/customer table,
487
00:16:57,440 --> 00:17:00,320
ask yourself if the standard account or contact table will work.
488
00:17:00,320 --> 00:17:01,360
It probably will.
489
00:17:01,360 --> 00:17:03,600
And it saves you from reinventing the wheel.
490
00:17:03,600 --> 00:17:06,000
Plan your data model on paper before you start building.
491
00:17:06,000 --> 00:17:08,000
Draw the tables, draw the relationships,
492
00:17:08,000 --> 00:17:09,840
figure out who needs to see what.
493
00:17:09,840 --> 00:17:12,800
A few hours of planning can save you weeks of rework.
494
00:17:12,800 --> 00:17:14,320
And here's a common mistake.
495
00:17:14,320 --> 00:17:16,560
Overcomplicating the model upfront.
496
00:17:16,560 --> 00:17:17,600
Start simple.
497
00:17:17,600 --> 00:17:19,040
Add complexity as you need it.
498
00:17:19,040 --> 00:17:22,080
You don't need 15 tables and 20 relationships on day one.
499
00:17:22,080 --> 00:17:23,200
Start with the core tables.
500
00:17:23,200 --> 00:17:23,920
Get them working.
501
00:17:23,920 --> 00:17:25,600
Add more as your requirements grow.
502
00:17:25,600 --> 00:17:26,880
And here's the beauty of dataverse.
503
00:17:26,880 --> 00:17:29,680
You can change the data model later without breaking your apps.
504
00:17:29,680 --> 00:17:30,560
Add a new column.
505
00:17:30,560 --> 00:17:31,680
Create a new relationship.
506
00:17:31,680 --> 00:17:32,960
Change a data type.
507
00:17:32,960 --> 00:17:33,920
The apps adapt.
508
00:17:33,920 --> 00:17:35,200
Try doing that with a spreadsheet.
509
00:17:35,200 --> 00:17:36,480
You change a column in Excel.
510
00:17:36,480 --> 00:17:38,400
And every formula, every pivot table,
511
00:17:38,400 --> 00:17:40,240
every chart that references it breaks.
512
00:17:40,240 --> 00:17:41,200
Not in dataverse.
513
00:17:41,200 --> 00:17:43,360
The platform handles the changes gracefully.
514
00:17:43,360 --> 00:17:45,120
That alone is worth the switch.
515
00:17:45,120 --> 00:17:46,240
So here's what we covered.
516
00:17:46,240 --> 00:17:48,640
Dataverse is a managed relational data platform
517
00:17:48,640 --> 00:17:51,120
that gives power platform apps a shared, secure,
518
00:17:51,120 --> 00:17:52,160
and scalable foundation.
519
00:17:52,160 --> 00:17:53,360
It's not just a database.
520
00:17:53,360 --> 00:17:55,200
It's a unified layer that handles tables,
521
00:17:55,200 --> 00:17:57,280
relationships, security, and logic.
522
00:17:57,280 --> 00:17:59,680
You don't have to build those things from scratch every time.
523
00:17:59,680 --> 00:18:01,040
The main idea is this.
524
00:18:01,040 --> 00:18:03,120
Think of dataverse as the office building.
525
00:18:03,120 --> 00:18:04,400
Not just a single room.
526
00:18:04,400 --> 00:18:06,400
The office building provides the structure,
527
00:18:06,400 --> 00:18:08,720
the security, the plumbing, the electricity.
528
00:18:08,720 --> 00:18:09,840
You just furnish the rooms.
529
00:18:09,840 --> 00:18:11,440
That's what dataverse does for your apps.
530
00:18:11,440 --> 00:18:12,960
It provides the infrastructure.
531
00:18:12,960 --> 00:18:14,160
You build the solutions.
532
00:18:14,160 --> 00:18:15,920
If you want to see dataverse in action,
533
00:18:15,920 --> 00:18:18,640
check out the video on building your first model driven app.
534
00:18:18,640 --> 00:18:21,200
It walks through the whole process from start to finish.
535
00:18:21,200 --> 00:18:23,680
And subscribe on your favorite podcast platform.
536
00:18:23,680 --> 00:18:25,920
Share this episode with someone who's still using Excel
537
00:18:25,920 --> 00:18:26,640
for everything.
538
00:18:26,640 --> 00:18:28,240
They might thank you later.

Founder of m365.fm, m365.show and m365con.net
Mirko Peters is a Microsoft 365 expert, content creator, and founder of m365.fm, a platform dedicated to sharing practical insights on modern workplace technologies. His work focuses on Microsoft 365 governance, security, collaboration, and real-world implementation strategies.
Through his podcast and written content, Mirko provides hands-on guidance for IT professionals, architects, and business leaders navigating the complexities of Microsoft 365. He is known for translating complex topics into clear, actionable advice, often highlighting common mistakes and overlooked risks in real-world environments.
With a strong emphasis on community contribution and knowledge sharing, Mirko is actively building a platform that connects experts, shares experiences, and helps organizations get the most out of their Microsoft 365 investments.















