SAS:Proc Olap。非nway聚合
我想制作SAS:Proc Olap。非nway聚合,sas,sas-macro,rolap,Sas,Sas Macro,Rolap,我想制作Rolap立方体 创建表之后,我使用宏生成在proc olap中编写聚合语句 请参见如下警告和错误: WARNING: You cannot use NAME "DEFAULT" in the AGGREGATION statement for a non-NWAY aggregation. NOTE: The aggregation name "DEFAULT" was changed to "AGGR1". ERROR: An input data set was not sp
Rolap立方体
创建表之后,我使用宏生成在proc olap
中编写聚合语句
请参见如下警告和错误:
WARNING: You cannot use NAME "DEFAULT" in the AGGREGATION statement for a non-NWAY aggregation.
NOTE: The aggregation name "DEFAULT" was changed to "AGGR1".
ERROR: An input data set was not specified.
DIMENSION MyDim hierarchies=(First Second)
HIERARCHY First
levels=(A B D)
DEFAULT
;
HIERARCHY Second
levels=(C D)
;
怎么了?(我没有指定数据集,因为我有很多表,我想在Rolap多维数据集中使用这些表
)
补充:
如果我有这样的维度:
WARNING: You cannot use NAME "DEFAULT" in the AGGREGATION statement for a non-NWAY aggregation.
NOTE: The aggregation name "DEFAULT" was changed to "AGGR1".
ERROR: An input data set was not specified.
DIMENSION MyDim hierarchies=(First Second)
HIERARCHY First
levels=(A B D)
DEFAULT
;
HIERARCHY Second
levels=(C D)
;
D
是最小的级别,它有两个层次结构:D属于B属于a
和D属于C
如果我使用级别指定聚合表:1)
A B D
2)
ab
3)
A
4)
cd
5)
C
6)
none
然后sas告诉我,我没有指定输入数据集。(聚合表之一)
但这6个聚合覆盖了所有可能的去量化(没有像
abcd
或acd
那样的交叉覆盖去量化)在PROC OLAP DATA=
选项中,您应该为多维数据集指定数据源
fact=
选项以清除)DIMENSION代码>语句,包含对DIMTBL=library.tablname
选项中维度表的引用
摘自
编辑:
一个维度可以有多个层次结构。它们(它们的列)必须位于非规范化基表中,或者位于dimension
语句中DIMTBL=
选项中引用的一维表中
因此,如果您使用星型模式来构建多维数据集,那么每个维度应该有一个表和一个事实表。
每个维度表应包含定义一个或多个层次结构所需的所有列
比如,在您的例子中,维度MyDim包含在库MyLib中的表MyDim中-相关语句应该是:
DIMENSION MyDim hierarchies=(First Second)
DIMKEY=D
DIMTBL=MyLib.MyDim
;
HIERARCHY First
levels=(A B D)
DEFAULT
;
HIERARCHY Second
levels=(C D)
;
您肯定必须指定(一个)输入数据集-表或视图如何确定,哪一个?(如果我有一些层次结构)很好,但我想了解,如果我有两个层次结构,比如我的问题(现在编辑)