Dotaz: konstrukce dotazu olapR

Query vytváří objekt "Dotaz". Sady se používají k vytvoření a úpravě dotazovacích os a názvu krychle.

Usage

  Query(validate = FALSE)

  cube(qry)
  cube(qry) <- cubeName

  columns(qry)
  columns(qry) <- axis

  rows(qry)
  rows(qry) <- axis

  pages(qry)
  pages(qry) <- axis

  chapters(qry)
  chapters(qry) <- axis

  axis(qry, n)
  axis(qry, n) <- axis

  slicers(qry)
  slicers(qry) <- axis

  compose(qry)

  is.Query(qry)

Arguments

validate

Logická (PRAVDA, NEPRAVDA, NA) specifikující, zda má být dotaz ověřen během provádění

qry

Objekt třídy "Dotaz" vrácený Query

cubeName

Řetězec specifikující název krychle, kterou má být dotazována

axis

Vektor řetězců určující osu. Viz příklad níže.

n

Celé číslo představující číslo osy, které má být nastaveno. Osa(qry, 1) == sloupce(qry), osa(qry, 2) == pages(qry) atd.

Podrobnosti

Query je konstruktor pro objekt Dotaz. Funkce množin se používají k určení, co by měl dotaz vrátit. Dotazy jsou předávány funkcím Execute2D a ExecuteMD funkcím. compose vezme objekt Query a vygeneruje MDX řetězec ekvivalentní tomu, který by generovaly a používaly funkce Execut.

Value

Query vrátí objekt typu "Query". cube vrátí řetězec. columns vrací vektor řetězců. rows vrací vektor řetězců. pages vrací vektor řetězců. sections vrací vektor řetězců. axis vrací vektor řetězců. slicers vrací vektor řetězců. compose vrátí řetězec. is.Query Vrací Booleovskou odpověď.

Poznámky

  • Objekt Query není tak výkonný jako čisté MDX. Pokud API pro dotazy nestačí, zkuste použít řetězec MDX dotazu s jednou z funkcí Execut.

Odkazy

Viz execute2D nebo executeMD pro reference.

Examples


 qry <- Query(validate = TRUE)

 cube(qry) <- "[Analysis Services Tutorial]"

 columns(qry) <- c("[Measures].[Internet Sales Count]", "[Measures].[Internet Sales-Sales Amount]")
 rows(qry) <- c("[Product].[Product Line].[Product Line].MEMBERS") 
 axis(qry, 3) <- c("[Date].[Calendar Quarter].MEMBERS")

 slicers(qry) <- c("[Sales Territory].[Sales Territories].[Sales Territory Region].[Northwest]")

 print(cube(qry)) #[Analysis Services Tutorial]
 print(axis(qry, 2)) #c("[Product].[Product Line].[Product Line].MEMBERS") 

 print(compose(qry))  #SELECT {[Measures].[Internet Sales Count], [Measures].[Internet Sales-Sales Amount]} ON AXIS(0), {[Product].[Product Line].[Product Line].MEMBERS} ON AXIS(1), {[Date].[Calendar Quarter].MEMBERS} ON AXIS(2) FROM [Analysis Services Tutorial] WHERE {[Sales Territory].[Sales Territories].[Sales Territory Region].[Northwest]}