User Email Submissions accuracy vs Admin review verdict
Description
This query visualises user submissions type compared to admin review verdict
Query · kql
let ReviewResults = CloudAppEvents | where ActionType == "SubmissionNotification" | extend SubmissionId = tostring(parse_json(RawEventData).SubmissionId) | extend Properties = parse_json(RawEventData.ExtendedProperties) | mv-expand element = Properties | where element.Name == "AdminReviewResult" | project SubmissionId, AdminReviewResult = element.Value; CloudAppEvents | where ActionType == "UserSubmission" | extend SubmissionId = tostring(parse_json(RawEventData).SubmissionId), SubmissionType = parse_json(RawEventData).SubmissionType | join kind=leftouter ReviewResults on SubmissionId | extend UserReportedAs=iif(SubmissionType == 1, "Phish",iif(SubmissionType == 2, "Junk",iif(SubmissionType == 3, "NotJunk",""))) | extend ReviewedAccuracy=iif(AdminReviewResult==UserReportedAs, "Correct", iif(AdminReviewResult=="Phish" and UserReportedAs == "Junk", "Phish reported as junk",iif(AdminReviewResult=="Junk" and UserReportedAs == "Phish","Junk reported as Phish",iif(AdminReviewResult=="NotJunk","Reported but not malicious or spam",iif(isempty(AdminReviewResult),"Not Reviewed","Not correct"))))) | extend Reviewed=iif(isempty(AdminReviewResult),"Not Reviewed","Reviewed") | project SubmissionId,UserReportedAs,Reviewed,AdminReviewResult, ReviewedAccuracy | where Reviewed=="Reviewed" | summarize count() by ReviewedAccuracy | render piechart