2017-07-17 3 views
0

Ich versuche, die Qlikview Aggr-Funktion in Microstrategy zu replizieren. Ich habe den Qlikview-Code unten und was ich denke, ist die äquivalente SQL-Übersetzung. Die Felder wären Attribute in meinem Datensatz. Wenn Sie einen Wert aus einem Filter im Dashboard auswählen, wird die Where-Klausel in der Metrik gefiltert. Gibt es eine Möglichkeit, Parameter in Metriken in der Mikrostrategie zu erstellen? Oder hat jemand einen Vorschlag, wie man eine äquivalente Metrik erstellt? Ich kratze mir am Unterabfrageteil wirklich den Kopf, ich weiß nicht, ob ich das als Tatsache erstellen könnte und baue daraus eine Metrik auf.Qlikview "Aggr" Funktion entspricht in Microstrategy

Qlikview: 

Max({<Field1=>} Aggr(Sum({<Field2={'Value1'},Field3={'Value2'}, Field1=>} ThingCount), Field1)) 






SQL Equivalent: 

select 
Max(Value) 
    from(
    select Sum(case when Field2 in ('Value1') 
          and Field3 in ('Value2') 
          and Field1 is not NULL 
        then ThingCount end) as Value, 
    Field1 
    from Table 
    where Field1 = "FilterValue" 
    group by Field1 
    )a 

Antwort

0

die SQL zu erhalten, die Sie möchten, zwei Metriken in MSTR bauen sollten:

  • ein, dass die Summe, mit einem Fall berechnet (eigentlich würde ich den Fall in der Tat Definition setzen) .

  • Eine zweite Metrik (eine Metrik der Ebene) berechnet den MAX, wobei das Attribut Field1 ignoriert wird.

Die Where-Bedingung ist nur ein Selektor in einem MSTR-Dokument/Dashboard.

+0

Vielen Dank für Ihren Besuch. Die Tatsache und die erste Metrik, die Sie beschreiben, wären mehrwertig. Es würde zwei Felder zurückgeben: Wert und Feld1, und diese beiden Felder hätten mehrere Werte. Ist das in der Mikrostrategie möglich? – ndderwerdo

+0

Was ich beschrieben habe, wird (mehr oder weniger) die Anfrage zurückgeben, nach der Sie gefragt haben. In MicroStrategy ist eine Metrik eine Berechnung über einer Tatsache (die eine numerische Spalte in Ihrer Faktentabelle sein sollte), Field1 ist ein Attribut in MicroStrategy. Ich kann dir von hier aus nicht mehr helfen, du solltest jemanden finden, der dir helfen kann, bessere MSTR zu verstehen oder dir zu zeigen, wie man dieses Problem löst – mucio