Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Auswertungsmodell der Power Query M-Formelsprache wird nach dem Auswertungsmodell modelliert, das häufig in Kalkulationstabellen zu finden ist, wobei die Reihenfolge der Berechnungen basierend auf Abhängigkeiten zwischen den Formeln in den Zellen bestimmt werden kann.
Wenn Sie Formeln in einer Kalkulationstabelle wie Excel geschrieben haben, können Sie feststellen, dass die Formeln auf der linken Seite bei der Berechnung die Werte rechts ergeben:
In M kann ein Ausdruck anhand des Namens auf frühere Ausdrücke verweisen, und der Auswertungsprozess bestimmt automatisch die Reihenfolge, in der referenzierte Ausdrücke berechnet werden.
Verwenden wir einen Datensatz, um einen Ausdruck zu erzeugen, der dem obigen Tabellenkalkulationsbeispiel entspricht. Beim Initialisieren des Werts eines Felds verweisen Sie wie folgt auf andere Felder innerhalb des Datensatzes anhand des Feldnamens:
[
A1 = A2 * 2,
A2 = A3 + 1,
A3 = 1
]
Der obige Ausdruck wird mit dem folgenden Datensatz ausgewertet:
[
A1 = 4,
A2 = 2,
A3 = 1
]
Datensätze können innerhalb oder geschachtelt innerhalb anderer Datensätze enthalten sein. Sie können den Nachschlageoperator ([ ]) verwenden, um auf die Felder eines Datensatzes anhand des Namens zuzugreifen. Der folgende Datensatz enthält beispielsweise ein Feld namens "Sales", das einen Datensatz enthält, und ein Feld mit dem Namen "Total", das auf die Felder "FirstHalf" und "SecondHalf" des Datensatzes "Sales" zugreift:
[
Sales = [ FirstHalf = 1000, SecondHalf = 1100 ],
Total = Sales[FirstHalf] + Sales[SecondHalf]
]
Der obige Ausdruck wird mit dem folgenden Datensatz ausgewertet:
[
Sales = [ FirstHalf = 1000, SecondHalf = 1100 ],
Total = 2100
]
Sie verwenden den Positionsindexoperator ({ }), um auf ein Element in einer Liste anhand seines numerischen Indexes zuzugreifen. Die Werte in einer Liste werden anhand eines nullbasierten Indexes vom Anfang der Liste referenziert. Beispielsweise werden die Indizes 0 und 1 verwendet, um auf die ersten und zweiten Elemente in der folgenden Liste zu verweisen:
[
Sales =
{
[
Year = 2007,
FirstHalf = 1000,
SecondHalf = 1100,
Total = FirstHalf + SecondHalf // equals 2100
],
[
Year = 2008,
FirstHalf = 1200,
SecondHalf = 1300,
Total = FirstHalf + SecondHalf // equals 2500
]
},
#"Total Sales" = Sales{0}[Total] + Sales{1}[Total] // equals 4600
]
Faule und eifrige Bewertung
Listen-, Datensatz- und Tabellenelementausdrückesowie Ausdrücke (Gehe zu Ausdrücken, Werten und Let-Ausdrücken) werden mithilfe der faulen Auswertung ausgewertet. Das heißt, sie werden bei Bedarf ausgewertet. Alle anderen Ausdrücke werden mit eifriger Auswertung ausgewertet. Das heißt, sie werden sofort ausgewertet, wenn sie während des Evaluierungsprozesses aufgetreten sind. Dies ist eine gute Möglichkeit, sich daran zu erinnern, dass die Auswertung eines Listen- oder Datensatzausdrucks einen Listen- oder Datensatzwert zurückgibt, der weiß, wie die Listenelemente oder Datensatzfelder bei Bedarf berechnet werden müssen (durch Nachschlage- oder Indexoperatoren).