[亿信BI4.2.2] 维表过滤条件

6600
1

橘子树下的背影 初学数据Lv2

发表于2020-7-23 15:57

悬赏100

已解决

楼主
关联的维表可以过滤维表的多个字段吗?我现在关联了一张维表,但是想同时过滤掉维表的另一个字段,可以直接在过滤条件中写吗?

最近看过此主题的会员

wjx0403

vip

esen_50U2PL1OSG1M

esen_4Z8ISBOQY3

sanxia7768

zly_2960

18176699532

最佳答案

xxxl

发表于2020-7-23 15:57

只看该作者

取消 关注该作者的回复

可以用dim或者diminf来取
DIM
定义:
通常用于维,指标,条件中,表示维在数据库中的字段;这里的维包括通用维,多级维,单级维,但必须都要有对应的数据库表;对于COD文件型维,支持取级次,不支持取属性值;
参数:
1.dim(p1,p2)
参数p1: 表示维表元,可以是表元名,表达式,也可以是维名称;
比如:xxb.hy_dm, "行业代码",id()
参数p2: 表示维的级次,或者是维的属性,还可以是维表的字段名;
比如:0,1,2..., "行业门类","行业大类","hy_ml"
这里 0 表示最大级次;
例:dim(xxb.hy_dm,0)
= dim(xxb.hy_dm,"行业门类")
= dim(xxb.hy_dm,"hy_ml")
= dim("行业代码",0)
= dim("行业代码","行业门类")
= dim("行业代码","hy_ml")
dim(id(),"nsrmc")
注:
第二个参数如果是数字,则第一个参数对应的维可以是文件型维;
例: 如果xxb.hy_dm是文件型维:
dim(xxb.hy_dm,0) ,取的是第0级的前缀;
dim(xxb.hy_dm,"行业门类") 则不支持;
2.dim(p1,p2,p3)
参数p1,p2同上;
参数p3: 是时间参数,用于缓慢增长维,表示截至到维表p1指定参数p3的p2的值;
例:
dim(id(),"nsrmc", "200501--")就是取id()对应维表截止到200501月份的nsrmc字段的值;
注:
如果第一个参数是个常量,比如要取行业代码"A0100"对应的名称,则需要用到 diminf 函数了;
DIMINF
定义
获得某维的值的信息。DIMINF(C1 C2),或DIMINF(C1 C2 I),或DIMINF(C1 C2 C3)。
参数
C1:第一个参数,表示维的名字,如 HY_DM, 表示“行业代码”等;特殊情况是:“dw” 表示单位级次代码;
C2:第二个参数,表示代码,如 A0000;
C3,I:第三个参数可以是字符或者整型数,也可以没有第三个参数。如果没有第三个参数,那么直接返回代码对应的文字信息;如果有第三个参数且是整型,则返回第I个代码对应的属性;
如果有第三个参数且是字符串,则当字符串是:$PREFIX:则返回此代码所在级次的前缀字符串;如级次为1-2-2的行业代码中,A0000的前缀字符串为A。
$ISLEAF:是否是叶子节点,此时函数的返回值为T或F,也为字符型。
$LEVEL:返回第二个参数表示的代码在维中的级次,此时函数的返回值也为字符型其他情况返回相应属性对应的文字信息
示例:
返回维的值的信息
DIMINF('HY_DM',A0000),返回‘农、林、牧、渔业’
在维'HY_DM'中,A0000对应的文字信息为‘农、林、牧、渔业’,故返回‘农、林、牧、渔业’
级次为1-2-2的行业代码维hy_dm,diminf('hy_dm','A0000','$PREFIX')='A'


1个回答

只看楼主

xxxl 数据领袖Lv6

发表于2020-7-23 15:57

只看该作者

取消 关注该作者的回复

沙发

可以用dim或者diminf来取
DIM

定义:
通常用于维,指标,条件中,表示维在数据库中的字段;这里的维包括通用维,多级维,单级维,但必须都要有对应的数据库表;对于COD文件型维,支持取级次,不支持取属性值;
参数:
1.dim(p1,p2)
参数p1: 表示维表元,可以是表元名,表达式,也可以是维名称;
比如:xxb.hy_dm, "行业代码",id()
参数p2: 表示维的级次,或者是维的属性,还可以是维表的字段名;
比如:0,1,2..., "行业门类","行业大类","hy_ml"
这里 0 表示最大级次;
例:dim(xxb.hy_dm,0)
= dim(xxb.hy_dm,"行业门类")
= dim(xxb.hy_dm,"hy_ml")
= dim("行业代码",0)
= dim("行业代码","行业门类")
= dim("行业代码","hy_ml")
dim(id(),"nsrmc")
注:
第二个参数如果是数字,则第一个参数对应的维可以是文件型维;
例: 如果xxb.hy_dm是文件型维:
dim(xxb.hy_dm,0) ,取的是第0级的前缀;
dim(xxb.hy_dm,"行业门类") 则不支持;
2.dim(p1,p2,p3)
参数p1,p2同上;
参数p3: 是时间参数,用于缓慢增长维,表示截至到维表p1指定参数p3的p2的值;
例:
dim(id(),"nsrmc", "200501--")就是取id()对应维表截止到200501月份的nsrmc字段的值;
注:
如果第一个参数是个常量,比如要取行业代码"A0100"对应的名称,则需要用到 diminf 函数了;
DIMINF
定义
获得某维的值的信息。DIMINF(C1 C2),或DIMINF(C1 C2 I),或DIMINF(C1 C2 C3)。
参数
C1:第一个参数,表示维的名字,如 HY_DM, 表示“行业代码”等;特殊情况是:“dw” 表示单位级次代码;
C2:第二个参数,表示代码,如 A0000;
C3,I:第三个参数可以是字符或者整型数,也可以没有第三个参数。如果没有第三个参数,那么直接返回代码对应的文字信息;如果有第三个参数且是整型,则返回第I个代码对应的属性;
如果有第三个参数且是字符串,则当字符串是:$PREFIX:则返回此代码所在级次的前缀字符串;如级次为1-2-2的行业代码中,A0000的前缀字符串为A。
$ISLEAF:是否是叶子节点,此时函数的返回值为T或F,也为字符型。
$LEVEL:返回第二个参数表示的代码在维中的级次,此时函数的返回值也为字符型其他情况返回相应属性对应的文字信息
示例:
返回维的值的信息
DIMINF('HY_DM',A0000),返回‘农、林、牧、渔业’
在维'HY_DM'中,A0000对应的文字信息为‘农、林、牧、渔业’,故返回‘农、林、牧、渔业’
级次为1-2-2的行业代码维hy_dm,diminf('hy_dm','A0000','$PREFIX')='A'


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

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

小时

全天响应

分钟

快速处理问题

工程师强势助力

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

400咨询:400-0011-866

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

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

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