Ich habe versucht, SSAS Cubes und MDX zu lernen. Bisher habe ich es geschafft, einen Würfel zu erstellen, der die richtigen Daten/Berechnungen zurückgibt, wenn er durch den Cube-Browser betrachtet wird.Hilfe zu verstehen OLAP MDX Query
Der Abfrage-Generator wurde verwendet, um eine Abfrage in Reporting Services zu erstellen, um den Cube abzufragen. Ich habe mir das generierte MDX angesehen und das Zeug herausgezogen, das die tatsächlichen Ergebnisse nicht zu verändern scheint. Die Abfrage sieht wie folgt aus:
SELECT NON EMPTY { [Measures].[AverageConnectedSeconds] } ON COLUMNS,
NON EMPTY { ([Operator].[ACCESS DEF].[ACCESS DEF].ALLMEMBERS * [Calls].[Notification Time Bands].[Notification Time Bands].ALLMEMBERS) } ON ROWS
FROM (SELECT (-{ [Calls].[Notification Time Bands].&[0] }) ON COLUMNS
FROM (SELECT ({ [Calls].[Incoming YN].[N] }) ON COLUMNS
FROM (SELECT (-{ [Calls].[Entity Type].&[6] }) ON COLUMNS
FROM (SELECT (-{ [Calls].[Reason Text].&[Background Call] }) ON COLUMNS
FROM (SELECT ({ STRTOMEMBER(@OperatorId) }) ON COLUMNS
FROM [PNC5data])))))
Ich habe auf der Syntax lesen und ich THINK Ich verstehe, warum die Abfrage verschachtelt wählt tut. Bin ich richtig zu verstehen, dass die geschachtelten SELECT FROMs als eine WHERE-Klausel in SQL fungieren würde?
Wenn ja: Was ist die WHERE-Klausel in MDX verwendet und wann/warum sollte ich eine verwenden?
Wenn jemand mir eine Aufschlüsselung dessen geben kann, was tatsächlich in dieser Abfrage passiert, würde ich es wirklich schätzen! Oder wenn Sie in der Lage sind, mich zu einer Ressource zu leiten, die mein Verständnis von MDX fördert, wäre ich dankbar!
Danke,
James
Auf jeden Fall sehr wichtig zu sagen, dass WHERE in SQL ist nicht das gleiche wie WHERE in MDX. –