diff --git a/reports/1-intro.md b/reports/1-intro.md new file mode 100644 index 0000000000..7e60946be7 --- /dev/null +++ b/reports/1-intro.md @@ -0,0 +1,139 @@ +# Tutorial: View analytics with Power BI + +## Intro + +### Purpose +The BOT framework Composer sample provides a Power BI template that can be used to understand how your bot is performing. + +
+ + +### Prerequisites +* [Install Power BI Desktop](https://powerbi.microsoft.com/desktop/) +* [Download the Bot Composer analytics Power BI template](./Power-BI-Report-Composer.pbit) +* [Create a Bot in Composer](https://docs.microsoft.com/en-us/composer/quickstart-create-bot?tabs=v2x) to deploy your Azure resources + +### Time To Complete +10 minutes + +### Scenario +A Power BI dashboard showing Application Insights telemetry captured from a Bot Composer BOT. diff --git a/reports/2-get-application-insights-application-id.md b/reports/2-get-application-insights-application-id.md new file mode 100644 index 0000000000..c9b96f2b67 --- /dev/null +++ b/reports/2-get-application-insights-application-id.md @@ -0,0 +1,13 @@ +# Tutorial: View analytics with Power BI + +## Get your Application Insights Application ID + +1. Log in to the [Azure Portal](https://portal.azure.com/). + +1. Navigate to the Application Insights resource created from the [Create a Virtual Assistant tutorial](./virtual-assistant/tutorials/create-assistant/csharp/1-intro). + +1. In the sidebar, navigate to **Configure > API Access** on the sidebar. + + +1. Copy the Application ID for the next step. + diff --git a/reports/3-open-template.md b/reports/3-open-template.md new file mode 100644 index 0000000000..bd6229d605 --- /dev/null +++ b/reports/3-open-template.md @@ -0,0 +1,23 @@ +# Tutorial: View analytics with Power BI + +## Open the Power BI template + +1. Open the [Bot Composer analytics template](./Power-BI-Report-Composer.pbit) and paste your **Application Insights Application ID**. + + +1. After loading the tables with your populated data, you should now see insights from your Virtual Assistant. + +*Note: You may run into authentication issues when opening the template, particularly if you have opened the template previously using another Application ID. If so, perform the following steps to re-authenticate the template with your Application Insights service:* + +1. Open the Template +2. File > Options and Settings > Data Source Settings +3. Click "Global permissions" +4. Click on anything resembling "api.logalytics.io" and Clear Permissions > Clear Permissions > Delete +5. Close and Re-open the Template +6. Paste your Application Insights AppId +7. Click Load +8. *Important*: Select Organizational Account > Sign In > Connect + +## Additional Telemetry + +By default, a Bot composer Bot based project collects personally identifiable information (e.g. Conversation drill-down and transcripts) which will lead to the respective sections in the PowerBI dashboard to function as expected. If you wish to not collect this information make the changes to `appsettings.json` by following this article: https://docs.microsoft.com/en-us/composer/how-to-capture-telemetry?tabs=v2x#configure-telemetry diff --git a/reports/Power-BI-Report-Composer.pbit b/reports/Power-BI-Report-Composer.pbit new file mode 100644 index 0000000000..ea63482767 Binary files /dev/null and b/reports/Power-BI-Report-Composer.pbit differ diff --git a/reports/assets/css/index.scss b/reports/assets/css/index.scss new file mode 100644 index 0000000000..5bb4efd5cc --- /dev/null +++ b/reports/assets/css/index.scss @@ -0,0 +1,127 @@ +--- +--- + +@import "@primer/css/index.scss"; +@import "pages/home.scss"; +@import "colors.scss"; +@import "markdown.scss"; +@import "switcher.scss"; +@import "syntax.css"; + +/* + * Extend the footer to the bottom of the page, + * even if there’s not enough content to make the page scroll. + */ +body { + min-height: 100vh; + min-width: 60vw; + display: flex; + flex-direction: column; +} + +#nav-content { + top: 4rem; + overflow-y: auto; + z-index: 1000; + + ul { + list-style-type: none; + padding-left: 5px; + } + + a:hover { + text-decoration: underline; + color: black; + } + + .is-selected { + font-weight: 600 !important; + background-color: hsla(0,0%,95%,1); + } +} + +@media (min-width: 768px){ + #nav-content { + position: -webkit-sticky; + position: sticky; + height: calc(100vh - 4rem); + } +} + +#toc-content { + position: -webkit-sticky !important; + position: sticky !important; + top: 4rem; + overflow-y: auto; + height: calc(100vh - 4rem); + + ul::before { + content: "On this page"; + font-weight: 600; + font-size: 16px; + } + + ul { + list-style-type: none; + padding-left: 15px; + + li { + padding: 2px 0; + } + + li.a { + padding-left: 5px; + } + } +} + +#markdown-content { + .carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d2d2d2' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); + } + + .carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d2d2d2' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); + } + + .btn-primary { + background-color: var(--primary) !important; + background-image: none !important; + } + + .btn-primary:hover { + background-color: #0069d9 !important; + } + + a.card { + color: inherit; + text-decoration: none; + box-shadow: 0 2px 5px hsla(0,0%,89%,1); + } + + a.card:hover { + border: 1px solid var(--primary); + } + + pre > code { + font-size: 95% !important; + } +} + +.octicon { + display: inline-block; + vertical-align: middle; + fill: currentColor; +} + +#searchbox { + float:right; + padding: 3px; + border:0; + outline: none; + vertical-align: bottom; +} + +#searchinput { + width:100%; +} diff --git a/reports/assets/css/syntax.css b/reports/assets/css/syntax.css new file mode 100644 index 0000000000..32c8569d43 --- /dev/null +++ b/reports/assets/css/syntax.css @@ -0,0 +1,255 @@ +.highlight { + background: #ffffff; +} + + .highlight .c { + color: #999988; + font-style: italic + } + /* Comment */ + .highlight .err { + color: #a61717; + background-color: #e3d2d2 + } + /* Error */ + .highlight .k { + font-weight: bold + } + /* Keyword */ + .highlight .o { + font-weight: bold + } + /* Operator */ + .highlight .cm { + color: #999988; + font-style: italic + } + /* Comment.Multiline */ + .highlight .cp { + color: #999999; + font-weight: bold + } + /* Comment.Preproc */ + .highlight .c1 { + color: #999988; + font-style: italic + } + /* Comment.Single */ + .highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic + } + /* Comment.Special */ + .highlight .gd { + color: #000000; + background-color: #ffdddd + } + /* Generic.Deleted */ + .highlight .gd .x { + color: #000000; + background-color: #ffaaaa + } + /* Generic.Deleted.Specific */ + .highlight .ge { + font-style: italic + } + /* Generic.Emph */ + .highlight .gr { + color: #aa0000 + } + /* Generic.Error */ + .highlight .gh { + color: #999999 + } + /* Generic.Heading */ + .highlight .gi { + color: #000000; + background-color: #ddffdd + } + /* Generic.Inserted */ + .highlight .gi .x { + color: #000000; + background-color: #aaffaa + } + /* Generic.Inserted.Specific */ + .highlight .go { + color: #888888 + } + /* Generic.Output */ + .highlight .gp { + color: #555555 + } + /* Generic.Prompt */ + .highlight .gs { + font-weight: bold + } + /* Generic.Strong */ + .highlight .gu { + color: #aaaaaa + } + /* Generic.Subheading */ + .highlight .gt { + color: #aa0000 + } + /* Generic.Traceback */ + .highlight .kc { + font-weight: bold + } + /* Keyword.Constant */ + .highlight .kd { + font-weight: bold + } + /* Keyword.Declaration */ + .highlight .kp { + font-weight: bold + } + /* Keyword.Pseudo */ + .highlight .kr { + font-weight: bold + } + /* Keyword.Reserved */ + .highlight .kt { + color: #445588; + font-weight: bold + } + /* Keyword.Type */ + .highlight .m { + color: #009999 + } + /* Literal.Number */ + .highlight .s { + color: #d14 + } + /* Literal.String */ + .highlight .na { + color: #008080 + } + /* Name.Attribute */ + .highlight .nb { + color: #0086B3 + } + /* Name.Builtin */ + .highlight .nc { + color: #445588; + font-weight: bold + } + /* Name.Class */ + .highlight .no { + color: #008080 + } + /* Name.Constant */ + .highlight .ni { + color: #800080 + } + /* Name.Entity */ + .highlight .ne { + color: #990000; + font-weight: bold + } + /* Name.Exception */ + .highlight .nf { + color: #990000; + font-weight: bold + } + /* Name.Function */ + .highlight .nn { + color: #555555 + } + /* Name.Namespace */ + .highlight .nt { + color: #000080 + } + /* Name.Tag */ + .highlight .nv { + color: #008080 + } + /* Name.Variable */ + .highlight .ow { + font-weight: bold + } + /* Operator.Word */ + .highlight .w { + color: #bbbbbb + } + /* Text.Whitespace */ + .highlight .mf { + color: #009999 + } + /* Literal.Number.Float */ + .highlight .mh { + color: #009999 + } + /* Literal.Number.Hex */ + .highlight .mi { + color: #009999 + } + /* Literal.Number.Integer */ + .highlight .mo { + color: #009999 + } + /* Literal.Number.Oct */ + .highlight .sb { + color: #d14 + } + /* Literal.String.Backtick */ + .highlight .sc { + color: #d14 + } + /* Literal.String.Char */ + .highlight .sd { + color: #d14 + } + /* Literal.String.Doc */ + .highlight .s2 { + color: #d14 + } + /* Literal.String.Double */ + .highlight .se { + color: #d14 + } + /* Literal.String.Escape */ + .highlight .sh { + color: #d14 + } + /* Literal.String.Heredoc */ + .highlight .si { + color: #d14 + } + /* Literal.String.Interpol */ + .highlight .sx { + color: #d14 + } + /* Literal.String.Other */ + .highlight .sr { + color: #009926 + } + /* Literal.String.Regex */ + .highlight .s1 { + color: #d14 + } + /* Literal.String.Single */ + .highlight .ss { + color: #990073 + } + /* Literal.String.Symbol */ + .highlight .bp { + color: #999999 + } + /* Name.Builtin.Pseudo */ + .highlight .vc { + color: #008080 + } + /* Name.Variable.Class */ + .highlight .vg { + color: #008080 + } + /* Name.Variable.Global */ + .highlight .vi { + color: #008080 + } + /* Name.Variable.Instance */ + .highlight .il { + color: #009999 + } +/* Literal.Number.Integer.Long */ diff --git a/reports/assets/images/analytics/application-insights-api-access.png b/reports/assets/images/analytics/application-insights-api-access.png new file mode 100644 index 0000000000..dbbe3e58dc Binary files /dev/null and b/reports/assets/images/analytics/application-insights-api-access.png differ diff --git a/reports/assets/images/analytics/application-insights-application-id.png b/reports/assets/images/analytics/application-insights-application-id.png new file mode 100644 index 0000000000..a3a09eada3 Binary files /dev/null and b/reports/assets/images/analytics/application-insights-application-id.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-1.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-1.png new file mode 100644 index 0000000000..dd6a8a1a4c Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-1.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-10.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-10.png new file mode 100644 index 0000000000..351c86a63c Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-10.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-11.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-11.png new file mode 100644 index 0000000000..899fb8e94a Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-11.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-12.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-12.png new file mode 100644 index 0000000000..d8acb3cd88 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-12.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-13.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-13.png new file mode 100644 index 0000000000..0b7fabd141 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-13.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-2.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-2.png new file mode 100644 index 0000000000..18da4068d7 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-2.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-3.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-3.png new file mode 100644 index 0000000000..4ad772cc61 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-3.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-4.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-4.png new file mode 100644 index 0000000000..5202a20cc5 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-4.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-5.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-5.png new file mode 100644 index 0000000000..3a1cc8e4db Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-5.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-6.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-6.png new file mode 100644 index 0000000000..bdaf9a3fcb Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-6.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-7.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-7.png new file mode 100644 index 0000000000..828eb6709a Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-7.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-8.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-8.png new file mode 100644 index 0000000000..35ef2ccbd1 Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-8.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-9.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-9.png new file mode 100644 index 0000000000..22f77aef6a Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-9.png differ diff --git a/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-load-template.png b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-load-template.png new file mode 100644 index 0000000000..5f087e5a0f Binary files /dev/null and b/reports/assets/images/analytics/virtual-assistant-analytics-powerbi-load-template.png differ