查询:olapR 查询构造

Query 构造一个“查询”对象。 集合函数用于构建和修改查询轴和立方体名称。

Usage

  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

一个逻辑(TRUE、FALSE、NA)指定查询在执行时是否应被验证

qry

类“Query”中的对象由 Query

cubeName

一个字符串,指定要查询的立方体名称

axis

一串字符串矢量,指定一个轴。 请参阅下面的示例。

n

一个整数,表示待设定的轴数。 轴(qry, 1) == 列(qry), axis(qry, 2) == pages(qry)等。

详细信息

Query 是查询对象的构造子。 集合函数用于指定查询应返回的内容。 查询传递给 和 Execute2DExecuteMD 函数。 compose 获取查询对象,生成一个与执行函数生成和使用的 MDX 字符串的等价字符串。

价值

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

备注

  • 查询对象不如纯MDX强大。 如果查询API不足,可以尝试使用MDX查询字符串中的执行函数。

References

请参阅 execute2DexecuteMD 获取参考资料。

示例


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