Поделиться через


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