Share via


Query : construction d’une requête olapR

Query construit un objet « Query ». Les fonctions d’agrégation sont utilisées pour créer et modifier les axes de requête et le nom de cube.

Utilisation

  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

Valeur logique (TRUE, FALSE, NA) indiquant si la requête doit être validée lors de l’exécution

qry

Objet de la classe « Query » retourné par Query

cubeName

Chaîne spécifiant le nom du cube à interroger

axis

Vecteur de chaînes spécifiant un axe. Voir l'exemple ci-dessous.

n

Entier représentant le nombre d’axes à définir. axis(qry, 1) == columns(qry), axis(qry, 2) == pages(qry), etc.

Détails

Query est le constructeur de l’objet Query. Les fonctions d’agrégation sont utilisées pour spécifier ce que la requête doit retourner. Les requêtes sont passées aux fonctions Execute2D et ExecuteMD. compose prend l’objet Query et génère une chaîne MDX équivalant à celle que les fonctions Execute génèrent et utilisent.

Valeur

Query retourne un objet de type « Query ». cube renvoie une chaîne. columns renvoie un vecteur de chaînes. rows renvoie un vecteur de chaînes. pages renvoie un vecteur de chaînes. sections renvoie un vecteur de chaînes. axis renvoie un vecteur de chaînes. slicers renvoie un vecteur de chaînes. compose renvoie une chaîne. is.Query retourne une valeur booléenne.

Notes

  • Un objet de requête n’est pas aussi puissant que le MDX pur. Si l’API de requête n’est pas suffisante, essayez d’utiliser une chaîne de requête MDX avec l’une des fonctions d’exécution.

References

Consultez execute2D ou executeMD pour obtenir des références.

Voir aussi

execute2D, executeMD, OlapConnection, explore

Exemples


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