微软BI开拓者多维分析专区多维建模 当涉及到事实表的每条记录时...

3  /  4  页   1234 跳转 查看:27969

当涉及到事实表的每条记录时...

回复: 当涉及到事实表的每条记录时...

对值求和,=N得过滤出来
 

回复: 当涉及到事实表的每条记录时...



引用:
原帖由 一笑不倾城 于 2007-9-24 16:51:00 发表
对值求和,=N得过滤出来


你得按照时间来啊

我把逻辑用sql语句写给你看:

with tmp as
(
    select
    rank()over(partition by passport, product order by [time]) as get_rank, [rank]
    from sales
)
update tmp
set [rank] = [get_rank]
 

回复: 当涉及到事实表的每条记录时...

我说的这个值是度量值比如叫Pscounts,针对每一个passport 记录为1。它自然也是根据维度来求和的阿。实际上就是个计数。
 

回复: 当涉及到事实表的每条记录时...

做一个事实维度,以ID为key,然后将passport设为量度,聚合为计数。
 

回复: 当涉及到事实表的每条记录时...

我还是同意金老师的做法,性能应该不会有很大问题的
 

回复: 当涉及到事实表的每条记录时...



引用:
原帖由 jinligang 于 2007-9-24 17:41:00 发表
做一个事实维度,以ID为key,然后将passport设为量度,聚合为计数。


不明白。
 

回复: 当涉及到事实表的每条记录时...



引用:
原帖由 一笑不倾城 于 2007-9-25 10:36:00 发表


引用:
原帖由 jinligang 于 2007-9-24 17:41:00 发表
做一个事实维度,以ID为key,然后将passport设为量度,聚合为计数。


不明白。


就是度量与维度之间是事实关系啊

运算量也够大的.

由于时间紧,就先用SQL语句实现了,使用了PIVOT关键字,
顺便发现PIVOT里的聚合函数不能使用distinct关键字,如:pivot(count(distinct passport) for ...)
还是不尽人意.
 

回复:当涉及到事实表的每条记录时...

老金说的没错~
唯一问题~为什么不用SQL呢?
对于OLAP没有优势的查询?
 

回复:当涉及到事实表的每条记录时...

把事实表本身也作为一个维表处理呢?呵呵,感觉我好像是来添乱的.
 

回复: 当涉及到事实表的每条记录时...duliangzhi

现在客户需要"某天与某产品相关的且passport介于N1和N2的交易记录共有多少",
其中N1和N2由客户随意指定.



将ID作为一个度量值,聚合用(count),
然后用:

filter( descdants([产品维度].currentmember,,leaves),([产品维度].currentmember, passport)>N1 and ([产品维度].currentmember, passport)<N2 )

进行过滤,再与度量值id计数进行聚合。
 
3  /  4  页   1234 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2012 Comsenz Inc.
Processed in 0.0937524 second(s) , 3 queries.
返顶部