问题标签 [ssas-2008]

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 回答
1969 浏览

security - SSAS 更改维度安全性需要处理多维数据集?

是否有必要在数据库维度的允许属性更改出现之前处理多维数据集?我有一个关于 SSAS 2008 的数据库,其地理维度包含一个名为“State”的属性。State 属性包含美国每个州的值(例如,阿拉斯加、阿拉巴马、...、华盛顿)。我有一个使用这个维度的 MOLAP 立方体。对于每个州,我都有一个 AD 组,对于包含关联 AD 组的每个州,我都有一个 SSAS 角色。

我想使用数据库维度而不是多维数据集维度上的角色安全性来限制对特定状态的访问。我想这样做是因为我将来会添加一个额外的多维数据集,它将共享相同的状态维度。我在数据库维度级别对权限所做的任何更改似乎都没有反映在多维数据集中。但是,当我在多维数据集维度上设置权限时,一切都按预期工作。

例如,我已将我的阿拉斯加角色设置为只能访问 SSAS 数据库中地理维度的“阿拉斯加”状态属性值。当我以 Alaska 用户身份进行身份验证时(我从工作站注销并以 Alaska 用户身份登录),我会看到所有 50 个状态。但是,当我限制多维数据集维度的权限并以阿拉斯加用户身份进行身份验证时,我看到的唯一状态是阿拉斯加。

在数据库级别的权限更改反映在多维数据集中之前,我是否需要处理我的多维数据集?

0 投票
3 回答
12844 浏览

sql-server - 如何通过 BIDS 向现有维度添加新维度属性

我有一个客户维度。在创建多维数据集和定义维度时,默认属性将与多维数据集创建一起出现。创建维度后,我想添加更多属性。这该怎么做。我尝试使用“添加商业智能”选项,但失败了。有没有办法做到这一点。如果我们删除维度并再次添加维度,我们可以有一个界面作为“选择维度属性”。但是在不删除现有维度的情况下,如何将属性添加到该维度。以下屏幕说明了添加维度属性。如何查看现有维度的此界面。 在此处输入图像描述

单击维度属性选项卡并单击“编辑数据源”选项后,将显示以下屏幕。在这里我们可以在哪里添加属性? 在此处输入图像描述

0 投票
1 回答
963 浏览

ssas - 刚性属性关系的建议

我在维度中的两个属性之间定义了严格的关系。这是一个商业案例,我们希望“父”属性永远不会改变。但是,我们看到了一种间歇性的情况,即在维度的 ProcessUpdate 期间,先执行对父属性的查询,然后在执行对子属性的查询之前,将一条记录插入到底层数据库中。因此,当执行子属性查询时,它会读取处理第一个属性时不存在的数据,因此可能会为父属性分配未知成员。在该维度的下一次 ProcessUpdate 期间,由于父属性现在拾取新数据并看到父属性不再是“未知”成员而是另一个有效成员,

这里可以采取什么行动?

  1. 删除刚性关系——但如果刚性关系应该由业务案例定义,并且我们有一个有效的业务案例,这是否只是 SSAS 中的设计缺陷?
  2. 安排属性的处理顺序——如果子属性在父属性之前处理,那么我们就不会遇到这个问题。在 SSAS 中是否可以安排属性处理?
  3. 对维度做一个完整的流程——我们有其他维度的刚性关系,我们应该将它们都设置为 ProcessFull 吗?如果是这样,那么,为了保持僵化的关系,为什么还要有其他处理选项?
  4. 是否有其他选项需要考虑,例如更改错误配置或其他什么?

请让我知道您认为最好的方法。

谢谢,格雷格

0 投票
1 回答
274 浏览

ssas - SQL Server Analysis Services - 数据挖掘错误 5

当我尝试在其中使用 NestedTable 处理 DataMining 时出现此错误。

知道为什么会这样吗?

0 投票
1 回答
422 浏览

excel - 尽管维度安全,从不同机器到 SSAS 的 Excel 前端显示所有数据

在与 SSAS 所在的同一台机器上,我可以模拟如下安全性,由于应用了维度安全性而得到不同的结果:

但是,当我在其他机器上运行它们时,我可以看到 Dimension 的所有成员;好像从未设置过安全性。

Dimensional 安全性是通过与具有不同允许的 Dimension 成员的这两个用户创建单个角色来应用的。

应用多维数据集安全性的唯一方法是通过HTTP吗?

0 投票
1 回答
361 浏览

ssas - 我应该对股票市场历史分析项目采用关系型还是多维/OLAP 方法?

这本身不是一个语法/编码特定的问题,但我无法在网上找到任何直接与之相关的真正文章。当我开始使用 Sql Server Analysis Services (2008R2) 深入研究数据挖掘时,我想知道是否应该采用关系数据方法(因为我的数据当前存在)还是从 OLAP 模型开始。我正在研究 5,000 个品种的每日股市数据。这意味着大约有 12 个表,每个表只有数百万行。根据我目前的基本理解,OLAP 似乎增加了一层额外的复杂性,我认为这是不合理的。有什么想法吗?

0 投票
1 回答
685 浏览

reporting - 我可以(ab)使用 SQL-Server Analysis Services 创建用户生成的报告吗?

问题:

我们(也就是我,一个人)应该实现“用户生成的报告”(最多1个月,月底/新月初展示)。

问题 1:
所谓用户,是指没有任何技术技能的用户,例如 SQL 或 VBA。

问题 2:
技术只是 .NET,所以我不能使用 Java(以及基于 Java 的东西,比如 Jasper)

问题 3:
应该可以导出到 Excel(我的意思是 XLS 或 XLSX,而不是 XML 或 CSV)

问题 4:
数据分组应该是可能的(多组)

问题 5:
数据库是 Microsoft SQL-Server(推测是 2008 R2,但最终可能是 2008 R1 或 2005)

额外的“问题”:
基于 Web,使用 ASP.NET WebForms,但如果无法使用 Web,也可以基于桌面


现在除了那些要求和时间限制的荒谬之外......

一种解决方案是由 SSRS(SQL-Server 报告服务)提供的报告生成器。但是,有一些缺点,我认为这些缺点非常严重:

  1. 创建报表的用户基本上仍然需要了解 SQL(左、右、内、外连接及其后果)。由于用户可能不理解其中的区别,如果他们没有得到或得到错误的结果(例如空列上的内部联接),他们只会责怪我。

  2. 创建报告的用户对数据库/数据结构一无所知(例如软删除、持续日期)。此外,垃圾进垃圾出可能会成为一个问题,包括错误的数据等......

  3. 如果他们要创建一个矩阵,并且要对未舍入的值进行小计求和,则总计的总和不会与小计的总和相匹配,因为报告将在逗号后仅显示 2 位数字(因此将值四舍五入到 2 位)用于小计,但它将根据所有值的总和(未四舍五入)而不是小计的总和(四舍五入)计算总数。同样,他们会为此责备我或数据或报告生成器。

  4. 由于报表生成器不会在添加一个带有连接的附加表后显示结果数,因此用户将无法判断他们是否拥有正确的记录数,这将不可避免地导致错误的结果。再一次,他们会责怪我。

  5. 日期过滤器:需要应用它们,但不一定在 where 中,而是在 join 中。报表生成器不支持。不可能创建这样一份严肃的报告。

  6. 状态:如前所述,我们使用软删除和状态字段为 99 的已删除记录。where 中的过滤状态是危险的,有时必须发生在 join 中。同样,报表生成器不支持这一点,除非您使用原始 SQL,因为用户不会了解 SQL,所以这毫无意义。

  7. 安装报表生成器需要管理员权限,或者客户公司的 IT 部门来安装它。以及适用于相应 ReportBuilder 的相应 .NET 框架,以及适用于相应 Report-Server 的相应 ReportBuilder,因为 SQL-Server 2005 Reporting Service 不适用于 SQL-Server 2008 Reporting Services 的报告,而 SQL 2008 R1 不适用于R2。这也要求所有能够做到这一点的用户都处于某个 SQL-Server 报告服务报告生成器用户角色中,这要求 IT 部门将用户放入适当的活动目录组中,到目前为止,该组从未与任何我们的客户。另外,我不相信 IT 部门知道他们安装了适当的 ReportBuilder,如果他们同意安装的话。


现在我曾经(很久以前)碰巧在 youtube 上查看了 SSAS(SQL-Server 分析服务)的演示文稿。
但是我再也找不到链接了。
但无论如何,我没有任何 SSAS 经验,只有 SSRS。

我认为有可能以这样的方式滥用 SSAS,用户可以通过 Excel 连接到它,并获取数据并或多或少地像他们想要的那样对它们进行汇总。此外,他们将能够看到原始数据。

我可以预先准备一些查询表中的原始数据(我也可以通过数据集使用 reportbuilder)。

有没有人足够了解 SSAS 来告诉我在这段时间内这是否可行?
如果分析服务器和 Excel 版本 (2007/2010) 所需的加载项与所有分析服务器版本兼容,或者从 Excel 2007 访问 2008 R2 或从 Excel 2010 访问 SSAS-2005 时出现问题。

或者我是否一定会遇到 SSAS 比 ReportBuilder 更多的问题?

0 投票
2 回答
2476 浏览

ssas - 如何使用 MDX 获取不可见属性和用户定义的层次结构的名称?

我有一个有一些尺寸的立方体。我有一个维度“产品”,其中隐藏了一些属性和用户定义的层次结构。我不知道隐藏了哪些属性。有没有办法编写 MDX 来获取不可见的属性和用户定义的层次结构?我可以通过其他方式得到这个名字。但我想知道如何使用 MDX。

0 投票
1 回答
2014 浏览

sql-server - 如何仅备份和还原 SSAS 数据库中的一个多维数据集

我在测试环境中有一个多维数据集,该多维数据集位于具有其他不相关多维数据集的 SSAS 数据库中。由于我正在测试我的 ETL 和 Fact 表,我需要截断 Fact 并多次重新运行 ETL 和多维数据集,但我需要备份以前版本的多维数据集。

我无法备份整个数据库,因为其他多维数据集很大。还有其他方法吗?我很感激帮助。

0 投票
1 回答
1265 浏览

ssas - 按通用计算度量排序会导致无限递归?(MDX)

我需要编写一个计算的度量来显示与Measure1任何给定维度的总和相比的份额。我设法这样做:

但是由于 的通用性[Test],不可能通过这种度量来对维度进行排序。

执行上述代码会导致以下错误:

检测到无限递归。依赖循环是:测试 -> 测试。

这是相当合乎逻辑的——要获得AXIS( 1 ).ITEM( 0 ),我们需要轴 1 上的一组维度成员,但在成员按 排序之前无法获得该集合[Test]

另一方面,如果我定义[Test]为特定于某个维度,它会按预期工作:

它之所以有效,是因为它[Dimension1].[All]针对特定成员,而不需要轴 1 首先评估其成员集。

有没有办法使这个计算的度量通用?也许,有可能以[All]另一种方式获取当前维度的成员?