Saiku Hierarchize 函数不返回预期的单元集

Saiku Hierarchize function not returning expected cellset

有人可以解释一下为什么针对 Saiku rest api 执行的 mdx 查询没有 return 预期 cellset 吗?此查询执行为 mdx 类型 ThinQuery

SELECT 
  {
    [Location.CountryHierarchy].[Croatia]
   ,[Location.CountryHierarchy].[Serbia]
  } ON COLUMNS
 ,Hierarchize
  (
    Union
    (
      {
        [Product.ProductHierarchy].[Drinks]
       ,[Product.ProductHierarchy].[Food]
      }
     ,[Product.ProductHierarchy].[Drinks].Children
    )
  ) ON ROWS
FROM [Sales cube];

预期输出(使用 jpivot、pivot4j 和 Pentaho SchemaWorkbench/MDX 资源管理器测试) ExpectedResult

在 Android 上呈现的实际结果正在处理 OLAP 客户端 - 只是为了确保我还检查了来自 saiku 服务器的 returned json 并且确实缺少单元格。 Actual result

也许可以尝试添加 Food 的 [ALL] 成员来强制解决这个问题?

这是我的 AdvWrks mock-up:

SELECT 
  {
    [Product].[Category].&[4]
   ,[Product].[Category].&[1]
  } ON 0
 ,Hierarchize
  (
    Union
    (
      {
        [Customer].[Customer Geography].[Country].&[Australia]
       ,[Customer].[Customer Geography].[Country].&[Canada]
      }
     ,{
        [Customer].[Customer Geography].[Country].&[Australia].Children
       ,[Customer].[Customer Geography].[Country].&[Canada].[All]
      }
    )
  ) ON 1
FROM [Adventure Works]
WHERE 
  [Measures].[Internet Sales Amount];

所以在你的场景中:

SELECT 
  {
    [Location.CountryHierarchy].[Croatia]
   ,[Location.CountryHierarchy].[Serbia]
  } ON COLUMNS
 ,Hierarchize
  (
      {
        [Product.ProductHierarchy].[Drinks]
       ,[Product.ProductHierarchy].[Food]
       ,[Product.ProductHierarchy].[Drinks].Children
     }
  ) ON ROWS
FROM [Sales cube];

如果您使用执行端点执行并传入 MDX 或查询模型,则需要使用属性部分,试试这个:

"properties": {
    "saiku.olap.query.automatic_execution": true,
    "saiku.olap.query.nonempty": true,
    "saiku.olap.query.nonempty.rows": true,
    "saiku.olap.query.nonempty.columns": true,
    "saiku.ui.render.mode": "table",
    "saiku.olap.query.filter": true,
    "saiku.olap.result.formatter": "flat",
    "org.saiku.query.explain": true,
    "org.saiku.connection.scenario": false,
    "saiku.olap.query.drillthrough": true
  }