[ABI 5.1] 两个主题表,如何根据聚合之后,在进行连接

12485
7

xugj831 小试身手Lv3

发表于2020-7-17 11:49

悬赏1

已解决

楼主
需求背景:
一个是年度的计划明细(Plan),其中有个维度是A。
一个是月度,销售明细(result),其中也包含A

需求:针对维度A,得到本年度的销售计划以及销售实际。并可以是先达成比的计算。

说在前面:只是举个例子,不能使用ETL的过程来处理,因为这两个之间的对比,有非常多的类似A的维度,同时Plan还有比较多的版本。(实在不想那么做)

实现的过程。
1. 获取这两个主题表,针对A进行浮动。得到聚合值。(这个没有什么问题)
2. 如果想得到达成比,而且是浮动表元的情况,没有得到。

尝试过程:两个主题表,设定了A字段的表连接,无法达到下面的逻辑结果。


查询逻辑思路:(这个应该也没有问题)
SQL: 两个事实表分别根据A进行group by , 然后,将这两个结果进行join


请问高手,这种场景,在报表分析中,如何实现呢?


最近看过此主题的会员

esen_5ECRL65J0A

esen_5EPTFCEQCZ

esen_512LBDQOGE

lii_chen1234

ssssssss

zhouxm

esen_4Y50X8S9TW

esen_4Y50VZSBQB

fenglan

mkhang

ljf

sdhausfhsa

doubao

Xeo

董斯文

xzm

yhy416769852

最佳答案
xugj831 发表于 2020-7-20 08:41
@xxxl ,这个场景遇到一个新的问题。
1. 根据您的提示,两个表作为连接后,在分析区,只需要设定某一个主题 ...

设置连接表达式


7个回答

只看楼主

xxxl 数据领袖Lv6

发表于2020-7-17 12:07

只看该作者

取消 关注该作者的回复

沙发

意思就是通过表连接,但是最后达不到效果对吧


您看我这样的设置是不是跟您的差不多,最后效果

如果您最后的效果没达到预期要求可以考虑是连接表的关键字数据是否匹配,再就是表样设计是否有问题

xugj831 小试身手Lv3

发表于2020-7-17 12:58

只看该作者

取消 关注该作者的回复

板凳

xxxl 发表于 2020-7-17 12:07
意思就是通过表连接,但是最后达不到效果对吧

您看我这样的设置是不是跟您的差不多,最后效果

您能把SQL粘贴处理我学习一下吗?
补充:我的的案例中,由于一个是年表,一个是月表,所以我用到了数据期参数。

xxxl 数据领袖Lv6

发表于2020-7-17 13:06

只看该作者

取消 关注该作者的回复

地板

xugj831 发表于 2020-7-17 12:58
您能把SQL粘贴处理我学习一下吗?
补充:我的的案例中,由于一个是年表,一个是月表,所以我用到了数据期 ...

QC_JG.XH=QC_XL.XH公式是这样的。


如果一个年表一个月表的话似乎是不能够进行连接的

xugj831 小试身手Lv3

发表于2020-7-17 13:28

只看该作者

取消 关注该作者的回复

5#

我找到一种可能性了,由于我的实际需求中有限制条件,开始我是放到了浮动单元的过滤条件,发现生成的sql 是先left join 表AAA,并且where 条件中有 AAA对应的过滤条件,这样出来的结果再聚合,应该就不对的。
我之后,将浮动表元的过滤条件全部取消,在值的地方用 指标 ,设定过滤条件。

我粘贴处sql 比较明显
1.



2.

第二种是符合设计思路的。


现在还有两个小疑点

1. 连接模式生效的控制的逻辑是什么?
,在连接模式中有。
浮动表元也有
指标也有

2. 疑点在于指标的报表期参数和过滤条件

通盈的过滤语句, 我放到报表期参数还有过滤条件,都可以。这两者的区别的?

缱绻 数据领袖Lv6

发表于2020-7-17 14:11

只看该作者

取消 关注该作者的回复

6#

本帖最后由 缱绻 于 2020-7-17 14:12 编辑

xugj831 发表于 2020-7-17 13:28
我找到一种可能性了,由于我的实际需求中有限制条件,开始我是放到了浮动单元的过滤条件,发现生成的sql 是 ...

问题1:参考http://bbs.esensoft.com/thread-130944-1-1.html 报表内的连接模式优先级比主题集属性下的优先级高;
问题2:表元自己的过滤条件只对自己生效,,浮动维表元的过滤条件对包含在其浮动区域内的所有表元都生效,如果表元自己设置了过滤条件aa>1,浮动维表元也设置了过滤条件aa<1,,那么这个表元的过滤条件就是 aa>1 and aa<1
如果同时设置了全表的数据期条件和表元的数据期条件,那么这个表元的计算结果是表元数据期条件,全表的数据期条件没有起作用。即表元数据期条件优先级更高;
如果同时设置了数据期条件和过滤条件 那么这俩条件都会生效,是and的关系

xugj831 小试身手Lv3

发表于2020-7-20 08:41

只看该作者

取消 关注该作者的回复

7#

@xxxl ,这个场景遇到一个新的问题。
1. 根据您的提示,两个表作为连接后,在分析区,只需要设定某一个主题表的关联字段作为浮动单元。

设定关联关系



2. 业务背景概要,在dm_invoicelist 中存在两个客户字段信息(cust_id,Pcust_id),可以理解是父子关系,这个分析场景需要用到pcust_id

分析区


3. 关于SQL结果: 不论我是否设定了两个表的关联关系,都group by cust_id






缱绻 数据领袖Lv6

发表于2020-7-17 11:49

只看该作者

取消 关注该作者的回复

8#

xugj831 发表于 2020-7-20 08:41
@xxxl ,这个场景遇到一个新的问题。
1. 根据您的提示,两个表作为连接后,在分析区,只需要设定某一个主题 ...

设置连接表达式


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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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