Diese zwei Skripte sind gleich.
Dies wird effektiv eine Menge von Tupeln auf den Zeilen setzen - Sie das Tupel definiertem haben explizit die geschweiften Klammern über den Sternoperator (...)
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
( //<<start of tuple
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];
Das zweite Skript *
ein Cross-Join ist:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
[Product].[Category].[Category] * [Date].[Calendar Year].[Calendar Year] ON ROWS
FROM [Adventure Works];
Wenn Sie eine crossjoin
Aktion ausführen, gibt es eine Reihe von Tupeln zurück - Sie haben also den gleichen Zellensatz.
könnten Sie schreiben Crossjoin stattdessen den Stern mit - obwohl der Star die am häufigsten verwendete Schreibweise in der modernen MDX-Skripts ist:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
CrossJoin
(
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];