Missing Fields on Power BI from MS Dynamics CRM Data - dynamics-crm

With Power BI Desktop, several fields are missing when I connect via Dynamics CRM Online, in various entities. For example, LeadSet is missing Status and Status Reason. Why?
I need to create a report for my organization that shows leads by their status and status reasons but these aren't showing.
I'm connecting through this link "https://myorganization.crmXX.dynamics.com/xrmservices/2011/organizationdata.svc"
Trying to search online for answers around this isn't bringing back much - hoping someone on here can help.

Related

Microsoft Dynamics CRM Unique Nonclustered Indexes

I've inherited a Dynamics CRM system at work, running: Version 1612 (8.2.2.112) (DB 8.2.2.112) on-premises.
We're in a situation where duplication seems to be happening intermittently via failed form submissions, with a subsequent re-submission. We've internally released a document explaining this behaviour and expressed how important it is to check first if some or all of the transaction actually succeeded. But humans will be humans, and often forget...
With that said, as a DBA, my first instinct was to create a unique constraint/index. However, it's not clear to me how to best accomplish this in the scope of Dynamics. I'm not confident in the application-level Duplication Detection that's available built-in, and Alternate Keys don't work for us since many of our unique constraints require the inclusion of a DATE field or two.
From what I can tell, adding indexes to the CRM base tables is a supported DML action, but indicates that it prevents upgrades. Does this mean that we can't upgrade in the future? Or simply that the indexes will not be migrated during the upgrade?
Are there better solutions that I'm missing, which offer database-level consistency and don't impede upgrades?
With on-premise CRM you can add indexes, and it does not specify that this does not extend to clustered indexes. I very strongly recommend indexing CRM databases for performance. Per the developers guide:
For Microsoft Dynamics 365 on-premises deployments, adding indexes is
supported per the guidelines in the Deploying and administering
Microsoft Dynamics CRM documentation. This applies to all Microsoft
Dynamics 365 databases and the Microsoft Dynamics 365 for Outlook
local database.
(I don't actually see anything related to indexes in the documentation mentioned above)
I am not sure which documentation you are referencing regarding upgrades not supporting these indexes, I have never experienced any difficulty upgrading CRM orgs with databases I indexed. However, there are apparently issues with upgrading to v9 related to full text indexes:
https://community.dynamics.com/crm/f/117/t/242951
Also if you ever move to CRM online, this entire approach will no longer work.
The approach which IS supported with all CRM environments is to write a synchronous pre-operation plugin which checks your uniqueness condition, and throws an InvalidPluginExecutionException. This exception can include a user friendly message which the user will receive in the standard error pop up window when they try to create a duplicate. This is guaranteed to be nicer experience than whatever happens when the application violates an index constraint.
I enforce contact email address uniqueness using this method and it works very nicely. I have a duplicate detection rule set up, and if the user ignores the duplicate warning and creates the contact anyway, they receive a message that duplicate email addresses are not allowed.

Utilizing Workflow to Automatically Resolve a Case in Microsoft CRM (No User Input)

I have a logic question regarding the capabilities of automatically resolving Microsoft Dynamics 365 CRM (or similar platforms) cases. I utilize an Access database to create emails to send to customers with specific data, while copying my team email to keep track of communications in Microsoft CRM. This action creates a new case in my CRM, which I then need to "Work On" case, add my specific operational catalogs and affected contacts, then finish case as Resolved just to ensure tracking in the CRM system.
My team is currently testing out the capabilities of XML coding in the email which allows the CRM to automatically capture the case specifics described above, however they still need to go in and resolve each case at the end of the day.
After some research, I see that a workflow may be able to do this job of automatically Resolving cases. Is this a possible function for a workflow or plugin to do? Alternatively I have been told by my IT department that we need to have a robot built to complete this task, but I would like to keep this as efficient (and cost savvy) as possible. Any input or suggestions are greatly valued and appreciated.
Thank you!
There are two ways you can solve your problem.
If you want to close all the "CASES" by the day end you can schedule
a "System Workflow" that will execute daily at a specific time and
"Close/Resolve" all the open CASES in your system. Please find below
link on how to setup a "Schedule Workflow" in Dynamics CRM Create
Recursive or Scheduled Workflows in CRM
You can resolve specific cases on Dynamics CRM using C#. Please find below link on how to resolve case using C#.How to close cases in crm 2011 programmatically
Yes. Workflows can be used to close Case records in CRM
If you have the resources (staff) available to write CRM code, you can do it via Code (C#) as well

Why is the Office 365 Connect to office button no longer working with new Microsoft Teams groups?

EDIT #2: Looking into this issue further I have found that this feature, FEATURE ID: 26955 link is in the process of rolling out. I think this might have something to do with my issue. Any help would still be appreciated.
EDIT: I think something must have changed in how the connect to office365 button works or how grouping is done in teams. I found a strange workaround where if I create a group in Outlook and base my Microsoft teams group off that already created office 365 group, I can successfully connect to that group using my custom connector. But any time I create a team in MS teams, I don't see that team in outlook and then keep receiving the server error when trying to connect.
I created a custom connector last week for MS Teams and connected it to a few of my channels. This week I created a few new test groups and channels and the connector is no longer working. I keep receiving a 500 error from the connect url like the image below.
My old channels from last week still work fine with my sideloaded connector. Any new group and channel I create keeps running into the server error I see below.
Any help at all would be much appreciated. I have also managed to receive this error intermittently from connectors in the store.
Similar to this post from a few days ago, I am also receiving an error when I try to delete the sideloaded app: Custom Microsoft Teams Connector doesn't communicate with an external service at all
Error received from Microsoft connect url (Office 365 button)
#caits also reached out via email on this. Upon further investigation we discovered that this is caused by the fact that the connector code is calling a Graph API that is checking to see if the current user is a member of the team but when a user creates a team is created from Teams, that user is made an owner. We are changing the joinedTeams API so that it includes owners and members, which should fix this.
There was an issue when we try to configure connector for newly created team. This issue has been fixed.

How to check CRM database size entity wise in Dynamics CRM online?

How can I check how much amount of database size is used by the particular entity? or Is there any way to check data size of an entity in Dynamics CRM online ?
That is not possible without additional actions as far as I know. As a possible workaround you can do following:
Ask MS Support to provide you with latest DB of your organization.
Restore this DB to some SQL server.
Use it for your data-analysis.

Visualise the Dynamics CRM database

I an new to both Dynamics CRM (Hosted) and LINQ, so please forgive my ignorance with this question...
I need to access some data stored in the CRM, but have no idea how to get at it. Normally I would open my SQL Management software and look around for the data, but I cant do that with the Hosted CRM data.
So.... My question is, is there anyway to visualise the 'database' to find the data I need to recal ???
Thanks in advance.
If you want manipulate the data of a CRM 2011 instance is necessary to follow some rules.
For CRUD and business operations you need use the CRM 2011 web services (also in combination with LINQ)
Is also possible (if you can connect to the DB) to read the data from Filtered Views, a Filtered View is a view mapped on a standard CRM entity (for example to read the data from the entity Account you can use the view FilteredAccount)
Read or modify the data directly from the tables is not supported.
If you want to know the structure of the entities you can use the Customization area inside CRM, or install the Metadata Browser (a solution available inside the CRM 2011 SDK) to see the attributes and the relationships.
A good starting point is always the CRM 2011 SDK, you can download here:
http://www.microsoft.com/en-us/download/details.aspx?id=24004
Inside you will find many examples (if you want to use LINQ check the early-bound ones) and the assemblies and tools for development.
Download the SDK and import the Metadata Browser managed solution (\sdk\tools\metadatabrowser\metadatabrowser_2_0_0_0_managed.zip) into your CRM Live instance.
You could also try downloading the database schema for the out-of-the-box database setup. Not really optimal but it might work for you.
You could also install a local version of Dynamics CRM (say in a virtual machine) for testing (either via MSDN or the free trial download.) This will give you SQL access to the database.
I recommend going with the Metadata Browser, which will probably get you the information that you need. Since the Metadata Browser is a managed solution you can install and remove it without impacting the Default Solution or any other solution in the organization.
Actually it turns out it is possible to work with the Dynamics CRM Online 'database' in much the same way as you can with any number of SQL Manager tools.
Linqpad4 - allows you to work with a number of environments and write your queries in VB, C# and even SQL.
It looks like a great tool, and has already helped me greatly, it certainly makes the Dynamics / LINQ scenario much easier to explore and learn about.
LinqPad4 can be downloaded here: [http://www.linqpad.net/]
and the driver(s) for Dynamics CRM can be downloaded here: [http://archive.msdn.microsoft.com/crmlinqpad]
I strongly recommend it.

Resources