Giter Club home page Giter Club logo

power-bi-embedded-contoso-sales-demo's Introduction

Contoso Sales Demo is an application based on Power BI embedded analytics, demonstrating a sales management portal. The application empowers salespeople and sales managers to make business decisions based on data. Salespeople can monitor and track sales, leads, opportunities and accounts, and manage their calendars. Sales managers can view a summary of the salesforce performance, including sales history and individual accounts. The application also enables managers to provide salespeople with data driven insights, assisting them with their decision making.

Follow the steps below to get a first hand experience of the demo:

  1. Open the Contoso Sales Demo application.
  2. Select Salesperson.
  3. Select Enter in demo mode.

This will log you in as an anonymous user in the role of a salesperson, allowing you to use the app in read-only mode.

Embedded analytics features

This section lists the embedded analytics features demonstrated by the Contoso Sales Demo application.

UI features

Users can do the following in the application’s user interface:

  • Show/hide visuals.

  • Change the layout of report visuals.

  • Enable or disable Q&A support in the report.

  • Apply custom themes to the embedded report, during runtime.

Functionality

Contoso Sales Demo functionalities based on embedded analytics:

  • Exporting reports to PDF, PPT and PNG formats.

  • Showing edit options in the visual context menu.

  • Binding custom actions to button clicks.

  • Editing (insert/update) data in a table using writeback operations. In the Contoso Sales Demo application you can add data to a database directly from the UI.

  • Service principal based authentication. This authentication method is recommended for accessing Power BI and Microsoft Dataverse REST APIs.

Integration

Contoso Sales Demo integration with other Microsoft databases and libraries:

  • Microsoft Dataverse. The application’s integration can be extended to other databases.

  • MSAL.NET used for service principal authentication.

Prerequisites

Cloud resources

Azure Power BI Microsoft Dataverse
App Service for hosting the application

Key Vault for storing certificates/secrets

Azure AD app for creating a service principal object

Application Insights for telemetry
Power BI service license for hosting reports

Power BI Embedded capacity for embedding report
Dynamics 365 license for using Microsoft Dataverse as a data source

Microsoft Dataverse Database

This application is integrated with a Microsoft Dataverse database. Follow the steps below to setup your own Microsoft Dataverse database:

  1. Setup a Microsoft Dataverse environment
    Note: Ensure TDS endpoint is enabled for the environment. It allows to connect to CDS using DQ in a Power BI report
    Note: Set the prefix for the CDS Default Publisher to "crcb2"
  2. Import the Microsoft Dataverse schema
    Note: Insert data as required

Power BI report

  1. The report ContosoSalesDemo.pbix can be used as a reference for development.
    Note: This report is connected to a cached datasource using import mode.
    Note: As this report is not connected to a Microsoft Dataverse database using Direct Query, it will not support writeback functionality.

  2. The Power BI template ContosoSalesDemo.pbit can be used as a reference for development.
    Note: When you open this file, you would be prompted for Server and Database information. Please enter the corresponding details for your own D365 environment created in the previous step.
    Note: This report uses "June Smith" as the salesperson in the definition of the Roles "Anonymous" and "Salesperson". Update the definition of these roles with the user who has the writeback permissions (i.e. corresponding to the Service Principal you are using for writeback).

Architecture

Architecture

Software Dependencies

Client-side Server-side
React
TypeScript
.NET 5

SDK/ API references

Power BI Microsoft Dataverse
Power BI SDK Create table
Update table

Browser support

  • Microsoft Edge

  • Google Chrome

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request (PR), a CLA-bot will automatically determine whether you need to provide a CLA and tag the PR appropriately (using functions such as label or comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact [email protected] with any additional questions or comments.

License

This project is licensed under the MIT license, see LICENSE.

power-bi-embedded-contoso-sales-demo's People

Contributors

ali-hamud avatar anant-k-singh avatar ankitk20 avatar maqashish avatar mayur007b avatar microsoft-github-operations[bot] avatar microsoftopensource avatar parth-007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

power-bi-embedded-contoso-sales-demo's Issues

All report pages scroll unnecessarily

A bit of feedback for usability and readability. Right now, all of the report pages of this application scroll unnecessarily. The visuals take up an absolutely enormous amount of screen real estate yet we still have to scroll the page to see additional visuals. The Opportunities page is particularly bad in this regard. I'd recommend updating things so that you don't need that additional interaction and the user just sees everything on a single screen. It'll make for a better demo experience.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.