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