I am working on a small project for a small non-profit company. It has been an interesting project that could involve a variety of interesting technologies. But if it is going to be useful, that company needs to be able to support the solution going forward. What are the factors that might make the project work for this client?
The first factor (not most important) is technology. They want to be able to query their NeonCRM system. NeonCRM is a donor system that provides rudimentary querying capacity. But it also provides a Rest API that returns JSON. I found that using PowerQuery I can populate a PowerPivot model. Once the data is in the model, they can then write sophisticated queries.
The problem is that most of the computers in their shop are Macs. Neither PowerQuery nor PowerPivot can be installed on the Mac. They would need to have dedicated Windows PCs to allow them to use the solution. They will need to become comfortable with what is to them a foreign O/S.
Power BI provides the same functionality. Macs can consume the data from the Power BI model. But in order to develop reports against that model, you need to install Power BI. But to install the Power BI desktop application to be able to create reports etc would require a PC.
The second factor, the more important one, are skills needed to work with the technology. I live in another country from this non-profit. At some point I need to hand it over to them to manage and expand. Creating most reports from a PowerPivot model is not much more difficult than creating Excel pivot tables. This is well within the competence of the staff of this non-profit.
But what happens when a more complex need comes up? One of the early questions that we had was the date each year of the last donation in a year. This is do-able, but it required some DAX expressions, which are clearly outside of the expertise of the staff.
And if they need to customize the PowerQuery, the changes to that code challenge me. There is no way to hand this off to the non-profit.
By the way, I don’t want to suggest that they do not have the intelligence to do this. I think that they could learn these things. But they need to be putting their time and energy and thinking into running their non-profit, something that I would be incompetent at.
I am now looking at a solution closer to their technology and skills. It won’t be as sexy as the previous solution. But I expect them to be happier with that solution.