钻取子表参数过滤问题

20656
22

test000 初学数据Lv2

发表于2018-11-30 11:25

悬赏5

已解决

楼主
请教各位大神一个问题!
我定义了一个维表,id,name,pid,pname  钻取关系是pid-id
采取跳转式钻取,钻取主表用的是id字段,钻取级次是pid
在子表中,想实现的是:过滤id的pid属于某个pid的条件
我该采取哪个函数来实现,function(id)=pid来实现过滤,请大神指教!!!

最近看过此主题的会员

esen_5GZGFNMWE3

liulei6511

esen_4YO0F42DH6

esen_5ECSX7TZGX

18993434840

chenliwei

esen_56JGSW20OX

嗨我来了

ddb

zhouchengsh

esen_4TUELCHD9M

esen_52M8XAS9VL

yiyiyiyiy

22个回答

只看楼主

test000 初学数据Lv2

发表于2018-11-30 15:15

只看该作者

取消 关注该作者的回复

12#

缱绻 发表于 2018-11-30 15:14
还是贴个图片上来看看吧,看你的主表的总收入跟子表的明细收入之间有什么关系,再来看怎么实现这个功能 ...

稍等哈

test000 初学数据Lv2

发表于2018-11-30 15:50

只看该作者

取消 关注该作者的回复

13#


你好!我好像明白了一些。刚才在测试的时候,如果是选择自动传参数的话好像是没问题的。
但分析表有起始日期参数组件,这个参数的传递需要手动传参。手动传参的时候,那个表元的参数好像传递有点问题。
上面是主表的参数

这个是子表需要接收主表传递过来的参数,
因为主题表里areaid是代表市的,但需要显示的结果是省
所有需要一个过滤条件,将areaid属于某个省的数据保留下来
手动传这个参数传不正确。

刚才试自动传参好像没问题,但因为有起始日期参数组件,所有只能手动传参

缱绻 数据领袖Lv6

发表于2018-11-30 16:01

只看该作者

取消 关注该作者的回复

14#

test000 发表于 2018-11-30 15:50
你好!我好像明白了一些。刚才在测试的时候,如果是选择自动传参数的话好像是没问题的。
但分析表有起始 ...

1、表元传参有问题 具体是什么问题?参数值不对还是过滤条件不对,这个需要具体说明;
2、自动传参没有问题,手动传参有问题,那么就可以对比一下两者的sql  看一下有什么不同,根据正确的结果来手动传参

test000 初学数据Lv2

发表于2018-11-30 16:05

只看该作者

取消 关注该作者的回复

15#

缱绻 发表于 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子表里面去过滤




缱绻 数据领袖Lv6

发表于2018-11-30 16:18

只看该作者

取消 关注该作者的回复

16#

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是是主表传递到子表的参数

test000 初学数据Lv2

发表于2018-11-30 16:25

只看该作者

取消 关注该作者的回复

17#

缱绻 发表于 2018-11-30 16:18
那个3就是主表传递过来的参数吗》??写到子表的过滤条件里就可以了啊,,主题表.pid=@cs   
注意:@cs是 ...


3是主表传过来的参数,但是子表里面是没有pid(省)这个字段的,只有id(字段),这个pid是从维表里来的,
这个是报的错误

缱绻 数据领袖Lv6

发表于2018-11-30 16:41

只看该作者

取消 关注该作者的回复

18#

test000 发表于 2018-11-30 16:25
3是主表传过来的参数,但是子表里面是没有pid(省)这个字段的,只有id(字段),这个pid是从维表里来的 ...

就是主表的某个字段关联了维表,子表没有关联吗   那可以把子表也关联一下维表吧

test000 初学数据Lv2

发表于2018-11-30 16:46

只看该作者

取消 关注该作者的回复

19#

缱绻 发表于 2018-11-30 16:41
就是主表的某个字段关联了维表,子表没有关联吗   那可以把子表也关联一下维表吧 ...


主题表里是关联过维表的,主表和子表都设置了下钻级次是pid,

因为不设置pid的话,它无法显示成省的模式,
所有这里都是在主题表里关联了维表,但在过滤的时候,不知道怎么通过维表的值来过滤

缱绻 数据领袖Lv6

发表于2018-11-30 17:05

只看该作者

取消 关注该作者的回复

20#

你的维表数据什么样?? 主表的数据跟子表的数据什么样,截图看一下

test000 初学数据Lv2

发表于2018-11-30 17:22

只看该作者

取消 关注该作者的回复

21#

test000 发表于 2018-11-30 16:46
主题表里是关联过维表的,主表和子表都设置了下钻级次是pid,

因为不设置pid的话,它无法显示成省的模 ...


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




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



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




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

非常感谢你这么耐心的帮助我,指定我,谢谢你!!!



登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号