Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Základní dotaz MDX (Multidimensional Expressions) je příkaz SELECT– nejčastěji používaný dotaz v JAZYCE MDX. Když pochopíte, jak příkaz MDX SELECT musí určit sadu výsledků, jaká je syntaxe příkazu SELECT a jak vytvořit jednoduchý dotaz pomocí příkazu SELECT, budete mít solidní znalosti o tom, jak pomocí jazyka MDX dotazovat multidimenzionální data.
Zadání sady výsledků
Příkaz SELECT v MDX určuje sadu výsledků obsahující podmnožinu multidimenzionálních dat vrácených z datové krychle. Pokud chcete zadat sadu výsledků, musí dotaz MDX obsahovat následující informace:
Počet os, které chcete, aby sada výsledků obsahovala. V dotazu MDX můžete zadat až 128 os.
Sada členů nebo n-tic, které se mají zahrnout pro každou osu dotazu MDX.
Název datové krychle, která nastaví kontext dotazu MDX.
Sada členů nebo datových kolekcí, které se mají zahrnout na osu řezu. Další informace o průřezu a osách dotazů najdete v tématu Omezení dotazu pomocí os dotazů a průřezů (MDX).
Pro identifikaci os dotazu, datové krychle, která bude dotazována, a průřezové osy používá příkaz MDX SELECT následující klauzule:
Klauzule SELECT, která určuje osy dotazu příkazu MDX SELECT. Další informace o konstrukci os dotazů v klauzuli SELECT naleznete v tématu Určení obsahu osy dotazu (MDX).
Klauzule FROM, která určuje, která datová krychle bude dotazována. Další informace o klauzuli FROM naleznete v tématu SELECT – příkaz (MDX).
Volitelná klauzule WHERE, která určuje, které členy nebo řazené kolekce členů se mají použít na ose průřezu k omezení vrácených dat. Další informace o konstrukci osy průřezu v klauzuli WHERE naleznete v tématu Určení obsahu osy průřezu (MDX).
Poznámka:
Podrobnější informace o různých klauzulích příkazu SELECT naleznete v tématu SELECT – příkaz (MDX).
Syntaxe příkazu SELECT
Následující syntaxe ukazuje základní příkaz SELECT, který zahrnuje použití klauzulí SELECT, FROM a 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> ]
Příkaz MDX SELECT podporuje volitelnou syntaxi, jako je klíčové slovo WITH, použití funkcí MDX k vytvoření počítaných členů pro zahrnutí do osy nebo osy průřezu a možnost vracet hodnoty konkrétních vlastností buňky v rámci dotazu. Další informace o příkazu MDX SELECT naleznete v tématu PŘÍKAZ SELECT (MDX).
Porovnání syntaxe příkazu MDX SELECT s JAZYKem SQL
Formát syntaxe příkazu MDX SELECT je podobný syntaxi JAZYKa SQL. Existuje však několik základních rozdílů:
Syntaxe MDX rozlišuje sady obklopující členy nebo sady složenými závorkami ({ a }). Další informace o syntaxi členů, tuplů a sad najdete v tématu Práce se členy, tuplů a sadami (MDX).
Dotazy MDX můžou mít v příkazu SELECT osy dotazu 0, 1, 2 nebo až 128. Každá osa se chová úplně stejně, na rozdíl od SQL, kde existují významné rozdíly mezi chováním řádků a sloupců dotazu.
Stejně jako u dotazu SQL pojmenuje klauzule FROM zdroj dat pro dotaz MDX. Klauzule MDX FROM je však omezena na jednu kostku. Informace z jiných datových krychlí lze načíst podle hodnoty pomocí funkce LookupCube.
Klauzule WHERE popisuje osu průřezu v dotazu MDX. Funguje jako neviditelná, další osa v dotazu, která rozděluje hodnoty zobrazené v buňkách v sadě výsledků; na rozdíl od podmínek SQL WHERE nemá přímý vliv na to, co se zobrazuje na ose řádků dotazu. Funkce klauzule SQL WHERE je k dispozici prostřednictvím jiných funkcí MDX, jako je funkce FILTER.
Příklad příkazu SELECT
Následující příklad ukazuje základní dotaz MDX, který používá příkaz SELECT. Tento dotaz vrátí sadu výsledků obsahující částky prodeje a daně 2002 a 2003 pro oblasti prodeje na jihozápadě.
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] )
V tomto příkladu dotaz definuje následující informace sady výsledků:
Klauzule SELECT nastaví osy dotazu jako členy Sales Amount (Částka prodeje) a Tax Amount (Částka daně) dimenze Míry (Míry) a členy 2002 a 2003 (Datum) dimenze Date (Datum).
Klauzule FROM označuje, že zdrojem dat je datová krychle Adventure Works.
Klauzule WHERE definuje osu průřezu jako jihozápadní člen dimenze Sales Territory.
Všimněte si, že aliasy os SLOUPCŮ a ŘÁDKŮ se používají také v příkladu dotazu. Mohly být také použity ordinální pozice pro tyto osy. Následující příklad ukazuje, jak se dotaz MDX mohl zapsat tak, aby používal řadovou pozici každé osy:
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] )
Podrobnější příklady najdete v tématu Určení obsahu osy dotazu (MDX) a určení obsahu osy průřezu (MDX).
Viz také
Klíčové koncepty v MDX (Analysis Services)
Příkaz SELECT (MDX)