Query: olapR 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)

qry

Query 返回的“Query”类的对象

cubeName

指定要查询的多维数据集的名称的字符串

axis

指定轴的字符串向量。 请参阅以下示例。

n

一个整数,表示要设置的轴编号。 axis(qry, 1) == columns(qry)、axis(qry, 2) == pages(qry) 等。

详细信息

Query 是查询对象的构造函数。 集函数用于指定查询应返回的内容。 查询传递给 Execute2DExecuteMD 函数。 compose 采用查询对象并生成一个等效于 Execute 函数将生成并使用的 MDX 字符串。

Query 返回“Query”类型的对象。 cube 返回字符串。 columns 返回字符串矢量。 rows 返回字符串矢量。 pages 返回字符串矢量。 sections 返回字符串矢量。 axis 返回字符串矢量。 slicers 返回字符串矢量。 compose 返回字符串。 is.Query 返回布尔值。

备注

  • 查询对象的功能没有纯 MDX 多。 如果查询 API 不足,请尝试将 MDX 查询字符串与某个 Execute 函数结合使用。

参考

请参阅 execute2DexecuteMD 作为参考。

另请参阅

execute2DexecuteMDOlapConnectionexplore

示例


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