Tag Archives: BI
Azure Machine Learning Cheat Sheet
Introduction: Microsoft released a PDF cheat sheet of which machine learning algorithms can be used on Azure Machine Learning Studio. This Microsoft Azure Machine Learning Algorithm Cheat Sheet helps you choose the right machine learning algorithm for your predictive analytics solutions from the Microsoft Azure Machine Learning library of algorithms. The algorithms have been grouped in 5 different groups. These groups are: Regression: For predicting values. For Example when predicting a stocks price. Anomaly detection: For finding unusual data points. For example, any highly unusual credit card spending patterns which deviates from the normal credit card spending patterns. Clustering: The data points have no labels associated with them. Instead, the goal of an unsupervised learning algorithm is to organize the data in some way or to describe its structure. For example, discovering companies with similar marketing strategies. Two-class classification: When there are only two choices, it’s called two-class or binomial classification. For example distinguishing between a Cat or Dog. Multi-class classification: For predicting three or more categories. For Example predicting the winner of a Race. To read the cheat sheet, read the path and algorithm labels on the chart as “For <path label>, use <algorithm>.” For example, “For speed, use two class logistic regression.” Sometimes more than one branch applies. In this case it is better to create scored models with both the algorithm and compare both of their accuracy to decide which algorithm is the better fit. Even a beginner can easily use the cheat sheet provided to select which algorithm is apt for creating their predictive solution. There are some generalizations and oversimplifications, but it points you in a safe direction. It also means that there are lots of algorithms not listed here but these many algorithms are more than enough to give you a good head start in the ML world.
Connect your Azure Machine Learning Predictive Solution to Power BI
Introduction: Azure Machine Learning Studio is an amazing tool that lets us create efficient ML experiments with simple drag and drop features. We can predict anything from Flight Predictions to Churn Analysis. But what if we want to represent this predicted data a more visually appealing format? Well it is possible to do this by representing your predictions on Power BI! Pre-Requisites: Basic Understanding of Azure Machine Learning Studio. Basic Understanding of Power BI. A Blob Container created on Azure Storage. Steps: Create your Azure Machine Learning Experiment on Azure Machine Learning Studio. Convert your Training Experiment to a Predictive Experiment and Deploy it as a Web Service. We will create a Console application in Visual Studio and copy paste the code inside Batch Execution. For automation we can create automated data pipelines but for now we will just use a simple Console application. Remove the existing code from the Console Application and copy paste the Batch Execution code. Install the necessary Nuget Packages and also update the following parameters. – BaseURL will be the same. – Storage Account Name, Storage Account Key and Storage Container Name will be parameters that can be found in your Azure Blob Storage which was created. – Api Key can be found in the Web Experiment Page in Azure Machine Learning Studio. – The input path is the path where you have saved your input csvfile for Batch Execution. Your Input csv file should have all the features which you have used to train your experiment After you run your Console application a new output1results.csv file should get generated in your Blob Container. The output results should include the labels which your experiment generates in it’s output. It should include the Scored Labels and Scored Probabilities labels as well. Now you can get your data using Azure Blob Storage as your source in Power BI and use the columns in the output1result.csv file to generate your ML Predicted Reports. The Report can look something like this. I hope this blog helps you to combine Azure Machine Learning Studio and Power BI to create a powerful predictive solution.
Email Migration from D365 CRM v8.2 to D365 CRM v9 using TIBCO Cloud Integration: Activity Parties
Introduction: In this blog, I will detail how to migrate Activity Parties of Emails from one CRM to another. In my previous blog, I outlined the first step of the Email migration process which is migrating the body of the email. Migrating the corresponding Activity Parties of an Email is the second step of this process, as the Email body now exists in the Target CRM. What are Activity Parties? Other than the Body, an Email Activity consists of: Sender: The person(s) sending the email. Recipient: The person(s) receiving the email. CC & BCC: The person(s) that are copied in the email. Owner: The person who is the owner of the email. Regarding: This generally links to an entity in CRM which pertains to the email. For example, a Case or a Project in CRM. ‘Sender’, ‘Recipient’, CC’, ‘BCC’, ‘Owner’ and ‘Regarding’ are each stored in CRM as a separate Activity Party of that email with a ‘Participation Type’ code (field name: ‘participationtypemask’) to establish the field that specific party belongs to i.e. 1 = Sender, 2= To Recipent and so on (as shown below). Generally, in an Activity Party, the person(s) are either System Users or Contacts. This is specified in the field ‘partyobjecttypecode’ as shown above. Keeping this in mind, one can lookup to these entities to obtain the corresponding GUIDs in the Target System and map it as the ‘partyid ‘. After the Activity Party is created, the owner of the Activity Party should be updated as per its owner in the Source environment. The ‘Owner’ Activity Party is automatically created by CRM as the same User as the Owner of the Email (configured when you migrate the Email Body in Step 1). The ‘Regarding’ Activity Party links to a Case/ Project and not a ‘person’, however, the same logic applies i.e. map the required GUID and its type. Migrating Activity Parties is not as complicated once understood. Unfortunately, not much is easily available online about this. I hope this blog demystified a few concepts about Activity Parties of an Email and how they can be migrated from one CRM to another. My next blog will detail how to migrate Email Attachments and update the status of an Email.
Email Migration from D365 CRM v8.2 to D365 CRM v9 using TIBCO Cloud Integration: Email Body
Introduction: Data migration can be a little challenging, especially when it comes to Emails. In this blog, I will outline the steps that need to be followed to successfully migrate Emails as well as important things to keep in mind during the process. Steps: There are four main steps to follow to successfully migrate an Email from Source to Target: Send the body of the Email. Send all the related Activity Parties. Send the details of the related Email Attachment(s). Update the Status of the Email. In this blog, we will be dealing with the first step i.e. creating the map in TIBCO Cloud Integration to send the Body of an Email. Migrating the body of the Email is straightforward compared to the next step but there are a few aspects to keep in mind: 1) Send the email as Open so that Activity Parties and Attachments can be migrated in the following steps. Not sending the email with an “Open” status could lead to Activity Parties and Attachments not being migrated to the corresponding email. 2) When an email is migrated, the owner of the email will be the User configured in the CRM Connection in Scribe. In order to maintain the same owner as in the Source, you can update the email with the correct owner after it is created. In the screenshot below, I am using a Lookup Table in Scribe to map the User GUID of the Target System. 3) If you want the GUID of the email to remain the same in Source and Target, do not forget to map the ‘activityid’ of the Email entity. Conclusion: I hope this blog provided some insight into the migration process for Email Activities. In the next blog ‘Email Migration from CRM v8.2 to CRM v9 using TIBCO Cloud Integration: Activity Parties‘, I will talk about migrating ‘Activity Parties’ which can be the most challenging part of Email Migration.
Top-N Questions & Answers in Power BI
Introduction: With the latest update of Power BI, you can now ask top-n type questions and get answers based on your dataset. Questions like ‘What are the top 3 products by sales?’ or ‘Top Manufacturer by country’ are examples. This is also valid for bottom-n type questions like ‘Least selling product in a country’. Steps: 1. Go to your PowerBI Workspace and select your report. 2. Click on the ‘Edit’ button. 3. Select ‘Ask a question’. 4. Type in your question and the visualization will form with the answer based on your dataset. 5. Make changes to your Axis, Legend and Value fields if required. Conclusion: This feature enables the User to obtain important information from the dataset quickly and easily using natural language thereby enhancing the capability of Power BI to provide self-serving business intelligence.
Narratives for Power BI
Introduction: Narratives for Power BI is a product that automatically delivers dynamic narratives that explain the insights within your data. No more manually writing explanations and spending time interpreting data. Instead, the narratives, which are powered by advanced analytics, are perceptive and dynamic and explain what is most interesting and important in your data. Drill down deeper into your data and watch narratives update in real-time during the data discovery process Steps: Go to powerbi.narrativescience.com and enter your business email id. A link for downloading the extension and installation instructions will be mailed to you A pibiviz file will be downloaded on downloading the extension. A pbiviz file is nothing but a custom visual which can be imported in Power BI Desktop. Import the file on Power BI Desktop Benefits: Automated Narratives generated that give more detailed insights about the report which may not even be obvious Real time update on interaction with data Many customization options to personalize your narrative Click on Narrative and select Dimensions and Values based on which Narratives will be generated. After selecting the fields you will have to select your narrative type. Discrete: For distinct data like that in Bar Charts Continuous: For continuous data like that in Line Charts Percent of Whole: For data by percentage like Pie Charts Scatterplot: For data based on scatterplot like Charts A narrative gets generated It also changes on real time interaction The type structure and verbosity can be customized in the Format Pane Type Can be Discrete, Continuous, Percent of Whole or Scatterplot. Structure can be either in Paragraph format or Bullet Points. Verbosity the level of information displayed. Low verbosity would show less detailed narrative with high level information while High verbosity would show a very detailed narrative. Medium verbosity would be a midway between both. I hope this blog encourages you to use this powerful extension to improve your reports by making it as detailed as possible with minimalistic efforts!
Filtering duplicate records in SSIS
Introduction: In this blog, I will demonstrate how to remove or filter duplicate records in SSIS using Sort Tranformation. Steps: First, configure you OLE DB as your Source using the OLE DB Source as shown below. Bring the Sort Transformation and configure it as shown below. Check the box at the bottom of the Window that says ‘Remove rows with duplicate sort values’. Now you can connect to your destination by dragging the required block and connecting the Sort Transformation to the Destination block. For blog purposes, I have connected it to the Multicast block. Your Data Flow should look like: Click on start to execute your Data Flow. Benefits: Removal of duplicate rows can be useful when trying to avoid Data Redundancy in your System as well as to reduce the memory required.
How to split an ‘Address’ column into multiple columns in SSIS
Introduction: We can split an Address column into multiple columns for Flat Number, Building, Road, City etc. in order to make it easier to process the data. In order to do this, we can use the Derived Column Transformation in SSIS. Steps: In the screenshot below, you can see the Address column has an aggregated address for each employee. In your SSIS Package, bring a Data Flow Task. Configure you Excel Source in Connection Manager and select the sheet you want the data from. Check in the Columns Tab to verify if the Columns are correct. Now drag the Derived Column Transformation and connect the Excel Source to it. Double click the Derived Column Block and configure it as shown in the screenshot below. Flat: SUBSTRING([Col 2],1,FINDSTRING([Col 2],”,”,1) – 1) Building: SUBSTRING([Col 2],FINDSTRING([Col 2],”,”,1) + 1,((FINDSTRING([Col 2],”,”,2) – FINDSTRING([Col 2],”,”,1)) – 1)) Road: SUBSTRING([Col 2],FINDSTRING([Col 2],”,”,2) + 1,((FINDSTRING([Col 2],”,”,3) – FINDSTRING([Col 2],”,”,2)) – 1)) Area: SUBSTRING([Col 2],FINDSTRING([Col 2],”,”,3) + 1,((FINDSTRING([Col 2],”,”,4) – FINDSTRING([Col 2],”,”,3)) – 1)) City: SUBSTRING([Col 2],FINDSTRING([Col 2],”,”,4) + 1,((FINDSTRING([Col 2],”,”,5) – FINDSTRING([Col 2],”,”,4)) – 1)) PIN: SUBSTRING([Col 2],FINDSTRING([Col 2],”,”,5) + 1,((LEN([Col 2]) – FINDSTRING([Col 2],”,”,5)))) Once the configuration is done, connect Derived Column Transformation to you Target Block. Configure your Target Block to your Destination as shown below and check the Mappings to ensure the correct Source and Target columns are mapped. This is what your Data Flow should look like: Click on ‘Start’ when done. Once the execution is complete, check your Target Database for the desired output. Conclusion: This can be a requirement in many scenarios and by following the steps mentioned above, we can achieve the desired output.