-
-
test000 初学数据Lv2
发表于2018-11-30 11:25
悬赏5
已解决
楼主
请教各位大神一个问题!
我定义了一个维表,id,name,pid,pname 钻取关系是pid-id
采取跳转式钻取,钻取主表用的是id字段,钻取级次是pid
在子表中,想实现的是:过滤id的pid属于某个pid的条件
我该采取哪个函数来实现,function(id)=pid来实现过滤,请大神指教!!!
我定义了一个维表,id,name,pid,pname 钻取关系是pid-id
采取跳转式钻取,钻取主表用的是id字段,钻取级次是pid
在子表中,想实现的是:过滤id的pid属于某个pid的条件
我该采取哪个函数来实现,function(id)=pid来实现过滤,请大神指教!!!
22个回答
你好!我好像明白了一些。刚才在测试的时候,如果是选择自动传参数的话好像是没问题的。
但分析表有起始日期参数组件,这个参数的传递需要手动传参。手动传参的时候,那个表元的参数好像传递有点问题。

上面是主表的参数

这个是子表需要接收主表传递过来的参数,
因为主题表里areaid是代表市的,但需要显示的结果是省
所有需要一个过滤条件,将areaid属于某个省的数据保留下来
手动传这个参数传不正确。
刚才试自动传参好像没问题,但因为有起始日期参数组件,所有只能手动传参
test000 发表于 2018-11-30 15:50
你好!我好像明白了一些。刚才在测试的时候,如果是选择自动传参数的话好像是没问题的。
但分析表有起始 ...
1、表元传参有问题 具体是什么问题?参数值不对还是过滤条件不对,这个需要具体说明;
2、自动传参没有问题,手动传参有问题,那么就可以对比一下两者的sql 看一下有什么不同,根据正确的结果来手动传参
缱绻 发表于 2018-11-30 16:01
1、表元传参有问题 具体是什么问题?参数值不对还是过滤条件不对,这个需要具体说明;
2、自动传参没有问 ...
[attach]5024[/attach]select max(a.sale) as C2,a.rq as B2,c.pid as A2,max(b.bbqcap_) as mc_B20,max(c.pname) as mc_A21
from gk_sales a
left join dim_date b on (a.rq=b.bbq_)
left join dim_xzqy c on (a.area_id=CONVERT(c.id, CHAR))
where (c.pid = 3)
group by c.pid,a.rq
自动传参的时候,很顺利,把c.pid=3给传到子表里是符合要求的
但需要手动传参,怎么在子表里面过滤c.pid?
好像手动传参的话,只能过滤a.id吧?

这里的id 是市,pid是省,手动传参,不知道怎么把这个主表传递过来的pid子表里面去过滤
test000 发表于 2018-11-30 16:05
select max(a.sale) as C2,a.rq as B2,c.pid as A2,max(b.bbqcap_) as mc_B20,max(c.pname) as mc_A21
f ...
那个3就是主表传递过来的参数吗》??写到子表的过滤条件里就可以了啊,,主题表.pid=@cs
注意:@cs是是主表传递到子表的参数
缱绻 发表于 2018-11-30 16:18
那个3就是主表传递过来的参数吗》??写到子表的过滤条件里就可以了啊,,主题表.pid=@cs
注意:@cs是 ...

3是主表传过来的参数,但是子表里面是没有pid(省)这个字段的,只有id(字段),这个pid是从维表里来的,
这个是报的错误
test000 发表于 2018-11-30 16:25
3是主表传过来的参数,但是子表里面是没有pid(省)这个字段的,只有id(字段),这个pid是从维表里来的 ...
就是主表的某个字段关联了维表,子表没有关联吗 那可以把子表也关联一下维表吧
缱绻 发表于 2018-11-30 16:41
就是主表的某个字段关联了维表,子表没有关联吗 那可以把子表也关联一下维表吧 ...


主题表里是关联过维表的,主表和子表都设置了下钻级次是pid,
因为不设置pid的话,它无法显示成省的模式,
所有这里都是在主题表里关联了维表,但在过滤的时候,不知道怎么通过维表的值来过滤
test000 发表于 2018-11-30 16:46
主题表里是关联过维表的,主表和子表都设置了下钻级次是pid,
因为不设置pid的话,它无法显示成省的模 ...


这两个是维表及维表对应的数据库表

这个是主题表对应的数据库表


主表是各个省的总数据,子表是所选择省份的对应详细数据表


这是想要实现的效果,我选择湖北,跳到子表里面,子表显示的省份跟我点击的省份有关,
自动传参的时候,好像没问题,
但是如果我加上起始时间参数组件限制的话,就只能用手动来传参
手动传参这个不知道该怎么在子表里面,把这个pid给过滤出来
非常感谢你这么耐心的帮助我,指定我,谢谢你!!!
