Botframework-solutions: Error in out of box Power BI report after connecting to a VA

Created on 1 Mar 2020  ·  4Comments  ·  Source: microsoft/botframework-solutions

https://microsoft.github.io/botframework-solutions/solution-accelerators/tutorials/view-analytics/1-intro/

I followed the tutorial here which connected to the Virtual Assistant analytics template to a VA, but it showed errors in the following tab:

  • User Feedback
  • Conversations Drill Down
  • Transcript

image
image

Internal Committed Bug

Most helpful comment

That helps but not all the data is being generated by the default VA template. The content of the conversation messages for the transcripts and conversations drill down is disabled by default. If you want that, you also need to set logPersonalInformation=true in the telemetry middeware.

To enable that, change this line in Startup.cs from this
``` C#
services.AddSingleton();

to this 

``` C#
services.AddSingleton<TelemetryLoggerMiddleware>(s=>new TelemetryLoggerMiddleware(s.GetService<IBotTelemetryClient>(), true));

All 4 comments

I appear to be running into this issue or at least one very similar. When I open the PowerBI I am getting the following error on the Transcript tab/report.

vamissingfields

I just downloaded the latest pbit from here and it is having the issue: https://microsoft.github.io/botframework-solutions/assets/analytics/virtual-assistant-analytics-sample.pbit

Issue with type mentioned in power bi query for interactions:

you have to change type value for some of the columns in group by - to text.

Change the query in Power BI advanced editor for interactions to below it will work:


let
    Source = #"EventTelemetry",
    #"Added UserUtterance Column" = Table.AddColumn(Source, "UserUtterance", each if [EventName] = "BotMessageReceived" then [Text] else null),
    #"Added UserOriginalUtterance Column" = Table.AddColumn(#"Added UserUtterance Column", "UserOrigUtterance", each if [EventName] = "BotMessageReceived" then [Text] else null),
    #"Added BotMessageSpeakColumn" = Table.AddColumn(#"Added UserOriginalUtterance Column", "BotResponseSpeak", each if [EventName] = "BotMessageSend" then [Speak] else null),
    #"Added OperationID Column" = Table.AddColumn(#"Added BotMessageSpeakColumn", "OperationID", each if [EventName] = "BotMessageSend" then [ReplyActivityId] else [ActivityId]),
    #"Added BotMessageText Column" = Table.AddColumn(#"Added OperationID Column", "BotResponseText", each if [EventName] = "BotMessageSend" then [Text] else null),
    #"Grouped Rows" = Table.Group(#"Added BotMessageText Column", {"OperationID", "ConversationId"}, {{"UserUtterance", each List.Max([UserUtterance]), type text}, {"UserOrigUtterance", each List.Max([UserOrigUtterance]), type text}, {"Time", each List.Min([Time]), type datetimezone}, {"Locale", each List.Max([Locale]), type text}, {"DialogId", each List.Max([DialogId]), type text}, {"DialogStatus", each List.Max([DialogStatus]), type text}, {"DialogStepName", each List.Max([DialogStepName]), type text}, {"DialogInstanceId", each List.Max([DialogInstanceId]), type text}, {"BotResponseSpeak", each List.Max([BotResponseSpeak]), type text}, {"BotResponseText", each List.Max([BotResponseText]), type text}, {"LuisIntent", each List.Max([Luis_Intent]), type text}, {"LuisScore", each List.Max([Luis_IntentScore]), type text}, {"LuisSentimentLabel", each List.Max([Luis_SentimentLabel]), type text}, {"LuisSentimentScore", each List.Max([Luis_SentimentScore]), type text}}),
    #"Changed Type" = Table.TransformColumnTypes(#"Grouped Rows",{{"LuisSentimentScore", type number}})
in
    #"Changed Type"

Let me know if it helps someone :)

That helps but not all the data is being generated by the default VA template. The content of the conversation messages for the transcripts and conversations drill down is disabled by default. If you want that, you also need to set logPersonalInformation=true in the telemetry middeware.

To enable that, change this line in Startup.cs from this
``` C#
services.AddSingleton();

to this 

``` C#
services.AddSingleton<TelemetryLoggerMiddleware>(s=>new TelemetryLoggerMiddleware(s.GetService<IBotTelemetryClient>(), true));

3428 addresses the above datatype issue introduced by new PowerBI templates. Thanks @SSanjeevi for the pointer!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lauren-mills picture lauren-mills  ·  4Comments

esoler-sage picture esoler-sage  ·  3Comments

VladPapacostea-SM picture VladPapacostea-SM  ·  3Comments

GitDruid picture GitDruid  ·  4Comments

waqarghani picture waqarghani  ·  3Comments