2017-01-12 2 views
4

Wenn ich versuche, in einem der Felder customDimensions beizutreten, erhalte ich einen Syntaxfehler: "Join-Attribute dürfen nur Spaltenentität oder Gleichheitsausdrücke sein". Ich kann nicht benutzerdefinierte Spalten wie Name oder Zeitstempel beitreten.Wie können Sie bei customDimensions in Application Insights Analytics teilnehmen?

Beispielcode:

let ExperimentLaunchedEvents = customEvents | where name == "ExperimentLaunched" und timestamp> now (-30d);

lassen ExperimentTerminatedEvents = customEvents | where name == "ExperimentTerminated" und timestamp> now (-30d);

ExperimentLaunchedEvents
| Projektname, Zeitstempel, experimentId = customDimensions.ExperimentId
| beitreten Art = leftanti (ExperimentTerminatedEvents
| Projektnamen, Zeitstempel, experimentId = customDimensions.ExperimentId)
auf tostring (experimentId)

Wenn auf customDimensions Spalten Beitritt nicht unterstützt wird, ist es eine Möglichkeit, gestartet Experimente zu erreichen auszuwählen, die wurden nicht beendet? Vielen Dank!

Antwort

7

Wie von John in den Kommentaren erwähnt Wenn Sie benutzerdefinierte Dimensionen für beliebige Operationen verwenden, müssen Sie sie in einen Typ konvertieren, der von der Abfrage-Engine verwendet werden kann. In diesem Fall verwende ich tostring(), aber Sie können auch andere Funktionen wie toint() verwenden.

Ich auch einen Spaltentyp erweitern, so dass es in Klauseln wie Join oder wo wiederverwendet werden kann, ohne die lange Hand immer wieder zu verwenden.

ExperimentLaunchedEvents 
| extend experimentId=tostring(customDimensions.ExperimentId) 
| project name, timestamp, experimentId 
| join kind=leftanti (ExperimentTerminatedEvents 
| extend experimentId=tostring(customDimensions.ExperimentId) 
| project name, timestamp, experimentId) 
on experimentId 
+1

das hat funktioniert, danke! – ZhenyaR

+0

Kein Problem. Nicht sicher, warum dies abgelehnt wurde. –

+1

es ist mehr als die Erweiterung, die 'tostring' ist eigentlich das wichtige Ding hier. Mit Analytics-Joins können Sie nur "bekannten" Typen beitreten, und standardmäßig ist customDimensions selbst ein "beliebiger" oder "benutzerdefinierter" oder "json" -Typ, bei dem es sich um alles Mögliche handeln kann. –

Verwandte Themen