问题标签 [cube-script]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3276 浏览

sql-server - MDX 计算。将每个成员除以总计

样本数据

我以以下格式导出了 OLAP 多维数据集(测量[Some Percent]用法为Average over time):


公式

我需要创建新的计算成员[Modified Percent],该成员应按以下方式计算:


带有样本数据的公式

所以我的样本数据将是:


期望的输出

[Modified Percent]应按以下方式返回:


MDX 脚本

现在我有MDX Script以下,但[Modified Percent]返回相同的值[Some Percent]

也试过这个,但不幸的是,同样的结果:

看起来像拆分部分返回 1。你有什么想法如何解决它吗?如果有什么不清楚的地方——问我,我会提供更多细节。

0 投票
1 回答
47 浏览

ssas - MDX 作为 SSAS 多维数据集中的计算成员

我在每个销售区域都有一个 FactBudget,其中包含字段[Budget SalesRegion][Sales Region]. 在维度DimCustomer中,我有字段[Sales Region][Customer Type].

FactBudget和之间的关系DimCustomer仅在 上定义[Sales Region]

我有一个相当简单的mdx语句,用于过滤特定[Sales Region]的. 使用返回的 [Sales Region] 我选择对应的 [Budget SalesRegion]:DimCustomer[Customer Type]

如何将此语句转换为计算成员中的计算成员,SSAS cube以便切片器中选择的 [客户类型] 相应地过滤语句?

0 投票
0 回答
374 浏览

ssas - SSAS 计算与除法与时间计算相结合

情况:我通过在多维数据集中创建空度量并使用范围语句来填充计算,在 SQL Server 2012 SSAS 多维模型中创建了计算度量。(所以我可以在计算中使用度量安全性,如此处所述

我还进行了时间计算,包括上述计算在内的整个测量组的范围。(如解释here

我为计算创建空成员:

关闭度量组范围

结果:当我使用“基本度量”和“计算度量”查询多维数据集时,时间计算的结果对于基本度量是正确的,但对于“计算度量”C 是不正确的,因为首先计算度量,然后再计算正在完成时间计算,从而汇总结果。

示例:当前月份是 2015 年 4 月 每个月的得分为 5%。YTD 衡量标准给出 20%(1 月、2 月等为 5%),必须为 5%

我的问题:如何更改时间计算或“计算的度量”,以便获得正确的结果?

0 投票
0 回答
413 浏览

ssas - 使用一元运算符的 SSAS 计算度量

我有一个具有父子层次结构的帐户维度。我需要翻转一些叶子级别的标志,所以我创建了一个计算措施来处理这个问题,除了一个问题之外它工作得很好。帐户层次结构使用一元运算符对兄弟姐妹进行适当的加法/减法。当我使用下面显示的计算度量时,它不再支持一元运算符。有没有办法让计算出的措施尊重那些?

0 投票
1 回答
266 浏览

ssas - 在 MDX 查询的每个结果行上获取上一年的年终值

我有一个快照事实表,其时间粒度为每月,因此度量值只是时间点,而不是随时间累积的。我需要导出一个上年末值,以将任何给定月份的值与上一年末进行比较,如下所示:

| 月 | VAL1 | 上一篇YEVal |

| 2014-10 | 101 | 100 |

| 2014-11 | 103 | 100 |

| 2014-12 | 105 | 100 |

| 2015-01 | 110 | 105 |

| 2015-02 | 115 | 105 |

| 2015-03 | 113 | 105 |

...

| 2015-12 | 120 | 105 |

| 2016-01 | 130 | 120 |

ETC...

我正在使用 SSAS,并且时间维度表是这样设置的,其中包含 Year->Quarter->Month->Day 层次结构。

我可以找到上个月的解决方案、滚动月份数并获得 YTD 累积值,但这是一个直接的时间点到时间点比较。

我正在尝试使用 Lag、Ancestor 和/或 ParallelPeriod,但我似乎无法获得上述结果集。

0 投票
0 回答
216 浏览

process - 在 SSAS 多维数据集进程之后执行 DMV 目录查询会强制执行所有数据库脚本

处理完一个 2012 SSAS 多维数据集,然后执行 DMV 查询,例如:

我在 sql profiler 中看到它执行数据库中所有多维数据集的脚本,而不考虑查询中的限制。由于我客户的数据库有很多多维数据集,这个操作需要 20 多秒。

知道为什么会这样吗?

0 投票
0 回答
280 浏览

ssas - 如何在 mdx 中添加前 n 个计数的指标

我想创建一个指标,在应用时只显示前 10 个结果。假设数据是

我想按降序显示前 5 个结果。所以,预期的结果是:

我已经通过以下 MDX 查询获得了结果:

结果:

我基本上想用上述查询创建一个指标并将其保存到我的多维数据集解决方案中。

因此,当我拖动项目和价格时,它将显示所有数据,即所有 10 行。

而且,当我们拖动新创建的指标时,它将显示前 5 个结果与另一行(其他将是其余行的总和)

有没有办法实现这个功能?

编辑 1

创建了一个具有前 10名的动态集
为其他人创建了计算度量
创建了另一个动态集以显示结果,即前 10 名和其他结果。
但是当我们选择动态集显示前 10 + 其他时,它会抛出错误:
已遇到无法包含计算成员的集

0 投票
3 回答
2385 浏览

ssas - 带过滤器的 MDX 计算成员

对 MDX 很陌生,所以这可能是一个新手问题。但是无法“翻译”任何解决方案的答案!

我有一个衡量我的行数的度量,称为 [Measures].[Fact Count]

我还有一个名为 [Document] 的维度,其中有一个名为 [Is Completed] 的字段。

[Document].[Is Completed] 可以具有以下两个值之一:[Yes] 或 [No]。

[文档] 维度确实有几个其他字段,例如 [文档类型]

我想问一个问题,比如“我的不同文档类型有多大比例已经完成”。

我尝试过像这样制作 [Completed Count]:

然后像这样使用它:

但是(当然)[Completed Count] 然后会获取我所有已完成的文档,而不仅仅是那些 [Document Type]

希望这对某人有意义!

0 投票
1 回答
286 浏览

ssas - 多个维度的度量的 TOTAL 的计算成员

我正在尝试使用计算出的度量值来总计一个度量值

当我选择了仓库维度但我想让它动态化以便它也适用于任何其他维度/层次结构时,这是有效的,而无需将它们添加到代码中。

任何帮助表示赞赏!

0 投票
2 回答
606 浏览

ssas - 具有多个属性层次结构的计算成员 - MDX

我找到了这个小代码,它可以TOTAL为我想要的所有维度/层次结构动态计算 s。

这接近我所需要的,但不适用于具有不同数量的层次结构级别(属性层次结构)的维度。当前代码仅在只有一个属性层次结构时才有效,因为CurrentMember.Parent. 我可以使用CurrentMember.Parent.ParentDimension.Hierarchy有两个级别,依此类推,但不适用于只有一个属性层次结构(级别)的那些。

我想让这个 MDX 代码适用于任何 Dimension.Hierarchy,无论属性层次结构(级别/秒)的数量如何。

任何帮助表示赞赏!