Fråga: olapR frågekonstruktion

Query konstruerar ett "Query"-objekt. Set-funktioner används för att bygga och modifiera Query-axlar och kubnamn.

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

En logisk (TRUE, FALSE, NA) som specificerar om Query ska valideras under exekveringen

qry

Ett objekt av klassen "Query" returnerat av Query

cubeName

En sträng som anger namnet på kuben som ska frågas

axis

En vektor av strängar som specificerar en axel. Se exempel nedan.

n

Ett heltal som representerar axelnumret som ska sättas. axis(qry, 1) == kolumner(qry), axis(qry, 2) == pages(qry), etc.

Detaljer

Query är konstruktorn för Query-objektet. Set-funktioner används för att specificera vad Query ska returnera. Frågor skickas till Execute2D och ExecuteMD funktionerna. compose tar Query-objektet och genererar en MDX-sträng som motsvarar den som Execut-funktionerna skulle generera och använda.

Value

Query returnerar ett objekt av typen "Query". cube returnerar en sträng. columns returnerar en vektor av strängar. rows returnerar en vektor av strängar. pages returnerar en vektor av strängar. sections returnerar en vektor av strängar. axis returnerar en vektor av strängar. slicers returnerar en vektor av strängar. compose returnerar en sträng. is.Query Returnerar en boolean.

Notes

  • Ett Query-objekt är inte lika kraftfullt som ren MDX. Om Query API inte är tillräckligt, försök använda en MDX Query-sträng med en av Execut-funktionerna.

References

Se execute2D eller executeMD för referenser.

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]}