怎么搞层级的符号反转 reverse sign

今天有个菜鸟问我这个怎么搞。
当然我这个菜鸟也不可能知道。
于是我只能来查。

查了不能白查。当然还是要记录一下的。
他的需求是,在现金流账户层级下面。顶级节点现金流,下面有两个子节点:1. 期末现金/现金等价物 2. 期末现金抵消。这两个节点值是一样的。
现在这两个节点都是正的,统计到顶级节点就是正数。但是现在他们想要这个顶级节点数为0,也就是现在要1,2节点相互抵消。
那现在怎么把这个2节点符号给反转掉,给弄成所有2节点的关键值都是负数?

1. 在层级上弄

首先找到这个层级信息对象,符号反转属性它要有:
在这里插入图片描述
其次要去找这个层级的这个节点:双击节点,把这个节点的符号反转给打上。
在这里插入图片描述
到这里,一切都结束了么?
好像很简单,但是没有考虑实际情况。
你的那些query,如果都用了这个层级,那它们难道都需要这个层级节点进行符号反转么?
假如只有其中的一些query需要层级的行项目进行符号反转,其他人家不需要呢?

那怎么弄?在query里面弄。

2. 在query里面弄

2.1 query行属性弄

你把这个层级的行显示在query的行里,然后去它的属性里,属性里会有一个符号反转:
在这里插入图片描述
可是到这里还有一个问题,一行两行的我好弄,万一来个几十行,那我不想一个一个弄了,怎么办?
那还是在关键值那里搞吧,直接弄个公式变量,然后改掉正负号。

2.2 query的公式变量弄

这个听起来好像也挺简单的,但是具体怎么弄呢?
听起来好像是在列的关键值上面弄,怎么关联到想反转符号的行上呢?这个行是层级的行啊,怎么搞?

这个公式变量呢,其实是个变量,信息对象的变量,在信息对象上面建,但是这个是个公式变量。
一个带主数据的信息对象,可以有很多种变量啊,这个是个公式变量。
在这里插入图片描述
右键这个层级所在的信息对象,建个变量:
在这里插入图片描述
选个路径交换。
在这里插入图片描述
跟谁交换?
在这里插入图片描述
选符号更改。保存变量。这个变量是个啥了现在?就是个可以在公式里用的-1了。
在这里插入图片描述
那咋用?
在query的关键值里,新建公式,把这个公式变量加到公式里,乘以你的关键值。这样就直接把关键值给 * -1了。这个也就是用关键值乘以-1 代替了在行上的属性设置。
在这里插入图片描述
那么其实到这还是有个问题的,那就是考虑的了列,考虑不了行了啊。
毕竟这里的场景是,我把列上的关键值给转成负的了。可是我基于的哪个层级呢?我只用公式变量,选了个从层级属性去替换反转符号。只有当我用层级的时候,符号会被反转。用其他维度就不会反转。
可是问题是,我只想反转一部分层级啊。这个用公式变量是办不到的么??
而且我的这个公式变量,我选了替换信息对象的层级属性,可是我这个信息对象,它有好多个层级啊。难道是对于每个层级,这个都会反转符号么?
暂且把行列的思考抛开。这些还得在query里实践出来。实践出真知啊。
这里面其实还有个问题,就是这个replacement path的问题。
这个替换路径,到底是怎么工作的?

3. BW 中的变量

变量,变量。就是说跟常量相反的。
但是它也是占了个常量的位置,让别人有办法填值进去的。
就是让人家在跑query的时候,能选择一个想要的特性的值。

变量有很多种类型。
每个变量类型有自己的处理方法。也就是说你想要替换成啥值的方法。
所以咱得知道,到底有啥变量类型,都是咋处理替换值的。

3.1 变量类型

在这里插入图片描述
特性值变量: 就说它是用来放特性值的。可以选单个值,多个值,区间,范围,选择项。
层级节点变量:给节点准备的。
文本变量:一般我们在CKF,结构或者一些query的描述啊,行列的描述上面用到。这个文本变量两头会有&。文本变量就必须得是文本值。
公式变量:用来表示数值的。一般用在公式里,来计算条件啊,例外啊。公式变量就必须得是数字。
层级变量:选择层级。

3.2 处理类型

在这里插入图片描述
query跑起来的时候,这些个变量的值是怎么被填充的?就是以上这些个方法。
首先看这个路径替换,因为我们的反转用的就是这个路径替换的公式变量。

我在一个变量里用了路径替换,不是我自己去动态手工填的,或者是代码写的。那么这个变量在query跑的时候,它是去替换了谁的值?
谁给它提供了路径替换的值?如果我建了一个公式变量,这个公式只能从infoobject的属性或者从另外的变量里去取值。
在这里插入图片描述
当我去一个信息对象取值。我可以选我去它的key或者文本。我可以去设定取值范围From-To。
在这里插入图片描述
Key值表示我从特性key来替换。
name就是去从文本拿。如果我公式从name拿,那这个name必须得包含数字。
如果发现我要替换的值是个区间,那么可以选最小值,就是from value或者最大值,就是to value.
对于公式,我还可以选择最小值和最大值的差值。比如说from 1月to 3月,那我这个差值就是3-1+1.这个加1,就是这个公式变量差值的计算方式。
在这里插入图片描述
那么对于我这个公式的变量,我选的是0SIGNCH,这是啥意思呢?
首先这个符号更改只适用于公式变量,这个给隐藏掉了,根本看不出来从哪里替换的值。其实这个是专门给层级节点反转符号用的。它替换的值是从infoobject的层级节点来。
选了这个还默认是聚集后替换。
旧版本还是能看出来的。
在这里插入图片描述

那么这个offset呢,是用来给还可以选择偏移开始和长度。比如你想给会计财年建文本变量,replace path选择key,年度就是2022,你同时选offset 开始2,length 2。那就是从第二位后开始,显示两位。那就是22.
还有一个用布尔值的,这个只适用于公式变量。
啥意思呢,一般公式要么从key来,要么从name来。
但是如果我啥值都不想要。我只想要看你这个key它存不存在呢?
那么我就可以返回个布尔值。0表示这个key 是空的,或者数字是0.
1就表示我这个不是空的,或者我这个数字不是0.
比如说我要去计算哪些月份有付款。我选公式变量和属性值替换。这个属性值我选一个带标记的flag.比如一个付款flag。 对于付款了的凭证,会有一个X的flag,没付款的就是空。那我就再选布尔值做结果。
最后我在query的公式用这个付款的1乘以所有的付款钱,0乘以没付款的钱,得到的就是付款了的。
在这里插入图片描述

如果我选从变量来替换值。就是从别的变量来取值。那我就不能是输入型的,还得是单值。
如果它是一个特性值变量,它可以从变量,当前的成员或者query里去取值。
在这里插入图片描述
比如我去和query替换值。也就是我用它这个query的结果集来当做我的变量的值了。
还有比较常用的客户出口。
下次再写。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomici

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值