C# 处理SSAS对象
在使用基于C#的工具处理SSAS对象方面,我们面临着一些问题,这些工具允许我们“自定义”根据业务规则处理对象的方式。基本上,该工具运行以下步骤: 1) 根据参数,在数据库的维度上迭代以完全/更新模式处理(或不处理)每个维度 2) 迭代数据库的多维数据集,以便迭代其度量值组,以便迭代其分区,以便根据参数在Full/Add模式下处理(或不处理)每个数据集 在这种情况下,我们假设参数允许在更新模式下处理的维度以及在完整模式下处理的分区。所以,除了数据库和多维数据集对象外,其余对象都由应用程序成功处理,因此多维数据集和数据库状态也被“处理” 浏览具有布尔维度的多维数据集时会出现此问题。它的命名查询非常简单,只带来以下结果:C# 处理SSAS对象,c#,sql-server,ssas,C#,Sql Server,Ssas,在使用基于C#的工具处理SSAS对象方面,我们面临着一些问题,这些工具允许我们“自定义”根据业务规则处理对象的方式。基本上,该工具运行以下步骤: 1) 根据参数,在数据库的维度上迭代以完全/更新模式处理(或不处理)每个维度 2) 迭代数据库的多维数据集,以便迭代其度量值组,以便迭代其分区,以便根据参数在Full/Add模式下处理(或不处理)每个数据集 在这种情况下,我们假设参数允许在更新模式下处理的维度以及在完整模式下处理的分区。所以,除了数据库和多维数据集对象外,其余对象都由应用程序成功处理,
- 0-“假”
- 1-“正确”
- null-“未定义”
谢谢大家,是否要将维度的空键与事实表的外键列中的空值相匹配?我认为这不会起作用,空值不会链接到空值。@FrankPl是的,这是我们计划的。谢谢你的提示,它可以回答未来的问题。目前,我们仍然不知道在处理工具中的对象时,是什么导致了错误的分析<如果
x
为null
,则code>IIf(x=0,y,z)或IIf(x=”,y,z)
将计算为y
。因此,在部分多维数据集处理中可能会发生类似的情况。由于这不太可靠,我只是尝试将所有列(仅用于度量值的列除外)设置为非空,以避免Analysis Services中出现许多模棱两可的情况。我们注意到,SSMS在流程窗口中以特定顺序显示处理过的对象:某些维度似乎在度量值组之前处理过,最后处理剩余的尺寸。这就是为什么我们猜测存在处理顺序的隐式规则,这不是通过在分区之前处理所有维度来实现的。进程窗口中项目的显示顺序在某种程度上是随机的,可能是您创建它们的顺序。但是,如果您发出一个进程数据库
,通常会并行使用多个执行线程,但要注意始终在任何度量值组引用维度之前处理维度。否则,处理顺序是任意的。