I have been blogging on KRMCRM for several years now. Since it's not even called CRM anymore, I have decided to move into the future on a new site.
Thank you to my loyal followers here! Please take a moment to check out the new site at KylieKiser.com and sign up to follow via email. All existing content has been migrated so you can still find all of your favorites there.
Please head over and share your thoughts!
KRM: Kylie's Research Management
Check out my new home at KylieKiser.com
Tuesday, June 4, 2019
Saturday, April 13, 2019
May 2019 Events
There are several great events happening in the next few weeks where you can meet #CRMUGDC the Monkey. Make sure you save the date and get registered!
CRMUGDC Q2 Chapter Meeting
CRMUGDC Q2 Chapter Meeting
- May 15, 8:30am-12:30pm
- Location: Microsoft Chevy Chase
- Speakers
- Geoff Ables: Designing Customer Engagement Processes
- Nelson Johnson: Power BI for Beginners
- Kalpana Sivanandan: Microsoft Teams Introduction
- Get all the details and register here!
- Check out more events and discussion in the Washington, DC Chapter!
If you can't make it to the May 15 DC event, keep in mind that the Reston, VA and Richmond, VA Chapters always meet the same week. We work together to coordinate speakers and plan great content. These are other great chapters to attend!
D365 Saturday Philadelphia
- May 18 starting at 8:30am
- Free full day of learning and networking!
- Amazing line up of speakers from around the world
- Find out more information and register here!
For those who will be in Philly early, you can also check out the local D365UG/CRMUG Chapter. Their Q2 meeting will be taking place on Friday before D365 Saturday. Check out the details for the May 17 meeting and get registered!
Sunday, April 7, 2019
Improve Game Night with the Power Platform: Lessons Learned
For the last several weeks I have been working on a project to encourage myself to learn more about Power BI, PowerApps and Flow. I have been procrastinating learning these tools waiting for the perfect use case to test on. However what I really needed was just time and a data set to work with.
I have been procrastinating on learning these "new" tools for far too long. So my main takeaway is that there is no excuse! There are so many resources available to learn. No one needs to be an expert right away, its just important to start trying.
When creating new entities it is always important to plan your data structure ahead of time. In this case I planned for this use case but there are probably additional questions to be answered if this was a more real-life scenario. Additionally there are probably other data points that would be helpful for this. It would be helpful to get this data at the beginning instead of trying to add later.
Power BI was really exciting! Once the data was in the Power BI Desktop it was easy to add in data tables and visualizations. Then it only took a bit longer to figure out how to make the changes I was looking for. I was very impressed with what could be done with only a few minutes of dedicated time.
PowerApps was not as easy for me. I learned the importance of reviewing the templates and different options available. I initially created a blank canvas app, got stuck and started again with the app from data. Also learned to look at all of the different settings for each element. It was easy to think I could just delete or edit something on the screen when I really just needed to edit the properties. There are so many resources for PowerApps plus a great community to help us out. So I didn't stay stuck for long. Some research and some trial and error.
I liked how I could get to the Flow editor right from the PowerApp. It was quick and painless to make the simple flow and it worked as expected.
These posts have been a long time in the making and the main thing I learned was I needed to stop procrastinating! There are no more excuses. It's time to learn these new tools and start applying them to your organization! Thanks everyone for coming with me on this journey.
How do you learn new tools? How do you find good use cases to test?
I have been procrastinating on learning these "new" tools for far too long. So my main takeaway is that there is no excuse! There are so many resources available to learn. No one needs to be an expert right away, its just important to start trying.
When creating new entities it is always important to plan your data structure ahead of time. In this case I planned for this use case but there are probably additional questions to be answered if this was a more real-life scenario. Additionally there are probably other data points that would be helpful for this. It would be helpful to get this data at the beginning instead of trying to add later.
Power BI was really exciting! Once the data was in the Power BI Desktop it was easy to add in data tables and visualizations. Then it only took a bit longer to figure out how to make the changes I was looking for. I was very impressed with what could be done with only a few minutes of dedicated time.
PowerApps was not as easy for me. I learned the importance of reviewing the templates and different options available. I initially created a blank canvas app, got stuck and started again with the app from data. Also learned to look at all of the different settings for each element. It was easy to think I could just delete or edit something on the screen when I really just needed to edit the properties. There are so many resources for PowerApps plus a great community to help us out. So I didn't stay stuck for long. Some research and some trial and error.
I liked how I could get to the Flow editor right from the PowerApp. It was quick and painless to make the simple flow and it worked as expected.
These posts have been a long time in the making and the main thing I learned was I needed to stop procrastinating! There are no more excuses. It's time to learn these new tools and start applying them to your organization! Thanks everyone for coming with me on this journey.
How do you learn new tools? How do you find good use cases to test?
Saturday, April 6, 2019
Improve Game Night with the Power Platform: Canvas PowerApp
I am working through a scenario to select and rate Board Games to help push me to learn more about the Power Platform.
At this point we
have selected a game and sat down to play. Obviously I won so I want to record
a high rating for this game. My goal is to create a PowerApp I can run from
my phone. I will search for the game to view details and then add a new rating for played games. This rating will
create a new "rating" record in D365. Then our rollup field will
automatically update the parent Board Game record.
So let's see if this
works. The PowerApp was a bit less intuitive (at least for me) than the Power BI
dashboard. So I created several different Apps and forms/screens before getting
what I wanted. The end result is not perfect but was achieving my goal of
getting in and trying it out.
You start in
web.powerapps.com and login to your org. From here you can create a Canvas App
starting from Data. I selected Dynamics 365 and my board game entity. This
automatically built a list screen where you can search the games and a detail
screen to view all the details from the game. These screens can be edited using
the options on the right hand side to add fields, remove fields, change layout,
etc.
Create Canvas App from Data |
Connect with D365 |
Setting up Data Connection |
Now, to create a new
Rating record I created a new blank form page. I added a combo box to this page
which links to the Board Game list and allows users to search and select one.
Then added a Rating scale to fill in the star rating. Then I linked the submit
check mark to a Flow. This Flow will push the data from the PowerApp form into
Dynamics 365.
List Screen |
Rating Screen Details |
Finally I created a
new button on our main page to get to this Rating page.
Details for Rating Button |
Additionally there
were a few other navigation edits to make sure canceling goes back to the right
page and such. The hard part for me was getting the right logic to send to the
Flow which submitted the data. The main issue I had with this was making sure I
had a blank form (no data source selected) and then making sure my combo box
was only allowing one item to be selected.
Logic to send Data to Flow |
Flow to push data to D365 |
I would like to
expand this by allowing someone to go to a detail form and add the rating from
there. This can be a day 2 item.
To test this, I
downloaded the PowerApps app on my phone and logged in with my trial
credentials. Then I was able to add ratings in the same way as when I was
testing on the PowerApps site. Finally, I went into Dynamics 365 and saw that
the ratings were being added and were being rolled up at the Board Game level.
Mobile View Search |
Mobile View to save rating |
Ratings being created in D365 |
Success! Now to see
if any friends want to use this at Parties.
Tomorrow we will finish this series with a look back at lessons learned and thoughts from this series. Don't miss it!
Friday, April 5, 2019
Improve Game Night with the Power Platform: Power BI
I am in the middle of working to learn the Power Platform by making a dashboard and application to help select a board game to play for game night. The data structure has been created and current game list imported.
Now we are going to
use Power BI to make a Board Game dashboard. My goal is to make a magical list
that will update based on some slicers so we can eliminate options that do not
fit the people interested in playing.
So first let's get
the data in Power BI using XrmToolBox's Power Query (M) Builder. The step by
step instructions are available here: https://crmchartguy.com/power-query-builder/
You will also need
the Power BI Desktop
app. Once you follow the steps from the video above, all of your data will be
in Power BI and you can start building visualizations. Within a few minutes of
getting the data there I could create a table and create the slicers to
dynamically filter that table!
These are simple
tasks but I am going to document them for other's just starting out like me.
To create a table,
click the table button then select all the fields you want to display in the
table. When the table is selected you can drag and drop the columns in the
values list on the right hand side to re-order.
To create a slicer,
de-select the table and then click the slicer (table with filter) button then
select the field you want to filter on.
Once these are
created you can just click and drag to move and resize for the look you want.
So in just a few
minutes I created the Power BI dashboard below. Moving the slicers will
automatically update the results in my table so I can see the games that will
fit my requirements based on time and number of people.
My First Ever Power BI Report |
You can tell it is
working because Scotland Yard was selected as a potential game. Since this is
one of the best games ever, it is a success!
Tomorrow we will create a PowerApp to see the Board Game data and enter ratings.
Still some beautification needed but progress is being made |
Thursday, April 4, 2019
Improve Game Night with the Power Platform: Data Import
As you may know, I am trying to learn more about the Power Platform by creating an application to help with board game selection in my household. We have already set up the entities. Next is the data import then we will use PowerBI and create a PowerApp.
Since all of our
fields are there we can import our data now. We already have the data in a
consistent format (remember it was an export from BoardGameGeek) so I am going to review that file and save it as a .csv. I am
going to leave extra data in the file (columns I am not importing) so that I
know I can easily import more data later. I want to ensure that if I save a
data map, I can use it again and do not need to review which columns I had
removed the last time.
- Navigate to Settings > Data Management > Imports
- Click "Import Data"
- Select your file
- Choose the "Default (Automatic Mapping)" Option
- Select the new entity you created
- Now map the data to the
fields created previously
Data Map - Click Next, Click Next
- Before submitting, enter a
name for the Data Map. This will save the mapping you just did so you can
use it on future files. This is also helpful when working in multiple
environments. You can build and test your mapping in a development
environment. Save it, export it, import the map and then import the file
into production without worrying about mapping something
differently.
Saving the Data Map - Click "Submit"
Click the
"Imports" link to monitor the import. This can also be found in
Settings > Data Management > Imports.
Import Success |
As you see I had
some errors. You can get more details on these by double clicking on the import
job and then navigating to the Failures
area. In my case, this was because the value for one of the fields (Minimum Play
Time) was outside of the allowable values. Clearly I thought games should not
take longer than a 100 minutes. I determined that these are games I didn't want
to play anyways so acceptable loss. But if you did care about your errors, then
you could export the list from this failure area. Fix the issue either in the
file or in your system and then import again.
Reviewing Import Errors |
Now your Board Game
records have been created and you are ready to start working with this data! Tune in tomorrow to see my first ever Power BI Dashboard!
Wednesday, April 3, 2019
Improve Game Night with the Power Platform: Data Structure
As you learned yesterday, I wanted to learn about PowerApps and decided to do this by improving the game night board game selection process.
As a prerequisite
for this learning experiment I exported our board game library from BoardGameGeek (to be honest, most of this
was my husband's idea and he maintains this list which he exported for me).
Then I set up a free
trial to use. If you need help getting your trail set up, check out my earlier
post: How
to Set up Your Free Trial.
Now it's time to get
started with the "easy" bits. I call these easy because these are the
pieces that I already know how to handle. There are a few things we need to
create.
- New "Board Game" entity with fields to hold:
- Name of the game
- Minimum play time
- Maximum play time
- Average Play time
- Minimum number of players
- Maximum number of players
- Year Published
- Type (Standalone or expansion)
- New "Rating" entity with an N:1 link to the "Board Game" entity. This will capture the date (created on) and an integer score. An argument could be made for this to be a custom Activity type but in this case I think that would be a bit of overkill
- New Rollup fields on the "Board Game" entity to get us the average score for the game
Let's start with a
solution to keep things classy. I also created a publisher so I didn't have
new_ in my screenshots.
Publisher Details |
Solution Creation |
The solution is
created from settings > Solutions > New. Then I created the publisher by
using the New option from the lookup field. You can also create your Publishers
from Settings > Customizations > Publishers. For more information on Solutions,
check out this CRMUG Webinar: Solution
Management, Your Customization's on the Move.
Alright, let's
create the new Entity. In the solution, click New > Entity. I entered the
details as shown below, saved and published.
Board Game Entity Set Up |
I set the ownership
to Organization because all games will be visible to all users with access to
that entity. I made it visible in the sales area and turned off the
Communication and Collaboration features. We may decide to use Notes in the
future but this can be enabled at a later time.
Now for the new
fields. Creating fields can be tedious. There are a few options to speed this
up. We could do the import and create new fields on the way in. This is
generally not recommended as it is very easy to make a mistake. You can also create the fields via XrmToolBox.
In most case, I
would recommend you create the fields manually. Since these fields are simple
and this blog is just for learning and experimentation, that is why I chose to
go the exciting route.
So I launched
XrmToolBox, connected to my trial and navigated to the Attribute Editor (you
may have to download from the plugin store). If you are not familiar with
XrmToolBox, check out: Getting
Started with XrmToolBox.
In the Attribute
editor:
- Click "Refresh Entities". This will load all the entities from the trial including the new one we just created.
- Select the "Board
Game" entity and click "Download Template"
Download Template from Attribute Editor - This creates an Excel file
with the details of all the existing fields. I filled in the details for
my new fields. I did not include the details for the Option Set as that
seemed likely for disaster.
Add new fields in the downloaded file - Save the updated file
- Back in XrmToolBox, navigate
to the file click the "Upload Template" button. This will show
you the details of the new fields from the file
Re-import the field details - Click Save and Publish to push these changes to your D365 environment (or if you are like me: get an error, see your silly mistake, fix it and retake screenshots so it seems like you did it right the first time)
Now back in D365, I
see all my new fields and just need to create the final Option Set.
Create Option Set |
Ok almost there.
Let's create one more entity in the solution.
Create Rating Entity |
Then we can create
the few fields manually.
Lookup to Board Game Entity |
Score Field |
Now for the fun
stuff! We want a rollup field to give us the average score for this game. So
back in the "Board Game" entity, I created a new "Average
Rating" Rollup field. This will rollup any related "Ratings" to
the "Board Game" as an Average. Later we can decide if we need
additional rollup or calculated fields for other uses.
Rollup of Scores from related records |
Rollup Details |
Finally, I updated
the main forms for both entities to contain the new fields I created.
If I was doing this
in a real environment, there would be several other things I would do as icing
on the cake. First of all, create a workflow to populate the Name field on the
"Rating" records. I am always irritated to find an entity where the
name field is blank. Then there is nothing visible when doing a lookup, default
Advanced Find views contain no data, etc. So The workflow would just set this
field to the created on date appended with the name of the game it is linked
to. Secondly, I would update the icons of these entities to make them look
pretty.
Now that the entities are created, we can proceed with importing the data tomorrow!
Subscribe to:
Posts (Atom)