我们最近创建了一个 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 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。它通常不会随着时间的推移而改变,但我想可能会。我试图让开口计算给我想要的答案。我在那里进行了一些其他计算,以便展示我尝试过的一些有希望但我无法开始工作的东西。
我有一个 SQL 2016 SP1 SSAS 表格实例。我已经部署了一个具有以下属性的模型
当我尝试处理数据库或表时,出现错误“数据源包含处理操作不支持的 ImpersonationMode”。
但是,如果我更改连接属性上的模拟信息以使用服务帐户而不是当前用户,则它可以正常工作。
如果我们将默认模式更改为 DirectQuery 而不是导入,我们也不会遇到这个问题,但是我们需要使用导入,因为我们需要使用 DAX 用户名函数来实现行级安全。
我是 SSAS 实例的管理员,也是作为数据源的 SQL Server 实例的管理员。为什么我不能以我的用户身份处理 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,他遇到了这个问题,所以如果我没有完全正确地解释这一点,请原谅我。
在数据库引擎上的 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 表格实例,但也想知道如何查询多维实例。