Introduction to Microsoft Dataverse in Power Apps | Build Tables & Relationships | Beginners Guide

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone reza here this video is an introduction to microsoft dataverse we will explore what's on the box in dataverse its relational database capabilities rich data types we will build tables relationships and we will interconnect all of these in a canvas power app so let's check it out in action [Music] let's first talk about the most important thing which is our data the entire power platform suite of services is centered around our data with power apps we can act on our data with power bi we can analyze our data with power automate we can create workflow automations around our data and with power virtual agents we can create chatbots that can interact with our data and this data in terms of the power platform comes in two forms external data through the data connectors why leverage the data connectors two main reasons one it's easy there are connectors available that allow us to directly connect to our data source example sharepoint sql and second it's the home for our data we've already made those investments in those specific data sources so why not directly connect to that data and leverage it to build apps flows bots and dashboards this data can also be internal to the power platform and the internal data service that the power platform provides is known as microsoft dataverse why dataverse it's smart it scales and it's secure dataverse easily structures a variety of data and business logic to support interconnected applications all keeping security and compliance in mind is how the power platform office and the dynamic suite of products all integrate with a single system of record for your business data we can store data in tables inside of microsoft dataverse with rich metadata we can build apps workflows bots dashboards all against the data that is stored in dataverse we can add business rules validation logic and define role-based security so what's in the box for microsoft dataverse it is not just a data source it is more of a data service from a security standpoint users are authenticated by azure ad it supports authorization down to the row and field level and provides rich auditing capabilities from a logic standpoint we can create calculations and roll up fields on our data can define business rules run workflows and more from a data standpoint we can add data validation multi-language multi-currency we can leverage the common data model that comes with a host of standard tables that we can leverage right out of the box from a storage standpoint dataverse stores all your physical data in the azure cloud this cloud storage removes the burden of worrying about where your data lives or how it scales dataverse provides an abstraction that makes it possible to work with any type of data specifically talking about relational databases you can easily create your data model build your tables relate the tables together store files images with rich relevance search capabilities and from an integration standpoint we have application lifecycle management every environment can have a dataverse database set up that can be packaged in solutions and moved across environments you can connect it to azure synapse for which analytics can export data we can bring in data using data flows leverage azure devops github and a lot more now let's focus on the different types of applications we can build by leveraging connectors or dataverse canvas apps we can build both with connectors and dataverse model driven apps and powerapps portals are designed on top of microsoft dataverse powerautomate works with both ai builder stores all the information about those ar models and more in dataverse power bi and power virtual agents can connect to both of those options dataverse is also offered for free for microsoft teams licensed users a subset of the capabilities of the full dataverse feature set is provided creates a built-in low code data platform for microsoft teams and has all the powerful capabilities of relational data rich data types and more so let's explore how to create tables columns relationships and then interconnect these inside a power app i've taken a simple scenario project tracking and as per the data model i will have four tables projects clients project tasks and users projects and project tasks will be custom tables that we will create from scratch for storing the client or customer information i will leverage the standard table accounts and for associating team members to a project i will leverage the users table now let's focus on the different types of relationships that are in play here specifically focusing on the projects table a project can have multiple tasks so the project table is related to the project tasks table in a one is to many relationships projects can be related to a single client so projects is related to my accounts or clients table in a many is to one relationship a project can have many team members a team member can be a part of many projects so projects and users have a many-to-many relationship once we have this data model defined we can then create a power app that can connect to all of these tables and leverage the power of dataverse and relational data to create a project tracking scenario on this screen i have all my projects listed out i can see the details the columns that are related to my project every project is related to a single client here is the list of clients that i can select from a project can have multiple tasks here are all the tasks that are related to this project and a project can have multiple team members here are all my team members that are related to this project let's try and create a new project i'll give my project a name provide the cost pick a start date pick an end date i can upload an image this project is related to a client i'll go ahead and pick my client and click submit and this will add the project information to my projects table for this project i can define who my team members are i've picked my users i'll click add and all of these project team members are now related or connected with this project and i can quickly start adding tasks related to this project assign the task to a user submit and i have this task related to my new project that i created i can create multiple tasks for project now since all of these tables are related to one another with different relationship types we can even have different screens presenting different viewpoints of the same data model in this screen the focus is on the project and all the information related to it but if i was to swap over to my client screen here i have a list of all the clients in my table for each of these clients i can see all the projects a client can have multiple projects i can even reassociate projects on the fly to a specific client so let's say project b and project a so i click add and it changes the relationship on the fly i can also view the data from a project member perspective project members or users are related to projects in a many-to-many relationship reza is currently associated with four different projects and these are all the tasks that are assigned to reza across all of these different projects james james currently is associated with a single project but now i want to assign james to other projects so i can simply open up my projects list and start assigning the different projects to james and if i go back to my projects view if i look at any of those projects we can see james listed out as a team member so let's go ahead and try to build this from scratch in make powerapps i will head over to dataverse and pick tables now this will list out all the tables tables that have the type standard come from the common data model these are the standard set of tables that come out of the box that we can leverage and quickly get started with one of the tables is called account i will be leveraging this table to store my client information i have five sample accounts that i have created to create a new account i can click on add record i've already created five so i'll show you one of these all i've done here is plugged in the account name and created a contact related to that specific account to define my project team members i will leverage another standard table which is called user create a table i'll click on new table give my table a name i'll call this project click create i will add a few columns on this table i'll add the cost of the project under data type we can see the list of the rich metadata experience that dataverse provides text emails whole numbers dates choices currency files and a lot more for the cost i will pick currency and click done we can see how many additional columns those are the standard columns that come along with the table get created if i would like to view the custom columns the ones that i have created in this table can change the view here to custom i have the default column that got created which was name and i added a column called cost i'll add a couple more columns start date and end it for each project i would like to use an image type column to define the cover image for a project the data type for that would be image i would like to relate my projects table with my accounts table that has all my client information to relate two tables in a many is to one relationship can straight away go and add a column i will call this my client column and the data type here i will pick as lookup here i can pick my related table my related table is the account table i'll click done i have added these columns i have not yet saved my table so i'll click on save table if we head over to relationships we have a relationship here with the account table the lookup column that we created has created this relationship which is a many to one relationship with the accounts table with the relationship selected if i go to account we have that same relationship but this time the account table is related to the projects table in a one-to-many relationship we will create another table called task i'll add a column i'd like to define the priority for my task the user should get a choice of options to choose from so i'll pick the choice and for the choice i will create a new choice this i will call as priority choices i can define my list of priorities for the task click save and click done i'll add another column called task status once again of type choice create a new choice set task status choices can define my choices here click save click done a task will be assigned to a user so i'll add a column called assign to and here i will look up to my user table i'll click save my project task should be related to a project so i will add another column here call it project and look up project table for project task under relationships here is my project table relationship created by that lookup column and if i go to the project table here is the relationship to the project task table we could have also added those relationships by going to add relationship and selecting a relationship type for the relationship between project and project team members which is many to many i will pick many to many and here i will relate my project table with my user table and click done all the magic of connecting these tables together creating the primary key foreign key handling all that information is automatically done for us in microsoft dataverse next step is for us to create our app i will create a blank app pick the canvas app experience pick the tablet form factor i will give my app a name and create we will start with connecting to our projects table under data can go to add data it will list out all the tables that are available in the current environment the environment in which i'm building this app so i can straight away go and search for my project table and connect to the projects table in this app to list out all my projects i will head over to insert gallery pick the vertical gallery and straight out connected to my projects table my projects table is currently empty so i will not see any data to begin with to create projects in my projects table i will insert an edit form control experience i will connect it to my projects table head over to edit fields and select the fields that i would like to showcase on the form i will bring in the cost the image the client which is my lookup column start date and end it i'll click add that sets up my form to allow the user to create a new project i will insert the plus icon on select of this icon i will set the mode of my form control to new form and the name of my control and to allow the user to submit the data that they've entered in this form i will add a check icon on select of which i will submit the data in this form if i preview this app and click on plus i can add a new project let's enter some data project a i can relate it to a client here is my relationship and action my lookup column so it is listing out all the data from my accounts table i'll pick my client pick a start date for the project and end it define the cost pick a cover image and submit the data and we can see the record now showcasing in the projects gallery make some adjustments here i have the name of my project i can show additional column information for example the cost i can add additional labels in the gallery and show more information related to a project this item dot my lookup column which was client dot this will list out all the columns from my accounts table account name that has the name of the client so i'll pick that the form control i will connect this to the gallery to showcase the selected item of the gallery by setting the item property to gallery projects got selected now if i preview the app i can see the selected item which is my project in the project's details section so i can make changes to this maybe i update the cost of the project and once again submit we can see that change in action i can go ahead and add additional projects by clicking on the plus icon so i have a second project now listed here and to highlight which item i have selected in the gallery for the template fill property of the gallery if this item dot is selected in that case i will give it a different background color else i will use the white background we can see the selected item now being reflected in the form in powerapps there are multiple ways in which we can submit our data to our data source one experience is the form control the other experience is the patch function i will provide the user with a drop down list of the clients that they can select so i'll insert a drop down control for the drop down items property i can straightaway leverage accounts and the value that i would like to list out here is the account name here is the list of all the account names to show the account based on the project selected for the default property of this drop-down i will use my gallery of projects dot selected dot my lookup column which is client dot since i have the account names listed here i will pick account name we can see the default value in this drop down is changing based on the project being selected it's a drop down so the user can make a change to submit that information i will add a button on select of this i will use the patch function to patch my projects table we are dealing with the selected item in the projects gallery and the column that we want to update is my lookup column which is client and this we are going to update with my drop down control dot selected if i preview the app project b is associated with client rd tech let's change this to jacobsen limited i update and on the fly we can see the relationship has been updated and it's being reflected both in the gallery as well as on the form experience a project is related to project tasks in a one is to many relationship for folks who come from the model driven world we have the option there of leveraging a subgrid experience we don't have any such experience in a canvas app so what we would have to do is we would have to list out all the project tasks that are related to this project in a gallery control and then also provide the ability to the user to add or update project task information and for that i will leverage a form control i leverage a gallery control i want to only show the project tasks that are related to the selected project and for that items property my projects gallery dot selected dot project tasks there are no tasks currently in my table to allow the user to create tasks i will insert an edit form control connect this to my project tasks table assigned to priority which project will it be related to task status click add in this form the project is a lookup column one option is the user picks the project but i already have that selection made so i can actually default the selected project and to do that for this project data card i will unlock this card head over to its default property and change this to gallery projects dot selected so it will associate this with the selected item of my gallery and since its value is being preset i can simply go ahead and set the visibility of this data card to false to create a new task i will insert the plus icon on select of this new form the name of my form control which is form task and then to submit this information i will include the check icon on select of this i will submit the data in my task form so let's try this out for project a i will add a task give my task a name pick the user who i want to assign it to this will come from my users table i'll assign this task to james pick my priority pick the task status submit and now i have this task related to my project which is project a once again for this gallery control i'm free to add additional pieces of metadata show the priority of the task the status of the task and then who this task is assigned to so assign to relates to my users table and from there i'll pick the first name of that user and to connect the gallery tasks to my form control the item property for that form control i will use gallery of tasks dot selected so now i can make changes i'll assign the stars to alice and i'll change the status of this task to open i can add additional tasks and submit both of these tasks are related to project a if i go to project b i do not have any task created yet once i create the task and submit we can see the new task now show up for project tasks related to project b to list out a many is to many relationship scenario which is a project can have many team members and a team member can be a part of many projects i will insert a gallery change the layout to get my project team members related to a project gallery of projects dot selected dot my table which is users i would like to add project team members i will create a combo box control this needs to list out all my users so i can simply connect this to my users table we can see all my list of users i've added a button called add when the user clicks on this button i would like to associate the selected user to this project now this is a many-to-many relationship for this scenario i will leverage a function called relate i need the context of my related table and for that i will use my projects gallery dot selected dot users and what's the record that i want to relate that will be the selected item of this combo box control my combo box control dot selected now if i preview my app for project a i'll pick razer click add reza is now added as a team member and associated with this project to add more users i can select my user and click add now this is a combo box control to relate multiple users at once i will change this formula as follows i will use for all of my combo box control dot selected items go ahead and relate my gallery of projects dot selected dot users and relate this record let's try it out for project b i'm relating sarah and reza in one go i click add both of those users now are related i would like to remove a specific user from a particular project for my gallery control i will insert the delete icon and on select of this we have an unrelated function projects gallery dot selected dot users and my record itself since this is a gallery i will pick this item if i would like to remove sarah from project b i click on this icon and sara is now unrelated from this project if i would like to assign alice and james to this project i select them click add they are now related so you can see how quickly i can add and update relationships on the fly and since we are on the canvas app experience we have full control over the ui and ux here i've added some additional things like i've brought in the profile image of the user from ad for my tasks based on the priority i've gone ahead and added some visual indicators same goes for status and who the task is assigned to for the screen that lists out the client's view my gallery is connected to accounts to showcase the projects that are related to the accounts all i had to do was my clientsgallery.selected.projects the relationship is doing all the magic for me and then to associate projects to a specific client i have my combo box that's connected to my projects table so it lists out all the projects and when i click add i'm leveraging that same concept for all selected projects in my combo box control go ahead and relate it to my gallery clients.selected.projects this record a and b the projects are related to the client techno let's change it to rd tech selected projects a and b add the relationship changes on the fly here are the projects if i now go to techno they won't show up because the relationship has changed and to look at the project members view i have my list of users coming from the users table the projects is coming directly from the relationship and once again i've leveraged that same concept here of relating the selected projects to the selected team members project's relationship and to showcase all the tasks that are related to this user leverage the relationship of the team user with project tasks if you enjoyed this video then do like comment and subscribe to my youtube channel and thank you so much for watching
Info
Channel: Reza Dorrani
Views: 96,027
Rating: undefined out of 5
Keywords: microsoft dataverse introduction, microsoft dataverse in powerapps, dataverse power apps, power apps, powerapps, dataverse, reza dorrani, what is dataverse, common data service, microsoft dataverse, microsoft dataverse tutorial, what is microsoft dataverse, dataverse power platform, how to use dataverse, intro to dataverse, dataverse tutorial, dataverse for beginners, microsoft dataverse overview, powerapps dataverse tutorial, power apps and dataverse, relational database
Id: byUuEoDQjiU
Channel Id: undefined
Length: 30min 13sec (1813 seconds)
Published: Mon May 02 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.