标签: iccube

MongoDB - $ size的参数必须是一个数组,但类型为:EOO

尝试使用icCube创建MongoDB数据源.我们的想法是将数组的大小作为新字段返回.就像是 :

$project:
{ 
 "people": 1, 
 "Count myFieldArray" : {$size : "$myFieldArray" }
}
Run Code Online (Sandbox Code Playgroud)

但我得到一些记录以下错误:

The argument to $size must be an Array, but was of type: EOO
Run Code Online (Sandbox Code Playgroud)

如果字段为空或不是数组(摆脱错误),是否有一种方法大小为0?

mongodb mongodb-query aggregation-framework iccube

50
推荐指数
2
解决办法
1万
查看次数

MDX:对同一维度的不同成员进行过滤和切片

我正在使用icCube的Sales cube来学习MDX.我想写一个MDX查询,以显示2009年销售收入超过80,000美元的国家的销售收入.我尝试了以下方法,但它返回了一个只有一列的空表([Amount]):

WITH
 SET [myset] AS Filter([Country].members, ([Measures].[Amount], [2010])>80000)
select [Country].members on 0, [Amount] on 1
from (select [myset] on 0, [Amount] on 1 from [sales])
where [2009]
Run Code Online (Sandbox Code Playgroud)

mdx filter slice iccube

5
推荐指数
1
解决办法
2万
查看次数

MDX - 非交叉的大交叉连接 - 如何优化性能

我在总帐管理系统代码块的基础上在icCube中构建了一个模型,该代码块具有以下维度(非限制性):

  • 时间
  • 实体
  • 成本中心
  • 帐户
  • 公司间派对
  • 项目
  • 活动
  • 金额(这是值)

将此模型加载到工具Planning中时,如果x轴上的3个以上维度折叠到底层,则会出现性能问题.

我试图检查icCube是否可以更好地处理这个问题,但是3维的语句花了我超过1700秒:

select [Dec] on 0
, non empty { Descendants([Account].[Account].[Total],,leaves) }
     * { Descendants([Activity].[Activity].[Total],,leaves) }
     * { Descendants([CostCenter].[CostCenter].[Total],,leaves) } on 1
from finance
Run Code Online (Sandbox Code Playgroud)

在行上具有多个维度的原因是用户希望尽可能多地查看代码块的细节,优选地是完整的代码块.

我受到以下事实的挑战:其他工具可以非常轻松地处理这类事情,因为它没有OLAP数据库底层,但它使用层次结构直接在数据单元上查询.在Excel中查询数据的提取时获得相同的性能(没有太多的数据行).

有关数据的信息:

  • 维度非常巨大:400个帐户,6000多个活动,50个实体,50​​0个CostCenters
  • 尺寸活动和项目非常平坦(几乎没有结构)
  • 只有50.000金额,因此数据非常稀少

有任何建议或暗示如何解决这个问题?

performance mdx iccube

5
推荐指数
1
解决办法
2110
查看次数

MDX查询以查找icCube中最后一个非空值

在Chris Web 的帖子之后,我正在寻找一种快速查找客户最后购买的方法.

我使用如下的MDX语句:

WITH FUNCTION previous_buys() AS tail( nonempty({NULL:[Time].[Time].currentmember.prevmember} ,[measures].[sales amt]),1)
MEMBER [last buy] as previous_buys().(0).key

select [measures].[last buy] on 0
,      [Customers].[Customers].[name].members on 1
from [Store Sales]
where [Time].[Time].[day].&[2015-12-20T00:00:00.000]
Run Code Online (Sandbox Code Playgroud)

这给出了预期,但需要很长时间.是否有一种简单的方法来加速这种查询.由于icCube与Microsoft MDX有所不同,我不能只复制Chris Web的解决方案.

有任何想法吗?

performance mdx iccube

5
推荐指数
1
解决办法
509
查看次数

MDX:计算过滤器中选择的成员数量

我有一个想要放入过滤器的维度,并创建了计算成员,该成员应动态显示该维度中选定成员的数量。

该维度没有 All 成员。

所以这是我的尝试

with member [Measures].[Count1] as count(existing(([MyDimension].[MyDimensionHierarchy].members)))

select  [Measures].[Count1] on 0
from [MyCube] --  gives me 1 
Run Code Online (Sandbox Code Playgroud)

这个会给我 2 这是正确的:

with member [Measures].[Count1] as count(existing(([MyDimension].[MyDimensionHierarchy].members)))

select  [Measures].[Count1] on 0
from [MyCube]
where ({[MyDimension].[MyDimensionHierarchy].[Member1], [MyDimension].[MyDimensionHierarchy].[Member2]})
Run Code Online (Sandbox Code Playgroud)

但是,问题是,当我使用上面的公式创建计算成员,并将 Count1 拖动到 Excel 数据透视表,并将 MyDimension 拖动为过滤器时,当我多选维度成员时,我希望计数动态更改当我更改所选成员的数量时。

但 Count1 始终等于 1。

ssas mdx iccube

5
推荐指数
1
解决办法
1862
查看次数