Botframework-solutions: VA에 μ—°κ²°ν•œ ν›„ μ¦‰μ‹œ μ‚¬μš© κ°€λŠ₯ν•œ Power BI λ³΄κ³ μ„œ 였λ₯˜

에 λ§Œλ“  2020λ…„ 03μ›” 01일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: microsoft/botframework-solutions

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

μ—¬κΈ°μ—μ„œ Virtual Assistant 뢄석 ν…œν”Œλ¦Ώμ„ VA에 μ—°κ²°ν•˜λŠ” μžμŠ΅μ„œλ₯Ό λ”°λžμ§€λ§Œ λ‹€μŒ νƒ­μ—μ„œ 였λ₯˜κ°€ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • μ‚¬μš©μž ν”Όλ“œλ°±
  • λŒ€ν™” λ“œλ¦΄λ‹€μš΄
  • 성적 증λͺ…μ„œ

image
image

Internal Committed Bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

도움이 λ˜μ§€λ§Œ λͺ¨λ“  데이터가 κΈ°λ³Έ VA ν…œν”Œλ¦Ώμ—μ„œ μƒμ„±λ˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. λŒ€ν™” λ‚΄μš© 및 λŒ€ν™” λ“œλ¦΄λ‹€μš΄μ— λŒ€ν•œ λŒ€ν™” λ©”μ‹œμ§€μ˜ λ‚΄μš©μ€ 기본적으둜 λΉ„ν™œμ„±ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ›ν•˜λŠ” 경우 원격 뢄석 λ―Έλ””μ›¨μ–΄μ—μ„œ logPersonalInformation=trueλ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

이λ₯Ό ν™œμ„±ν™”ν•˜λ €λ©΄ λ‹€μŒμ—μ„œ Startup.cs의 이 쀄을 λ³€κ²½ν•˜μ‹­μ‹œμ˜€.
``` C#
services.AddSingleton();

to this 

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

λͺ¨λ“  4 λŒ“κΈ€

이 문제 λ˜λŠ” 적어도 ν•˜λ‚˜μ˜ 맀우 μœ μ‚¬ν•œ λ¬Έμ œκ°€ λ°œμƒν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. PowerBIλ₯Ό μ—΄λ©΄ Transcript νƒ­/λ³΄κ³ μ„œμ— λ‹€μŒ 였λ₯˜κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

vamissingfields

방금 μ—¬κΈ°μ—μ„œ μ΅œμ‹  pbitλ₯Ό λ‹€μš΄λ‘œλ“œν–ˆλŠ”λ° λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. https://microsoft.github.io/botframework-solutions/assets/analytics/virtual-assistant-analytics-sample.pbit

μƒν˜Έ μž‘μš©μ— λŒ€ν•œ power bi 쿼리에 μ–ΈκΈ‰λœ μœ ν˜• 문제:

group by -의 일뢀 열에 λŒ€ν•œ μœ ν˜• 값을 ν…μŠ€νŠΈλ‘œ λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μƒν˜Έ μž‘μš©μ„ μœ„ν•΄ 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"

λˆ„κ΅°κ°€μ—κ²Œ 도움이 λœλ‹€λ©΄ μ•Œλ €μ£Όμ„Έμš” :)

도움이 λ˜μ§€λ§Œ λͺ¨λ“  데이터가 κΈ°λ³Έ VA ν…œν”Œλ¦Ώμ—μ„œ μƒμ„±λ˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. λŒ€ν™” λ‚΄μš© 및 λŒ€ν™” λ“œλ¦΄λ‹€μš΄μ— λŒ€ν•œ λŒ€ν™” λ©”μ‹œμ§€μ˜ λ‚΄μš©μ€ 기본적으둜 λΉ„ν™œμ„±ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ›ν•˜λŠ” 경우 원격 뢄석 λ―Έλ””μ›¨μ–΄μ—μ„œ logPersonalInformation=trueλ₯Ό μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

이λ₯Ό ν™œμ„±ν™”ν•˜λ €λ©΄ λ‹€μŒμ—μ„œ Startup.cs의 이 쀄을 λ³€κ²½ν•˜μ‹­μ‹œμ˜€.
``` C#
services.AddSingleton();

to this 

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

3428은 μƒˆ PowerBI ν…œν”Œλ¦Ώμ—μ„œ λ°œμƒν•˜λŠ” μœ„μ˜ 데이터 μœ ν˜• 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. 포인터에 λŒ€ν•΄ @SSanjeevi μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰