标签: tabular-model

如何在表格模型中计算/存储前 10 名?

我们最近创建了一个 SSAS 表格模型,以便我们的用户可以通过 PowerView 访问它。我们对我们的一个事实表进行了测量,以TotalActiveItems使用公式获取:

TotalActive:=COUNTAX(FILTER('Stats', ISBLANK([DeactDate]) = TRUE), 1)
Run Code Online (Sandbox Code Playgroud)

这在需要时非常有效,但现在我们有一个请求,以获取TotalActive.

作为参考,这是我们模型的一部分:

create table factStats
(
    StatsID INT IDENTITY NOT NULL PRIMARY KEY,
    DevID INT NOT NULL,
    DeactDate DATETIME NULL,
    BillDateTimeID BIGINT NOT NULL,
    CustID INT NOT NULL,
    ParentID INT NOT NULL
);

create table dimCust
(
    CustID INT NOT NULL PRIMARY KEY,
    CustName varchar(150) NOT NULL
);

create table dimParent
(
    ParentID INT NOT NULL PRIMARY KEY,
    ParentName varchar(100) NOT NULL
);

create table dimDateTime …
Run Code Online (Sandbox Code Playgroud)

ssas tabular-model

23
推荐指数
1
解决办法
3214
查看次数

计算度量以仅从快照事实的一维获取最新信息,但保留其他过滤器

我正在 SSAS 2012 SP1 CU4 中处理表格立方体。我有 3 个维度(申请、申请状态、日期)和 1 个事实(申请计数)。我的事实表是 requisitionKEY、RequisitionStatusKEY、SnapshotDateKey。

我已经计算了基本上获得给定期间的 lastnonempty 值(如半加法度量)的度量,无论是年、月还是日期:

Openings:=CALCULATE(Sum('Requisition Counts'[NumberOfOpeningsQT]), 
Filter('Date','Date'[DateKey] = Max('Requisition Counts'[SnapshotDateKEY])))  
Run Code Online (Sandbox Code Playgroud)

这很有效,直到您将 Requisition Status 放入混合中。我有 2013 年每一天的每个申请的行。对于其中一个申请,前 6 个月的申请状态为待处理,然后从 7 月 1 日至今的所有数据都更改为已批准。当我总结 7 月份月份级别的请购单的职位空缺数量时,用户会看到两行:7 月份最后一个待处理日的职位空缺总和,以及 7 月份最后一个填充日的职位空缺总和7 月获得批准。
数据透视表

尽管总数为 2 是正确的,但我需要更改此计算方式,以便仅获取所选日期期间(已批准)的最新申请状态,并为数据透视表中的待批准行显示 0 或空或空白。

申请状态表如下所示: 申请状态

更新:这是我制作的 PowerPivot 模型链接,其中包含一些清理过的数据以帮助回答这个问题。这应该更好地解释表模式。NumberOfOpeningsQT 字段基本上是他们为该工作拥有的空缺职位数量。有时是 1,有时是大于 1。它通常不会随着时间的推移而改变,但我想可能会。我试图让开口计算给我想要的答案。我在那里进行了一些其他计算,以便展示我尝试过的一些有希望但我无法开始工作的东西。

ssas dax tabular-model

7
推荐指数
1
解决办法
2259
查看次数

SSAS 表格:不支持处理操作的 ImpersonationMode

我有一个 SQL 2016 SP1 SSAS 表格实例。我已经部署了一个具有以下属性的模型

在此处输入图片说明

在此处输入图片说明

当我尝试处理数据库或表时,出现错误“数据源包含处理操作不支持的 ImpersonationMode”

但是,如果我更改连接属性上的模拟信息以使用服务帐户而不是当前用户,则它可以正常工作。

如果我们将默认模式更改为 DirectQuery 而不是导入,我们也不会遇到这个问题,但是我们需要使用导入,因为我们需要使用 DAX 用户名函数来实现行级安全。

我是 SSAS 实例的管理员,也是作为数据源的 SQL Server 实例的管理员。为什么我不能以我的用户身份处理 SSAS 表格模型?

sql-server ssas tabular-model sql-server-2016

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

SSAS 模型刷新 - 没有足够的内存来完成此操作错误

我们已经开始遇到有关刷新表格 SSAS 模型的问题。

表格 SSAS 模型中有 38 个表。

这个过程已经运行了一年多没有问题,但是现在大约一个月了,我们无法成功处理模型中的表。

如果我访问 SSAS 数据库 > 右键单击​​ > 处理数据库 > 选择处理默认模式,然后单击确定,这就是问题发生的时间。

它将在那里停留大约 5 分钟,然后出现错误消息:

未能将修改保存到服务器。返回错误:'没有足够的内存来完成此操作。请稍后在可能有更多可用内存时重试。

在此处输入图片说明

在此处输入图片说明

如果我尝试单独“处理”表,我也会收到相同的错误消息。

我在高级窗口中查看了 SSAS 的内存设置,并将这些值重置为默认值。所以目前的关键值(据我所知)是:

在此处输入图片说明

服务器已经重新启动了几次,我们仍然有同样的问题。

环境详情:

Windows Server 2016 数据中心

SQL Server 2017 (RTM-CU9-GDR) (KB4293805) - 14.0.3035.2 (X64)

SSAS 版本:14.0.223.1

服务器模式:表格

服务器内存:64Gb

SQL Server 分配的内存:28Gb

我已经在网上准备了多篇关于这些问题的文章,但到目前为止似乎没有任何相关/有用的文章。

任何指导/帮助将不胜感激。

免责声明:我不是 BI / SSAS 的人。我只是一个 DBA,他遇到了这个问题,所以如果我没有完全正确地解释这一点,请原谅我。

ssas tabular-model

4
推荐指数
1
解决办法
8706
查看次数

如何判断我的 SSAS 实例正在运行的版本和版本?

在数据库引擎上的 SQL Server 中,您可以运行这样的 SQL 查询来获取服务器的版本信息,例如版本和版本以及更新级别等。

SELECT @@VERSION
Run Code Online (Sandbox Code Playgroud)

查询 SSAS(表格或多维)实例的 MDX 等效项是什么?是否有 SSAS DMV 可以让我得到这个答案?

我浏览了SSAS DMV联机丛书页面,但我没有注意到任何可以帮助我的 DMV。DISCOVER_INSTANCES 似乎没有信息。

假设 SQL Server 数据库引擎未与 SSAS 实例安装在同一台服务器上,因此我无法通过查询数据库引擎来检查这一点。

就我而言,这是针对 SQL 2012 表格实例,但也想知道如何查询多维实例。

ssas dmv tabular-model

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

标签 统计

ssas ×5

tabular-model ×5

dax ×1

dmv ×1

sql-server ×1

sql-server-2016 ×1