Skip to content

Commit 6b47ca2

Browse files
author
maps2002
committed
2 parents d3eb6cd + 524cb5b commit 6b47ca2

File tree

1 file changed

+91
-8
lines changed

1 file changed

+91
-8
lines changed

README.md

Lines changed: 91 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,46 @@
11
# Create.CSP.Reporting
2-
|create|it| Microsoft Cloud Solution Provider (CSP) Reporting Samples
2+
Create IT Microsoft Cloud Solution Provider (CSP) Reporting Samples
33

44
This is a CSP Reporting sample application, intended for Microsoft CSP Partners, that provides Customer Insights (CI) and Opportunities Identification (OI) for Office 365 (seat based licensing).
55

6-
The analysis made by the sample, complements and details the information that is available in the CSP Parter Center Portal, and also shows how with a basic set of rules the CSP customer basis can be segmented and classified in terms of:
6+
The analysis made by the sample, complements and details the information that is available in the CSP Partner Center Portal, and also shows how with a basic set of rules the CSP customer basis can be segmented and classified in terms of:
77
* Activation Opportunities - Seat related opportunities (e.g. A customer purchased 10 E3 seats but only 5 of them are assigned)
8-
* Usage Opportunities - Service usage opportunities (e.g From the 5 assigned E3 seats, 2 licenses are not using Skype for Business)
8+
* Usage Opportunities - Last 30 days' service usage opportunities (e.g. From the 5 assigned E3 seats, 2 licenses have not used Skype for Business in the last 30 days)
9+
10+
(At the end of this document, you can find more detail about the opportunity types that are identified.)
911

1012
Supplied with this information, the CSP Partner can for example determine and prioritize the customers that should be targeted by a Marketing Campaign, and/or work with their Sales and Support teams, to get these customers to make a better use of their purchased licenses and services.
1113

1214
The sample is composed by:
1315
* A Reporting Job - Extracts and Analysis the customer information, that results in the Opportunities Identification. Can output information to CSV files or to a database, allowing in the case of the database to store and compare customer historic information.
16+
* Power BI Reports (optional) - Provides reporting samples that present the extracted and analyzed information
1417
* A Reporting Portal (optional) - Provides a basic mechanism for managing the customers that are targeted by a campaign, allowing the filtering of the report to the campaign customer base. The actual management and sending of these campaigns are not in the scope of these samples.
15-
* Power BI Reports (optional) - Provides reporting samples that present the extracted and analysed information
1618

19+
20+
# Requirements
21+
22+
### Minimum
23+
The minimum installation corresponds to the deployment of the Reporting Job, supporting only the output of information to CSV files. For this you will need:
24+
* .NET Framework 4.6.1
25+
* Internet Access
26+
27+
You can also use this configuration if you just want to check/test these samples.
28+
29+
### Recommended
30+
The recommended configuration corresponds to the deployment of the Reporting Job and the Power BI Reports. Optionally, you can also deploy the Reporting Portal if you think that filtering the customers by associated campaign is going to be useful for your scenario. For this you will need:
31+
* Reporting Job:
32+
* .NET Framework 4.6.1
33+
* SQL Server 2014 Database or SQL Azure V12 Database
34+
* Internet Access
35+
* Note: Can also run as an Azure Web Job
36+
* Power BI Reports:
37+
* Power BI Desktop application
38+
* (optional) Office 365 Power BI enabled tenant, if you wish to publish the reports, and make sharing easier
39+
* (optional) Reporting Portal
40+
* .NET Framework 4.6.1
41+
* IIS Web Server
42+
* Note: Can also run as an Azure Web App
43+
1744
# Installation
1845
(Note: The instructions below require some prior technical knowledge to complete.)
1946

@@ -43,12 +70,12 @@ The Reporting Job has several configurable settings in the app.config file. Set
4370
| CSPCountryTwoLetterCode | The country two letter code where the CSP tenant is registered. Example: US or UK or PT|
4471

4572
### CSP Reporting Database
46-
The Reporting Job and the Reporting Portal both need a database connection to work. If you choose to not use a database you can still use the job to export the reporting information to CSV files.
73+
The Reporting Job and the Reporting Portal both need a database connection to work. If you choose to not use a database, you can still use the job to export the reporting information to CSV files.
4774

4875
| Configuration Key | Description |
4976
| ------------- | ------------- |
5077
| CSPDatabaseModelEntities connection string | The connection string to the Reporting Database. |
51-
| Logging connection string | The connection string to the Reporting Database. tipically it refers to the same database as above. |
78+
| Logging connection string | The connection string to the Reporting Database. Typically, it refers to the same database as above. |
5279

5380
# Usage
5481
### Reporting Job
@@ -60,7 +87,7 @@ The Reporting Job is a console application that accepts a single parameter. That
6087
| customerUsageCSV | Extracts and generates the Usage Opportunities report to a CSV file. |
6188
| activationBD | Extracts and generates the Activation Opportunities report to the Reporting database. |
6289

63-
The generated CSV files have an header line, all fields are separated by the tab (\t) character, and there is no text qualifier surrounding fields.
90+
The generated CSV files have a header line, all fields are separated by the tab (\t) character, and there is no text qualifier surrounding fields.
6491

6592
Note: It can take several hours for the job to process all customers. Also errors can occur while extracting and processing the customer information. In the case of error, the job tries to continue processing the remaining customers. More detailed information can be checked in the logs and on the exported information.
6693

@@ -78,8 +105,64 @@ Note: To be able to associate customers to campaigns, first you must guarantee t
78105
### Power BI Reports
79106
(to be completed)
80107

108+
To work with the Power BI reports you will need to install and use the Power BI Desktop Application, available at: https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-get-the-desktop/#to-download-and-install-power-bi-desktop
109+
110+
The Power BI Report files are named:
111+
* CSP_CSV_Reports.pbix - For the CSV generated analysis
112+
* CSP_Database_Reports.pbix - For the Database generated analysis
113+
114+
#### Refreshing the reports data sources
115+
116+
##### CSP CSV files
117+
To refresh the report, follow these steps on Power BI Desktop:
118+
119+
1. Open the report file
120+
2. On the ribbon, "Home" tab, click "Edit Queries" <br/>
121+
![PowerBI_EditQueries](https://github.com/createitpt/Create.CSP.GitHub.Reporting/blob/master/WikiImages/PowerBI_EditQueries.png)
122+
3. On left side, select the "Customers" table <br/>
123+
![PowerBI_SelectTable](https://github.com/createitpt/Create.CSP.GitHub.Reporting/blob/master/WikiImages/PowerBI_SelectTable.png)
124+
4. On the right side, click on the “Source” ribbon <br/>
125+
![PowerBI_ChangeSource](https://github.com/createitpt/Create.CSP.GitHub.Reporting/blob/master/WikiImages/PowerBI_ChangeSource.png)
126+
5. Select a new Path to *.csv report (note the settings presented in the picture) <br/>
127+
![PowerBI_BrowseCSV](https://github.com/createitpt/Create.CSP.GitHub.Reporting/blob/master/WikiImages/PowerBI_BrowseCSV.png)
128+
6. Repeat the last three steps and update the Subscriptions and Skus tables also
129+
130+
##### CSP Reporting Database
131+
(to be completed)
132+
133+
NOTE: The Power BI reports can be published to an Office 365 tenant with Power BI enabled, for easier sharing within a team.
134+
135+
# Opportunity types
136+
The opportunities are classified by an Action Type and a Sub-Type detail. The detail is explanatory, indicating the reason for that classification.
137+
138+
### Activation Opportunities
139+
The following types of opportunities are identified:
140+
141+
| Action Type | Action Sub Type |
142+
| ------------- | ------------- |
143+
| NO ACTION NEEDED | <ul><li>Customer is deleted or without relationship.</li><li>Waiting for subscription life cycle to de-provision subscription</li><li>All active licenses are assigned</li></ul> |
144+
| ACTION NEEDED | <ul><li>All licenses assigned. Some licenses are about to expire</li><li>Customer has more users with licenses than licenses available</li></ul> |
145+
| ACTIVATION OPPORTUNITY | <ul><li>Customer relationship to partner is different from reseller</li><li>Customer does not have any subscribed SKUs</li><li>Customer does not have any subscriptions</li><li>No seats active, assigned, about to expire or disabled</li><li>No seats assigned yet, all licenses are about to expire</li><li>Not a CSP offer</li><li>SKU capability status not enabled</li><li>No seats assigned yet</li><li>No seats assigned yet, some licenses are about to expire</li><li>Not all seats have been assigned yet</li></ul> |
146+
| Scenario not defined | If this occurs to you, please contact us :) |
147+
148+
### Usage Opportunities
149+
The usage is analyzed taking into consideration the user's activity in the last 30 days.
150+
Currently, only usage referring to the following Office 365 services are supported:
151+
* Exchange Online
152+
* Skype for Business Online
153+
* SharePoint Online
154+
155+
The following types of opportunities are identified:
156+
157+
| Action Type | Action Sub Type |
158+
| ------------- | ------------- |
159+
| NO ACTION NEEDED | <ul><li>Customer is deleted or without relationship</li><li>All users are active on the service</li></ul> |
160+
| ACTIVATION OPPORTUNITY | <ul><li>Customer relationship to partner different from reseller</li><li>Customer does not have any subscribed SKUs</li><li>Customer does not have any subscriptions</li><li>Subscription state: [state detail]</li><li>Not all users are active on the service</li></ul> |
161+
| Not supported | <ul><li>Subscription Offer does not map to any CSP Subscribed SKU Product</li><li>Service Plan information extraction not supported</li></ul> |
162+
| Scenario not defined | If this occurs to you, please contact us :) |
163+
164+
Final disclaimer: These samples are provided freely as a proof of concept as-is, with no support whatsoever.
81165

82-
Final disclaimer: The samples are provided freely as a proof of concept as-is, with no support whatsoever.
83166
http://www.create.pt
84167

85168

0 commit comments

Comments
 (0)