When we create custom SharePoint Framework client-side web parts all we need to do is extending the BaseClientSideWebPart base class and overriding the render method with our custom UIs and logics to meet our specific requirements. The SharePoint framework will pick up our custom client-side web part definitions and take care of the rest of work. However, it is tempting to know what actually happens behind the scenes and what the call chain is that ultimately reaches to our render method in the custom client-side web parts. Therefore, I did a bit research on the SharePoint Framework source code to explore the execution flow in the framework and noted it down in this blog post. Continue reading “Dive into SharePoint Framework – Application Execution Flow”
In my previous blog post that walked through the steps to add Chart.js charts in client-side web parts, for the data access layer, I created a IDataSource interface and implemented the interface with a MockDataSource class that was instantiated in the React component, ChartJs, to feed data into the chart objects. Continue reading “SharePoint Framework – Using IoC Container in Client-Side Web Parts Development”
This blog post walks through the steps to setup an Azure dev vm for testing Power BI + SQL Server 2016 integration: Continue reading “Setup an Azure Dev VM for Testing Power BI + SQL Server 2016 Integration”
I had a quick play on the preview version of Microsoft Flow, one of the newest toys offered by Microsoft for creating automated workflows linking a broad range of online apps and services. One feature interested me is the Microsoft translator service which can automate the translation process between languages. Continue reading “Automating Language Translations in SharePoint-based solutions using Microsoft Flow”
In one of my previous posts, I have conducted an ABC Classification analysis using MDX against a SSAS Cube. In this post, I will conducted an ABC Classification analysis using Tableau calculations.
In this example, we want to classify the products based on their sales amount into three categories: ‘A’ (make up the top 5% of total sales), ‘B’ (make up the top %5-20%), ‘C’ (the others).
Firstly, we add the Product Name attribute and Sales Amount measure onto a tableau table and sort the table by Sales Amount in Decs order.
We then create three calculations, “Sales Running Total”, “% Sales Running Total”, and “ABC Classification Category”:
1. [Sales Running Total]
This calculation sums up the total sales amount from the top ranked product to the product of current row.
2. [% Sales Running Total]
While the [Sales Running Total] is divided by the total sales of all products, we can have the related position of the current product against all products.
3. [ABC Classification Category]
This calculation checks the position of the current product in the sales amount range and place the product into the corresponding category. Tableau LOOKUP function is used to evaluate whether or not the total sales of all the higher ranked products above the current product is < 5% of total sales of all products, if so, the current product falls into the category ‘A’, if the total sales of all the higher ranked products > or = 5%, that means the current product does not consist of the top 5% product sales amount and it will falls into the category ‘B’ or ‘C’. Then we can use the same approach to find which product falls into category ‘B’ and the remaining ones will be in category ‘C’.
We can then add the calculations into the table and have the products mapped to the categories.
or a nice little chart:
For fun, I put together a Power BI report using the data of European major football league clubs’ spending and performances. If you are interested you can download the pbix file here.
When a user tries to create a new SharePoint list item such as discussion, idea, support request, a similar item may already exist in the list. To avoid duplicated entries in the list, we can add a “Similar Items” panel to the item creation form that searches and shows the similar items based on the user’s input on the Title field. This post suggests an approach to implement the ‘Similar Items’ panel using SharePoint Search and AngularJS framework. Continue reading “Developing “Similar Items” Suggestion panel using AngularJS framework and SharePoint Search”