Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Az alapszintű többdimenziós kifejezések (MDX) lekérdezése a SELECT utasítás, amely az MDX leggyakrabban használt lekérdezése. Ha tisztában van azzal, hogy az MDX SELECT utasításnak hogyan kell megadnia egy eredményhalmazt, mi a SELECT utasítás szintaxisa, és hogyan hozhat létre egyszerű lekérdezést a SELECT utasítással, alapos ismeretekkel rendelkezik arról, hogyan használható az MDX a többdimenziós adatok lekérdezésére.
Eredményhalmaz megadása
Az MDX-ben a SELECT utasítás egy olyan eredményhalmazt határoz meg, amely egy kockából visszaadott többdimenziós adatok részhalmazát tartalmazza. Eredményhalmaz megadásához az MDX-lekérdezésnek a következő információkat kell tartalmaznia:
Azon tengelyek száma, amelyeket az eredményhalmaznak tartalmaznia kell. Egy MDX-lekérdezésben legfeljebb 128 tengelyt adhat meg.
Az MDX-lekérdezés egyes tengelyeibe belefoglalandó tagok vagy tuplesek halmaza.
Az MDX-lekérdezés környezetét meghatározó kocka neve.
A szeletelőtengelybe belefoglalandó tagok vagy tuplesek halmaza. A szeletelővel és a lekérdezési tengelyekkel kapcsolatos további információkért lásd : A lekérdezés korlátozása lekérdezéssel és szeletelőtengelyekkel (MDX).
A lekérdezési tengelyek, a lekérdezendő kocka és a szeletelőtengely azonosításához az MDX SELECT utasítás a következő záradékokat használja:
SELECT záradék, amely meghatározza egy MDX SELECT utasítás lekérdezési tengelyeit. A LEKÉRDEZÉSI TENGELYEK SELECT záradékban való felépítéséről további információt a lekérdezési tengely (MDX) tartalmának megadása című témakörben talál.
A FROM utasítás meghatározza, hogy melyik kockát kell lekérdezni. A FROM záradékról további információt a SELECT utasításban (MDX) talál.
Választható WHERE záradék, amely meghatározza, hogy a szeletelőtengelyen mely tagok vagy tuplesek használhatók a visszaadott adatok korlátozásához. A WHERE záradékban lévő szeletelőtengelyek felépítéséről további információt a Szeletelőtengely (MDX) tartalmának megadása című témakörben talál.
Megjegyzés:
A SELECT utasítás különböző záradékairól további információt a SELECT utasítás (MDX) című témakörben talál.
SELECT utasítás szintaxisa
Az alábbi szintaxis egy alapszintű SELECT utasítást mutat be, amely tartalmazza a SELECT, a FROM és a WHERE záradékok használatát:
[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ]
SELECT [ * | ( <SELECT query axis clause>
[ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause>
[ <SELECT slicer axis clause> ]
[ <SELECT cell property list clause> ]
Az MDX SELECT utasítás támogatja az opcionális szintaxist, például a WITH kulcsszót, az MDX-függvények használatát a számított tagok tengelybe vagy szeletelőtengelybe való felvételéhez, valamint az adott cellatulajdonságok értékeinek lekérdezés részeként való visszaadásának lehetőségét. Az MDX SELECT utasításról további információt a SELECT utasításban (MDX) talál.
Az MDX SELECT utasítás szintaxisának összehasonlítása az SQL-hez
Az MDX SELECT utasítás szintaxisformátuma hasonló az SQL-szintaxishoz. Azonban számos alapvető különbség van:
Az MDX szintaxis megkülönbözteti a készleteket, ha kapcsos zárójelek ({ és } karakterek) közé helyezik őket. A tagokról, a többszörösökről és a halmazszintaxisról további információt a Tagok, Többszörösök és Készletek (MDX) című témakörben talál.
Az MDX-lekérdezések 0, 1, 2 vagy legfeljebb 128 lekérdezési tengelyt tartalmazhatnak a SELECT utasításban. Minden tengely pontosan ugyanúgy viselkedik, mint az SQL, ahol jelentős különbségek vannak a sorok és a lekérdezés oszlopai között.
Az SQL-lekérdezésekhez hasonlóan a FROM záradék az MDX-lekérdezés adatainak forrását is elnevezi. Az MDX FROM záradék azonban egyetlen kockára korlátozódik. Más kockákból származó információk a LookupCube függvény használatával lekérhetők érték szerint.
A WHERE záradék egy MDX-lekérdezés szeletelőtengelyét írja le. Úgy működik, mint egy láthatatlan, extra tengely a lekérdezésben, szeleteli a cellákban megjelenő értékeket az eredményhalmazban; az SQL WHERE záradékkal ellentétben ez nem befolyásolja közvetlenül a lekérdezés sortengelyén megjelenő elemeket. Az SQL WHERE záradék funkciója más MDX-függvényeken, például a FILTER függvényen keresztül érhető el.
SELECT utasítás példa
Az alábbi példa egy alapszintű MDX-lekérdezést mutat be, amely a SELECT utasítást használja. Ez a lekérdezés egy eredményhalmazt ad vissza, amely tartalmazza a Délnyugati értékesítési területek 2002- és 2003-ra vonatkozó értékesítéseit és adóösszegeit.
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON COLUMNS,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON ROWS
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
Ebben a példában a lekérdezés a következő eredményhalmaz-információkat határozza meg:
A SELECT záradék a lekérdezési tengelyeket a Mértékek dimenzió Értékesítési összeg és Adóösszeg tagjai, valamint a Dátum dimenzió 2002- és 2003-as tagjaiként állítja be.
A FROM záradék azt jelzi, hogy az adatforrás az Adventure Works-kocka.
A WHERE záradék a szeletelőtengelyt a Sales Territory dimenzió délnyugati tagjaként határozza meg.
Figyelje meg, hogy a lekérdezési példa a COLUMNS és a ROWS tengely aliasait is használja. A tengelyek sorrendi pozícióit is használhatták volna. Az alábbi példa bemutatja, hogyan írható meg az MDX-lekérdezés úgy, hogy az egyes tengelyek sorszám szerinti pozícióját használja.
SELECT
{ [Measures].[Sales Amount],
[Measures].[Tax Amount] } ON 0,
{ [Date].[Fiscal].[Fiscal Year].&[2002],
[Date].[Fiscal].[Fiscal Year].&[2003] } ON 1
FROM [Adventure Works]
WHERE ( [Sales Territory].[Southwest] )
Részletesebb példákért tekintse meg a lekérdezési tengely (MDX) tartalmának megadása és a szeletelőtengely (MDX) tartalmának megadása című témakört.
Lásd még:
Alapfogalmak az MDX-ben (Analysis Services)
SELECT utasítás (MDX)