Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Den grundläggande MDX-frågan (Multidimensional Expressions) är SELECT-instruktionen – den vanligaste frågan i MDX. Genom att förstå hur en MDX SELECT-instruktion måste ange en resultatuppsättning, vad syntaxen för SELECT-instruktionen är och hur du skapar en enkel fråga med select-instruktionen har du en gedigen förståelse för hur du använder MDX för att köra frågor mot flerdimensionella data.
Ange en resultatuppsättning
I MDX anger SELECT-instruktionen en resultatuppsättning som innehåller en delmängd flerdimensionella data som har returnerats från en kub. Om du vill ange en resultatuppsättning måste en MDX-fråga innehålla följande information:
Antalet axlar som du vill att resultatuppsättningen ska innehålla. Du kan ange upp till 128 axlar i en MDX-fråga.
Uppsättningen av medlemmar eller tupel som ska inkluderas på varje axel i MDX-frågan.
Namnet på kuben som anger kontexten för MDX-frågan.
Uppsättningen medlemmar eller tupplar som ska inkluderas på utsnittsaxeln. Mer information om utsnitts- och frågeaxlar finns i Begränsa frågan med fråge- och utsnittsaxlar (MDX).
För att identifiera frågeaxlarna, kuben som ska frågas och utsnittsaxeln använder MDX SELECT-instruktionen följande satser:
En SELECT-sats som avgör frågeaxlarna för en MDX SELECT-instruktion. Mer information om hur du skapar frågeaxlar i en SELECT-sats finns i Ange innehållet i en frågeaxel (MDX).
En FROM-sats som avgör vilken kub som ska frågas. Mer information om FROM-satsen finns i SELECT-instruktion (MDX).
En valfri WHERE-sats som avgör vilka medlemmar eller tupplar som ska användas på utsnittsaxeln för att begränsa de data som returneras. Mer information om konstruktionen av en utsnittsaxel i en WHERE-sats finns i Ange innehållet i en utsnittsaxel (MDX).
Anmärkning
Mer detaljerad information om de olika satserna i SELECT-instruktionen finns i SELECT-instruktion (MDX).
SELECT-instruktionssyntax
Följande syntax visar en grundläggande SELECT-instruktion som innehåller användningen av satserna SELECT, FROM och WHERE:
[ 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> ]
MDX SELECT-instruktionen stöder valfri syntax, till exempel nyckelordet WITH, användning av MDX-funktioner för att skapa beräknade medlemmar för inkludering i en axel eller utsnittsaxel samt möjligheten att returnera värdena för specifika cellegenskaper som en del av frågan. Mer information om MDX SELECT-instruktionen finns i SELECT-instruktion (MDX).
Jämföra syntaxen för MDX SELECT-instruktionen med SQL
Syntaxformatet för MDX SELECT-instruktionen liknar SQL-syntaxen. Det finns dock flera grundläggande skillnader:
MDX-syntax skiljer uppsättningar genom att omge av tupplar eller medlemmar med klammerparenteser (tecknen { och }). Mer information om medlemmar, tupplar och uppsättningars syntax hänvisas till i Arbeta med medlemmar, tupplar och uppsättningar (MDX).
MDX-frågor kan ha 0, 1, 2 eller upp till 128 frågeaxlar i SELECT-instruktionen. Varje axel fungerar på exakt samma sätt, till skillnad från SQL där det finns betydande skillnader mellan hur raderna och kolumnerna i en fråga beter sig.
Precis som med en SQL-fråga namnger FROM-satsen datakällan för MDX-frågan. MDX FROM-satsen är dock begränsad till att gälla en enda kub. Information från andra kuber kan hämtas värde för värde med hjälp av funktionen LookupCube.
WHERE-satsen beskriver utsnittsaxeln i en MDX-fråga. Den fungerar som något som liknar en osynlig, extra axel i frågan och delar upp de värden som visas i cellerna i resultatuppsättningen. till skillnad från SQL WHERE-satsen påverkar det inte direkt vad som visas på frågans radaxel. Funktionerna i SQL WHERE-satsen är tillgängliga via andra MDX-funktioner, till exempel filterfunktionen.
Exempel på SELECT-instruktion
I följande exempel visas en grundläggande MDX-fråga som använder SELECT-instruktionen. Den här frågan returnerar en resultatuppsättning som innehåller försäljnings- och skattebeloppen 2002 och 2003 för de sydvästra försäljningsområdena.
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] )
I det här exemplet definierar frågan följande resultatuppsättningsinformation:
SELECT-satsen anger frågeaxlarna som medlemmar i måttdimensionen Sales Amount och Tax Amount samt medlemmarna 2002 och 2003 i dimensionen Date.
FROM-satsen anger att datakällan är Adventure Works-kuben.
WHERE-satsen definierar utsnittsaxeln som den sydvästra medlemmen av dimensionen Försäljningsterritorium.
Observera att frågeexemplet även använder alias för axlarna KOLUMNER och RADER. Ordningspositionerna för dessa axlar kunde också ha använts. I följande exempel visas hur MDX-fråga skulle ha kunnat skrivas för att använda ordningspositionen för varje axel.
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] )
Mer detaljerade exempel finns i Ange innehållet i en frågeaxel (MDX) och Ange innehållet i en utsnittsaxel (MDX).
Se även
Nyckelbegrepp i MDX (Analysis Services)
SELECT-instruktion (MDX)