Sonoma Partners Microsoft CRM and Salesforce Blog

Shifting to a PowerBI World

Today's blog post was written by Keith Mescha, a Principal Architect at Sonoma Partners.

Power B-What?

There's been a bit of buzz recently in the CRM circles around Power BI and how it fits into the overall CRM landscape. There is certainly no shortage of blogs, podcasts and event demos showcasing the power of this toolset. On a personal note, I'm am seeing the same level of interest based on the meetings on my calendar over the past few weeks.

What we're finding at Sonoma is that the topic of Power BI is still very confusing for most customers. In this multi-part series we hope to help demystify some of the confusion through real-life examples and suggest some best practices based on learnings from our internal use as well as implementations with our clients.

The Basics

Power BI is Microsoft's analytics and dashboard Business Intelligence (BI) suite of tools and solutions. It's made up of a few main offerings:

  • Power BI Desktop – Free development tool for building data models and dashboards
  • Power BI Service – Online PaaS offering to host and share Power BI solutions with a monthly licensing per user subscription based model
  • Power BI Embedded – Online PaaS offering for embedding Power BI solutions into applications for external consumption with a session based subscription model
  • Power BI Mobile – Free mobile app for consumption of deployed Power BI solutions on a mobile device
  • Power BI Enterprise Gateway – On Premise software used to extend on premise data to the Power BI Service

For latest and greatest features and release notes, refer to the Power BI site.

Real-Life Example

Every company I know has data quality issues or challenges to overcome. Unfortunately, we here at Sonoma are not exempt. One of the things we constantly struggle with is incomplete data and stale data. Often times, we will create a record without knowing all of the various data points we typically want to capture. If we do not go back and fill that information in once it becomes known, we are left with an incomplete and potentially inaccurate record. The genesis of the original report request was to provide a means for the data steward team to monitor newly created records.

The original ask was for a custom SSRS report that listed out all Accounts that were missing specific data across a pre-determined list of fields. This report would then be provided to our data steward team on a regular basis to ensure the data is augmented appropriately. When one of my colleagues stopped by to chat about the report, I happened to be in the middle of building a dashboard in Power BI for a customer. He was curious what I was working on, and as we talked and he explained his need, I fired up a new instance of Power BI desktop in an attempt to solve the problem.


Get Your Data

I pulled up the 'Filtered Account' view from the 'Get Data' option in Power BI. My User Account is a System Admin and the Filtered Account view resolves all the option set and lookup fields for us, so this was a quick and easy solution. When getting data for many of the source types, you have an option to Import or Direct connect. I’ll go deeper on that topic in my next post but for this solution I chose to import.


Shape Your Data

Initially Power BI pulls in all the attributes in the table, this can be a bit overwhelming so filtering down the attributes was our next step. My colleague had a list off the fields he wanted to audit and report, so I filtered down the data set to only include those attributes.


Within 15 minutes my colleague and I had a prototype dashboard built with the fields he needed, including a couple charts to use as filters. From there we iterated on a few designs, and ultimately landed on the below look and feel. End to end this entire process took a couple hours to build, including some custom columns to allow linking to our Account Forms on Dynamics and Salesforce.


Deploy Your Solution

Once we had a solid solution built in Power BI Desktop, I created a new O365 group for internal reporting, added a few users to the group and then deployed the Power BI solution to the Power BI service.

One key thing to note here is that we had to assign Power BI licenses to these users before they could login and see our dashboard. The fact that we wanted to schedule this a couple times per day and that we were managing this through our 0365 AD bumped us from the free to the paid license. We had a handful of users requiring access and plenty of licenses available so this was a decent option for us. If you have a different need there are other options, we can consider for staying on the free option.


Manage Your Solution

From there my colleague could interact with the report by logging into


After my colleague was happy with the presentation of the data and a few more cleanup steps, I was able to setup the data refresh of the data set in Power BI. We already had a Power BI Enterprise Gateway installed on our SQL Server for another solution, so including my data set in the refresh was very simple with just a few clicks.

Now that our solution was deployed, our data stewards have logged in and subscribed to the dashboards. Every morning they get an email with a snapshot of the dashboard and a link to access the dashboard where they get direct access to the records in Dynamics or Salesforce so they can easily update those with missing data.

In summary, the Power BI platform is a great set of tools that are easy to learn. There is quite a bit of information available through various internet communities, so getting started is easy. As shown here, from idea to solution was less than one day for a very simple deliverable. The toolset can extend into much larger solutions as needed, so please give us a call and let us help you take the next step in your analytics journey within your CRM applications.

In our next Power BI post, we will discuss in more detail the step of getting your data and how to decide on Data Import Vs Direct Query.

Topics: Analytics CRM Best Practices CRM for Professional Services Microsoft Dynamics 365 Salesforce

User Experience: K.I.S.S. User Adoption Problems Goodbye

Today's blog post was written by Kevin Mech, Senior UX Architect at Sonoma Partners.

A CRM platform is a major investment, and user adoption ultimately determines its success. A user’s experience with the platform is the difference between it being viewed as a useful tool or a mandatory burden. To encourage user adoption, the user’s needs must be fulfilled in an intuitive and simplistic manner.

The K.I.S.S. principle, or Keep It Simple, Stupid, is one of the best approaches for increasing usability and creating exceptional user experiences.

To an inexperienced user, CRM platforms are the antithesis of simple. To create the ideal experience, first consider the user’s needs. A company’s business processes determine an employee’s responsibilities and objectives. Be mindful of these objectives when considering an out-of-the-box CRM solution versus a customized alternative. CRM platforms are powerful but complicated, making it difficult to keep the experience simple.

Kevin mech kiss header image

Going Native

The "native" option is a CRM platform without custom modifications. CRM platforms are designed to accommodate the majority of business processes and user needs. If these processes align well with native CRM functionality, this solution is a viable option and the most cost-effective. However, the K.I.S.S. principle is most difficult to apply in this scenario, since these systems are also inherently complex.

To alleviate this complexity, understanding the user’s objectives is imperative. Map the objectives to areas in CRM that allow the user to complete them in the quickest and most intuitive manner available. To assist in this process, Sonoma Partners offers “ride-along” sessions where the discovery team identifies user needs through observation and discussion, and recommends the most user-friendly approach.

Custom Needs, Custom Experiences

Advanced business processes require customizations to the functionality and user interfaces within CRM for an optimal user experience. Such processes often require the user to complete multiple steps or redundantly perform a task within the constraints of a native CRM platform. The user may need to view an aggregate summary across multiple records, perform a custom search, or another use case that native CRM solves with a discombobulated or non-existent interface.

Once again, identifying the needs and objectives of the user is crucial. What is the user trying to accomplish? Why? How does the user currently accomplish the objective? Understanding the motivational factors behind a user’s actions reveals which pieces of data and functionality are relevant to a user in a customized interface. Initially, this option is more costly, but that cost is recouped through increased productivity and higher user adoption.

After the business requirements and user needs are understood, a customized user interface is created. Sonoma Partner’s user experience team designs the optimal experience for users to accomplish their objectives faster and more efficiently than in a native CRM environment. These customizations range from a small widget to a full screen design and often exist within the context of the native CRM interface. When native CRM creates a poor user experience, customization is a great way to encourage user adoption.

Custom-Tailored Mobile Apps

CRM has been desktop-centric for decades, however, not all CRM use cases revolve around a stationary computer. These users require a mobile solution that allows them to access and update CRM data while out and about. For example, many outside sales representatives spend time updating CRM records long after their face-to-face visits and calls occurred. If these users were provided with a customized mobile application, they could manage their daily responsibilities immediately without wasting valuable selling time.

CRM platforms have lightweight mobile solutions, but they are holistic and are not tailored to particular use cases. A custom application specifically targets user’s needs and surfaces the perfect amount of data required to manage their objectives. Sonoma Partner’s mobility team works with these users to conceptualize and develop the ideal phone or tablet application. This solution maximizes a user’s productivity, efficiency, and overall experience, immediately justifying the initial investment.

To ensure the user’s needs are met, a Sonoma Partners user experience architect accompanies several users on “ride-alongs” to observe them in their working environments. Ride-alongs result in key insights into a user’s daily objectives, pain points, and challenges. Focusing on these insights and following the K.I.S.S. principle results in an app that provides the user the perfect amount of data and functionality to maximize a user’s experience.

Keep It Simple

Make the most of your CRM platform by keeping the experience simple. Identify the objectives of your users and consider whether a native or customized solution results in the best user experience. This ultimately drives the greatest gauge of CRM success: user adoption.

If you ever need assistance to increase user adoption of your CRM solution, we are happy to help.

New Call-to-action

Topics: CRM Best Practices