Query: создание запроса olapR
Query
создает объект Query. Агрегатные функции используются для построения и изменения осей Query и имени куба.
Использование
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)
Аргументы
validate
Логическое значение (TRUE, FALSE, NA), указывающее, должна ли функция Query проверяться во время выполнения
qry
Объект класса Query, возвращенный Query
cubeName
Строка, указывающая имя куба для запроса
axis
Вектор строк, указывающий ось. См. пример ниже.
n
Целое число, представляющее номер оси, который необходимо задать. axis(qry, 1) == columns(qry), axis(qry, 2) == pages(qry) и т. д.
Подробнее
Query
— конструктор для объекта Query. Агрегатные функции используются для указания возвращаемого функцией Query содержимого. Запросы передаются функциям Execute2D
и ExecuteMD
. compose
принимает объект Query и формирует строку многомерных выражений, эквивалентную той, которую функции Execute будут создавать и использовать.
Значение
Query
возвращает объект типа Query.
cube
возвращает строку.
columns
возвращает вектор строк.
rows
возвращает вектор строк.
pages
возвращает вектор строк.
sections
возвращает вектор строк.
axis
возвращает вектор строк.
slicers
возвращает вектор строк.
compose
возвращает строку.
is.Query
возвращает логическое значение.
Примечания
- Объект Query не такой мощный, как чистое многомерное выражение. Если API Query недостаточно, попробуйте использовать строку запроса многомерных выражений с одной из функций Execute.
Ссылки
Справочные сведения см. на странице execute2D или executeMD.
См. также
execute2D, executeMD, OlapConnection, explore
Примеры
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]}