Botframework-solutions: VA рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдЙрдЯ рдСрдлрд╝ рдмреЙрдХреНрд╕ Power BI рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдорд╛рд░реНрдЪ 2020  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/botframework-solutions

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

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реЗ VA рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреИрдм рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИрдВ:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж
  • рдмрд╛рддрдЪреАрдд рдбреНрд░рд┐рд▓ рдбрд╛рдЙрди
  • рдкреНрд░рддрд┐рд▓рд┐рдкрд┐

image
image

Internal Committed Bug

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реАрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдмрд╛рддрдЪреАрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдбреНрд░рд┐рд▓ рдбрд╛рдЙрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдорд┐рдбрд╡реЗрдпрд░ рдореЗрдВ logPersonalInformation=true рднреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ Startup.cs рдореЗрдВ рдЗрд╕ рд╕реЗ рдмрджрд▓реЗрдВ
``` рд╕реА#
рд╕реЗрд╡рд╛рдПрдВред рд╕рд┐рдВрдЧрд▓рдЯрди рдЬреЛрдбрд╝реЗрдВ();

to this 

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

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдорд╛рди рд╣реВрдВред рдЬрдм рдореИрдВ рдкрд╛рд╡рд░рдмреАрдЖрдИ рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдЯреИрдм/рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред

vamissingfields

рдореИрдВрдиреЗ рдЕрднреА рдпрд╣рд╛рдБ рд╕реЗ рдирд╡реАрдирддрдо pbit рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ: https://microsoft.github.io/botframework-solutions/assets/analytics/virtual-assistant-analytics-sample.pbit

рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдкрд╛рд╡рд░ рдмрд╛рдп рдХреНрд╡реЗрд░реА рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛:

рдЖрдкрдХреЛ рд╕рдореВрд╣ рдХреЗ рдХреБрдЫ рдХреЙрд▓рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рд╡реИрд▓реНрдпреВ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП Power BI рдЙрдиреНрдирдд рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХреНрд╡реЗрд░реА рдмрджрд▓реЗрдВ, рдпрд╣ рдиреАрдЪреЗ рдХрд╛рдо рдХрд░реЗрдЧреА:


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"

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ :)

рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реАрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдмрд╛рддрдЪреАрдд рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдбреНрд░рд┐рд▓ рдбрд╛рдЙрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдорд┐рдбрд╡реЗрдпрд░ рдореЗрдВ logPersonalInformation=true рднреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ Startup.cs рдореЗрдВ рдЗрд╕ рд╕реЗ рдмрджрд▓реЗрдВ
``` рд╕реА#
рд╕реЗрд╡рд╛рдПрдВред рд╕рд┐рдВрдЧрд▓рдЯрди рдЬреЛрдбрд╝реЗрдВ();

to this 

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

3428 рдирдП PowerBI рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдЙрдкрд░реЛрдХреНрдд рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @SSanjeevi !

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

andhdo picture andhdo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

edemehmetcan picture edemehmetcan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GitDruid picture GitDruid  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hansmbakker picture hansmbakker  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BillStrait picture BillStrait  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ