我们有以下昏暗和事实:
客户维度:SCD 类型 2,关于客户的信息,即首次购买日期、姓名、地址等 产品维度:SCD 类型 2,关于我们的产品
客户快照事实:有关客户产品销售事实的月度财务事实:客户销售额
并且会有更多涉及客户维度的事实。
我们有一个旧数据库,它正在收集有关客户的 100 个数据字段,并被要求对这些数据进行 DW。有 100 多个字段与客户相关,其中可能是指示客户是否有资格获得某物的标志。用户想要对我们的任何事实表进行的大多数查询可能包括这些指标的过滤和/或分组。
问题是我们是否应该向我们的 Customer Dim 添加 100 多个指标,如果不是,则应如何构建数据,以便将这些信息与我们的所有其他事实结合起来。
谢谢你的帮助。
我是 SSAS 2012 的新手,以下是我的问题:
谢谢!
我有一个内置于 SSAS 2008r2 的立方体。我暂时通过excel数据透视表公开它。
我最近向多维数据集添加了一个 KPI,当我在数据透视表界面中显示 KPI 时,它会导致在当前级别显示不适用的维度值。
例如,假设我有客户:
CustomerA
CustomerB
CustomerC
Run Code Online (Sandbox Code Playgroud)
和国家:
NY
VA
TX
Run Code Online (Sandbox Code Playgroud)
当我查看没有 KPI 的数据透视表时,下面CustomerB没有行,NY因为它们在那里没有位置。
当我添加我的 KPI 并只显示valueKPI 时,一切都很好。
当我添加状态指示器(即交通灯或其他)时, 我会看到每个状态下的每个客户。
这是预期的行为吗?有办法解决吗?我喜欢 KPI,但如果我在每个级别获得维度的每个值,它就会失去目的。
更多细节:
在Value Expression为KPI仅仅是一个计算的措施,工作正常。
该Status Expression是:
CASE
WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") > .90
THEN 1
WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") <= .90
AND KpiValue("MyKPI") / KpiGoal("MyKPI") > .75
THEN 0
ELSE -1
END
Run Code Online (Sandbox Code Playgroud) 显然,此功能在以前的版本中可用,但现在已被删除。
有哪些替代方案?
当我在我的第一个 SSAS 项目中处理多维数据集时,我一直得到这个错误的变化:
OLAP存储引擎错误:处理时找不到属性键:表:'dbo_Transactions',列:'TransactionSK',值:'68342998';表:'dbo_Transactions',列:'TransactionDateTimeUTC',值:'7625037'。属性是“事务SK”。
短语“处理时无法找到属性键”在 Google 上获得了多次点击,在 Stack Overflow 上也获得了多次点击(1、2、3)。然而,这些解决了损坏的 FK、NULL 值或重复值(例如,由于不一致的区分大小写)。这些情况都不适用。
这里只有一张桌子:dbo.Transactions。它有田TransactionSK和TransactionDateTimeUTC,两者INT NOT NULL。您可以猜到,该TransactionDateTimeUTC字段是DateTimes表的 FK ,但没有丢失记录,这是在 ETL 中强制执行的,我已经在 SQL 中进行了验证。
还有什么可能导致此错误消息?为什么它列出两个字段,TransactionSK和TransactionDateTimeUTC?到目前为止,我遇到的类似情况始终只引用错误消息中的一个字段。
该表正在近实时更新,包括偶尔删除,但有问题的两个字段没有更新。如果在 SSAS 扫描一列之后和扫描另一列之前从表中删除一条记录,是否会产生此错误?抽查了一些问题记录,它们不是在处理多维数据集的过程中创建的。
我构建了一个 SSIS ETL 来将各种数据源(一个来自 MySQL,两个来自 SQL Server)集成到一个单独的 SQL Server 关系和规范化数据库中,我称之为 [NDS]。
SSIS ETL 处理类型 2 更新,因此 [NDS] 生成代理键和 SCD 表包括一个 [_EffectiveFrom] 时间戳和一个可为空的 [_EffectiveTo] 列,并且对链接所有的自然键和漂亮的外键有约束数据一起。
现在,我想用它构建一个 SSAS 维度数据库,没过多久我意识到我正在为雪花模式设置自己:
所以我正在考虑添加一个新的 [DDS](关系)数据库,以创建实际的维度和事实表,这些表将为 SSAS 数据库提供 DSV。
这个 [DDS] 数据库将尽可能地非规范化,以便“扁平化”事实和维度(例如,[OrderHeaders]+[OrderDetails] 到 [Orders] 事实表,以及 [CustomerStores]+[Customers]+ [SalesReps] 到一些 [Customers] 维度表中) - 这样做不仅应该让我更容易在 SSAS 中构建维度层次结构,还应该更容易提出实际的星型模式。
不过我有几个问题:
我是在为 Big Mess™ 做好准备,还是在正确的轨道上?
sql-server ssas slowly-changing-dimension dimensional-modeling ssis-2014
我有一家第三方公司过来建立 ssas 数据库来生成报告。
他们做到了,但现在 DBA 想要查看,但我没有权限,甚至无法查看这些数据库,如下图所示。
我可以授予自己管理员权限吗?
我是系统管理员。有一个名为SQLDBA和的 AD 组
当右键单击 server-properties-security-Add- 然后添加我的 AD 组时,SQLDBA它说我没有alter服务器对象的权限,如下图所示。
我之前已将该sqldbaAD 组作为管理员添加到该框中。
“mycompany\MMiorelli”用户无权更改“myserver\instance”对象,或者该对象不存在。(Microsoft.AnalysisServices.AppLocal.Core)
纽扣:
好的
我有一个 SQL Server 2012 标准版 sp1,它也安装了 ssas。
我从这个服务器创建了一个链接服务器到一个名为 BIREPLON1 的 ssas 服务器,但是当我尝试访问它时,我收到如下所示的错误消息。
有趣的是,当我通过 GUI 时,单击 Server Objects\linked servers\BIREPLON1 似乎一切正常(如下图 4 所示)。
但是当我运行简单的select:
SELECT CATALOG_NAME
FROM OPENQUERY([BIREPLON1], 'SET FMTONLY OFF;SELECT [CATALOG_NAME] FROM $SYSTEM.DBSCHEMA_CATALOGS') as Radhe
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器“BIREPLON1”的 OLE DB 提供程序“MSOLAP”的数据源对象。
我错过了什么吗?




我有一个 SQL 2016 SP1 SSAS 表格实例。我已经部署了一个具有以下属性的模型
当我尝试处理数据库或表时,出现错误“数据源包含处理操作不支持的 ImpersonationMode”。
但是,如果我更改连接属性上的模拟信息以使用服务帐户而不是当前用户,则它可以正常工作。
如果我们将默认模式更改为 DirectQuery 而不是导入,我们也不会遇到这个问题,但是我们需要使用导入,因为我们需要使用 DAX 用户名函数来实现行级安全。
我是 SSAS 实例的管理员,也是作为数据源的 SQL Server 实例的管理员。为什么我不能以我的用户身份处理 SSAS 表格模型?
ssas ×10
sql-server ×8
cube ×1
excel ×1
olap ×1
permissions ×1
ssas-2016 ×1
ssdt ×1
ssis-2014 ×1