Power Apps Part 3 – Dataverse

Dataverse lets you securely store and manage data that’s used by business applications. Data within Dataverse is stored within a set of tables. A table is a set of rows (formerly referred to as records) and columns (formerly referred to as fields/attributes). Each column in the table is designed to store a certain type of data, for example, name, age, salary, and so on. Dataverse includes a base set of standard tables that cover typical scenarios, but you can also create custom tables specific to your organization and populate them with data by using Power Query. App makers can then use Power Apps to build rich applications that use this data.

Microsoft Power Platform

Why use Dataverse?

Standard and custom tables within Dataverse provide a secure and cloud-based storage option for your data. Tables let you create a business-focused definition of your organization’s data for use within apps. If you’re not sure whether tables are your best option, consider these benefits:

  • Easy to manage – Both the metadata and data are stored in the cloud. You don’t need to worry about the details of how they’re stored.
  • Easy to secure – Data is securely stored so that users can see it only if you grant them access. Role-based security allows you to control access to tables for different users within your organization.
  • Access your Dynamics 365 Data – Data from your Dynamics 365 applications is also stored within Dataverse, allowing you to quickly build apps that use your Dynamics 365 data and extend your apps with Power Apps.
  • Rich metadata – Data types and relationships are used directly within Power Apps.
  • Logic and validation – Define calculated columns, business rules, workflows, and business process flows to ensure data quality and drive business processes.
  • Productivity tools – Tables are available within the add-ins for Microsoft Excel to increase productivity and ensure data accessibility.

Terminology updates

Responding to customer feedback and data from user research, effective November 2020 we’re updating some terminology in Dataverse to be more intuitive and make its usage more productive. The terminology updates are listed below, and we’re in the process of rolling them out across Microsoft Power Platform.

 

Dynamics 365 and Dataverse

Dynamics 365 applications—such as Dynamics 365 Sales, Dynamics 365 Customer Service, or Dynamics 365 Talent—also use Dataverse to store and secure the data they use. This enables you to build apps by using Power Apps and Dataverse directly against your core business data, which is already used within Dynamics 365, without the need for integration.

  • Build apps against your Dynamics 365 data – Build apps quickly against your business data within Power Apps or by using the extensible platform that lets pro developers programmatically interact with data and metadata, apply business logic, create custom connectors, and integrate with external data.
  • Manage reusable business logic and rules – Business rules and logic already defined in your Dataverse tables are applied to apps created with Power Apps to ensure data consistency, regardless of how your users access the data or which app they use.
  • Reusable skills across Dynamics 365 and Power Apps – Users who are skilled in Power Apps or Dynamics 365 can now take advantage of those skills across the Dataverse platform. Creating tables, forms, and charts are now common tasks you perform across your applications.

Integrating data into Dataverse

Building an app typically involves data from more than one source. Although this can sometimes be done at the application level, there are cases where integrating this data into a common store allows for an easier app-building experience and a single set of logic to maintain and operate over the data. Dataverse allows data to be integrated from multiple sources into a single store, which can then be used in Power Apps, Power Automate, and Power BI along with data that’s already available from the Dynamics 365 applications.

  • Scheduled integration with other systems – Data that’s kept within another application can be regularly synchronized with Dataverse to allow you to take advantage of data from other applications in Power Apps.
  • Transform and import data using Power Query – Transforming data when importing into Dataverse can be done through Power Query—a tool commonly used across Excel and Power BI—from many online data sources.
  • One-time import of data – Simple import and export of Excel and CSV files can be used for a one-time (or infrequent) import of data into Dataverse.

Logic and validation

Tables within Dataverse can take advantage of rich server-side logic and validation to ensure data quality and reduce repetitive code in each app that creates and uses data within a table.

  • Business rules validate data across multiple columns and tables, and provide warning and error messages, regardless of the app used to create the data. More information: Create a business rule
  • Business process flows guide users to ensure they enter data consistently and follow the same steps every time. Business process flows are currently only supported for model-driven apps. More information: Business process flows overview
  • Workflows allow you to automate business processes without user interaction. More information: Workflows overview
  • Business logic with code supports advanced developer scenarios to extend the application directly through code. More information: Apply business logic with code

Create a canvas app from scratch using Microsoft Dataverse

Open a blank app

To create an app from scratch that uses data from Dataverse, the first step is to create a blank app. For this exercise, when you create the blank app, ensure you choose Phone format.

Specify a table

  1. In the middle of the screen, select connect to data.
  2. In the app authoring menu, select Data. If this is your first time, you’re prompted to create a connection to Dataverse. Select Create this connection.
  3. Select Add data and in the search box enter, Accounts > Connect.
  4. Close the Data pane by selecting the close icon in the upper-right corner.

Add a list screen

  1. On the command bar, select New screen > Templates tab > List.
  2. In the left navigation bar, select BrowseGallery1, and then set the value of the Items property to this formula:
    SortByColumns(Search(Accounts, TextSearchBox1.Text, “name”), “name”, If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))
    This formula specifies that:
    ・The gallery should show data from the Accounts table.
    ・The data should be sorted in ascending order until a user selects the sort button to toggle the sort order.
    ・If a user types or pastes one or more characters into the search bar (TextSearchBox1), the list will show only those accounts for which the name field contains the characters that the user specified.
    You can use these and many other functions to specify how your app appears and behaves.

3. Set the gallery’s layout to show only the name of each account, and configure the title bar to show the word Browse, as Customize a gallery describes.

4. In the left app authoring pane, hover over Screen1, select the ellipsis icon (…), and then select Delete.

5. In the left app authoring pane, hover over Screen2, select the ellipsis icon (…), and then select Rename.

6. Type or paste BrowseScreen, and then rename the gallery in that screen as BrowseGallery.

Add a form screen

  1. Repeat the first step of the previous procedure, except add a Form screen instead of a List screen.
  2. Set the form’s DataSource property to Accounts and its Item property to BrowseGallery.Selected, as the Advanced tab of the right-hand pane shows.
  3. On the Properties tab of the right-hand pane, select Edit Fields to open the Fields pane.
  4. Select Add field, and then select the check boxes for these fields:

           ・Address 1: Street 1
           ・Address 1: City
           ・Address 1: ZIP/Postal code
           ・Number of Employees
           ・Annual Revenue
           ・Account Name

  5.  Note
    Outside of this scenario, you can create a custom field by selecting New field, providing the required information, and then selecting Done. More information: Create a column.

6. Select Add.

7.Set the title bar’s Text property to show Create/Edit.
The screen reflects your changes.

8. Rename this screen FormScreen.

Configure icons

Test the app

On the actions menu, select  Preview the app. More information: Preview an app

Toggle the list between ascending and descending sort orders, and filter the list by one or more characters in the account name.

Add an account, edit the account that you added, start to update the account but cancel your changes, and then delete the account.

 

Comparison of GPT-4 and GPT-4-Turbo: What Sets Them Apart?

Artificial intelligence is advancing rapidly, with powerful language models that can tackle a wide range of complex problems. Among these, OpenAI leads with models like GPT-4 and its optimized version, GPT-4-turbo (also known as GPT-4-turbo, GPT-4.5, or GPT-4-optimized). These two versions differ significantly in terms of performance, architecture, and application. This article will provide a detailed comparison to help you understand the key distinctions between them.

1. Structure and Purpose

GPT-4 is the standard version of the GPT-4 series, renowned for its exceptional natural language processing capabilities and accurate, logical responses in diverse situations. It is designed for high performance in complex tasks requiring precision and handling large data volumes. This version is ideal for businesses that need sophisticated AI solutions.

GPT-4-turbo is an optimized variant of GPT-4, aimed at reducing costs and improving processing speed while maintaining a reasonable level of accuracy. It employs optimization techniques to reduce model size and processing resources, making it ideal for large-scale applications or scenarios that demand quick responses without compromising GPT-4’s intelligence. GPT-4-turbo is particularly optimized to save costs and maximize efficiency, meeting the demands of high-speed processing systems.

2. Performance and Accuracy

Performance

GPT-4 is highly accurate and consistent but often takes longer to generate responses, particularly when dealing with complex questions that require in-depth knowledge. This latency in response is due to its focus on accuracy and logic, which can be beneficial in scenarios demanding meticulousness and reliability.

In contrast, GPT-4-turbo is optimized to respond more quickly by reducing model size and employing resources more efficiently. This enables turbo to provide faster responses to common queries, though sometimes at a slight sacrifice in accuracy for highly complex tasks. GPT-4-turbo prioritizes response speed, making it suitable for real-time systems or applications with high-speed requirements.

Accuracy

GPT-4 is known for its high accuracy and consistency, especially in fields requiring complex knowledge or academic content. This model excels in handling intricate natural language tasks with strong reasoning capabilities. Responses from GPT-4 are typically detailed and complete, ideal for applications where high accuracy is essential.

On the other hand, GPT-4-turbo, though quick, may slightly reduce accuracy in specific scenarios. It is optimized to maintain a basic level of accuracy for most day-to-day tasks but may not reach the same level of detail as GPT-4 for special cases, such as handling academic texts or specialized research.

3. Operating Cost

GPT-4 requires significant resources, resulting in higher usage costs, making it suitable for large enterprises with the budget and need for high-quality AI. This model demands substantial computational resources to maintain accuracy and consistency, making GPT-4 the top choice for companies needing reliable outcomes for critical business decisions.

GPT-4-turbo has significantly lower costs due to optimized structure and processing. This is an excellent option for startups or organizations with limited budgets that still require a powerful AI model. GPT-4-turbo can maintain high performance at a lower cost by conserving resources, allowing businesses to scale without excessive expense.

4. Practical Applications

GPT-4

GPT-4 is widely used in fields that require high accuracy, such as healthcare, finance, and law. Its capability to analyze complex data, provide detailed answers, and support smart decision-making is invaluable. For instance, in healthcare, GPT-4 can assist doctors in analyzing symptoms and offering diagnostic possibilities accurately. In finance, GPT-4 supports market data analysis and trend predictions with high reliability.

GPT-4-turbo

GPT-4-turbo is popular in customer service systems, mobile applications, real-time chatbots, and other online services. Its quick response time and low cost make turbo ideal for high-frequency applications demanding fast response rates, such as e-commerce sites, booking apps, and online service platforms. With superior processing speed, GPT-4-turbo ensures smooth and uninterrupted user experiences.

5. Sustainability and Security

Both versions meet high security standards, but GPT-4-turbo is optimized for high concurrency without compromising stability. This model is particularly well-suited for large-scale applications due to its ability to handle multiple requests simultaneously without significantly impacting reliability.

6. Final Choice: GPT-4 or GPT-4-Turbo?

Depending on goals and budget, users can choose between these versions based on the following factors:

  • If you need high accuracy and handling of complex or specialized requirements, GPT-4 is the optimal choice.
  • If you need a cost-effective, fast, and scalable solution, GPT-4-turbo is the practical choice.

Conclusion

Both GPT-4 and GPT-4-turbo are powerful AI models with outstanding natural language processing abilities, but they are designed for different purposes. GPT-4 suits tasks requiring high accuracy and deep analysis, while GPT-4-turbo focuses on efficiency, speed, and cost savings. Users can select the model that best fits their specific needs, ensuring that AI will perform optimally in each case and provide real value.