问题标签 [ssas-tabular]

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 投票
0 回答
243 浏览

reporting-services - 按数值过滤维度

我有一个带有小数price字段的表的 SSAS 表格多维数据集。该多维数据集用作构建 SSRS 报告的数据源。在其中一份报告中,我只需要对价格高于作为参数给出的值的事实进行一些计算。该参数只需在查询设计器中拖放即可创建。但是我不需要搜索确切价格的记录,我只需要设置价格的上限。

于是我开始寻找 MDX 相关信息来手动修改查询设计器中内置的 MDX 查询。看来我应该使用Filter()函数并将参数值传递给它的逻辑表达式。网络中有很多使用度量的逻辑表达式的示例。但是当我尝试在逻辑表达式中使用维度成员(我尝试过MembervaluesValues函数)时,我得到了不同的错误。我知道这个问题比使用 T-SQL 更棘手。

但是如何解决呢?是否可以通过数值过滤掉维度表?

脚本如下:

0 投票
1 回答
1472 浏览

excel - 如何将计算列添加到连接到 SSAS 表格模型的数据透视表?

或者换句话说,问题是 - 如何根据模型级别中不存在的列在数据透视表中添加一些计算。

我已经使用AdventureWorksDW2014示例数据库重现了我的问题。

假设我想计算FactFinance表中每个组织的实际和预算方案金额之间的差异,并以数据透视表的形式呈现。

表格模型

为了实现这一点,我创建了一个简单的模型(上面的屏幕)并将SumOfAmount度量添加到FactFinanceSumOfAmount:=SUM([Amount])

接下来,我在 Excel 中打开了我的模型并创建了非常简单的数据透视表(如下所示)

枢轴场 在excel中枢轴

所以,(问题部分)现在我想在我的数据透视表中添加一个额外的列,它应该计算ActualBudget列之间的一些东西(例如差异)。我希望这个新列成为数据透视表的一部分,这样我就可以过滤它或添加新的分组级别,而无需更改数据透视表“外部”的内容。


到目前为止尝试过

我尝试添加计算字段,但似乎我只能使用“真实”列进行计算。基于 COLUMNS 象限中的值出现在数据透视表中的列不能用作计算源。

在此处输入图像描述


最终解决方案

我终于得到它结合了两个数据透视表:旧的一个和一个有Diff度量的,定义为Diff:=[Actual Amount]-[Budget Amount],其中

正如@WimV 建议的那样 在此处输入图像描述

0 投票
2 回答
1146 浏览

ssas-tabular - 表格模型:DAX 中带有空格的字段上的 DISTINCTCOUNT

我了解 DAX 中的 DISTINCTCOUNT 函数应该忽略空格。由此我希望,如果您有 2 个唯一值和一个列中的空白,则该列上的 DISTINCTCOUNT 将返回 2。

我发现这继续返回 3 即 BLANK 被视为一个值。我怎样才能改变这个?

我在表格模型中找不到可以更改 NullProcessing 等效项的任何地方。我尝试使用 BLANK() 创建一个列,这也返回 1 的计数,而我期望为 0。

所有帮助表示赞赏。

0 投票
3 回答
10483 浏览

sql-server - 在 DAX 中获取每个月的总和

我有一个连接到 sql server 数据库的表格模式分析服务器。我想得到每个月的总 x,我每天有总 x。因此,例如,我有一个表 DailyEvent,其中前 2 列是这样的,我想要列“MonthXCount”:

所以 4 月的总 XCount 是 11,所以对于 4 月的每一天,我想要 11。5 月的总 X 计数是 4(到目前为止)。

我现在拥有的是我认为的 MonthToDate 总数,计算如下:

但是我想有一个列,将月份的最后一个值放入该月的每一天。

最终目标是在 PowerBI 中按月绘制 XCount 图表,因此我可能不需要在此处添加列...我可能可以告诉 PowerBi 绘制该月的最后一天,但我不确定如何做到这一点,并认为这会更容易。

0 投票
1 回答
25 浏览

windows - 多维数据集数据库重命名 - 它在哪里记录?

上周末,有人重命名了我们导致大量头痛和 SQL 作业失败的多维数据集数据库之一。我想知道是否在任何地方记录了多维数据集数据库重命名操作以及相关详细信息。我尝试在开发环境中复制相同的内容并在 中进行搜索eventvwr,但运气不佳。任何线索将不胜感激!

0 投票
1 回答
7420 浏览

powerpivot - 过滤所选日期之间的开始和结束日期

我有一个包含人员和资格的事实表。事实表有两个日期,StartStudyDate 和 EndStudyDate。这代表学生正在学习的时期。然后我有一个人员维度、资格维度、分组维度和一个日期维度。

我试图找出在特定日期积极学习的学生人数。

在 SQL 中它相对简单:

问题是我无法弄清楚如何在 dax 中执行此操作。我首先在 TabularModel 的事实表中添加了两列:

实际开始日期

实际结束日期

然后我编写了检查是否从 DimDate 中选择了一个日期的度量,它获取所有不同的行,其中 selectedDate 为 <= ActualStartDate && >= ActualEndDate。

问题是它的行为就像一条绝对的狗。如果我尝试添加任何属性来分解数据,我会耗尽内存(至少在 32 位 excel 中)。我知道我可以尝试 64 位 excel,但我的数据集很小,所以内存应该不是问题。这是在我什至将过滤器添加到特定资格的计算之前:

感谢您正确理解问题的帮助,因为我显然在这里遗漏了有关该问题的一些内容,并且我的 dax 经验也很轻松。

在此处输入图像描述

0 投票
1 回答
311 浏览

date - 上一年年初至今至同一日期

我有要求,上一年 YTD 直到与 YTD 相同的日期才返回结果,例如,如果我表中的记录从 2016 年 1 月 1 日到 2016 年 5 月 9 日存在,那么今年 YTD 将计算到 2016 年 5 月 9 日(这是工作正常)和上一年的年初至今也应该从 2015 年 1 月 1 日算到 2015 年 5 月 9 日,而不是全年或整个月

我已经尝试了这里提到的所有解决方案:- DAX 模式

MSDN

但还没有得到任何结果,

0 投票
0 回答
79 浏览

sql-server - 以普通用户身份运行与以服务器管理员身份运行时的 SSAS mdx 查询惩罚

我正在使用两个不同的用户在 MS SSAS 表格实例上运行 MDX 查询。第一个是服务器管理员,第二个是阅读安全角色的成员。查询在服务器管理员下运行约 0.8 秒,而非特权用户在约 6 秒内运行。

关于导致这种性能损失的任何想法?

以下是更多详细信息:
- 两个用户运行完全相同的 MDX。用探查器检查;
- 阅读角色没有定义 DAX 行过滤器;
- 我在两个账户上多次运行查询,执行时间保持一致;
- 运行 MS SQL Server 2012(企业版)。

0 投票
1 回答
719 浏览

ssas - SSAS表格模型中的多对多关系

ssas表格中的许多关系

嗨,我有帐户,一个帐户中的客户应该与多个客户相关,而客户也与多个帐户相关。对于这些关系,我附上了我在 ssas 表格模型中设计的屏幕截图。它不能正常工作。

请告诉我如何解决这个问题。

谢谢, Praveenkumar.k

0 投票
1 回答
93 浏览

ssas - SSAS 表格时间智能

我正在尝试在 SSAS 表格中创建类似于传统 OLAP Time Intel 的动态时间智能。

此外,我需要能够处理两组日期层次结构的时间智能。例如,传输日期和活动日期。

例如,假设用户在 Excel 数据透视表中选择了两个过滤器,我正在尝试创建一个简单的年初至今总销售额。我们谈论的是所有传输日期,但仅从单个活动日期的角度来看。也就是说,我想查看 2016 年的总销售额,好像是今天,但也好像是上个月(即一个月前,销售额是什么样的?)。

另外需要注意的是,我需要两个特殊的日历:传输期间的无线电广播日历和活动期间的传统公历。

我从这里开始:

我假设的问题是我的过滤器;我真的希望最后一个 FILTER 子句是:

活动日期将是用户定义的报告过滤器。看来我需要2个过滤器。第一个过滤器仅过滤掉我需要的适用传输日期,因此我的活动日期过滤器毫无意义。

任何帮助将不胜感激。