首页 > 解决方案 > 在 Webi 中连接两个数字(不添加数字)

问题描述

我需要比较每个项目年度的第一次、中间和最后一次测试。这样做的测量涉及两个变量(1)水平(文本)和(2)分数(数字)。

有 52 个级别,我将其解释为一个变量,该变量将每个级别转换为一个数字:([IReady - Level #]). 我想将([IReady - Level #])变量与与每个测试相关联的分数加入:([Total Reading - Score_1965])

例如,我的([IReady - Level #])变量将指定的级别Early 1转换为数字 4。它会将下一个级别 ,Mid 1转换为数字 5。因此,个人在一个项目年度内进行的三项测试的原始结果可能如下所示:

但是,我们的目标是使用我的([IReady - Level #])变量,并与分数相结合,([Total Reading - Score_1965])以便这些测试结果如下所示——创建一个新的数字,该数字易于相互比较并可靠地反映级别间和级别内的进步:

以下公式有效(此变量的名称为[zzLevel + Score concatenated]

= [IReady - Level #]+ "" +[Total Reading - Score_1965]

...但即使在我使用了ToNumber下面列出的函数之后,它也会将结果数字转换为字符串:

有人可以帮我把结果变成数字吗?我可能对此有疑问,但这是最关键的方面。

更新:在一位同事的帮助下,我找到了另一种方法来完成我需要的事情——我将我的级别#乘以 1,000:([IReady - Level #]*1000)……这样我就可以将这个新变量添加到分数上。现在,“Early 1”级别的测试结果为“301”,等于总和:“4,301”。但是,我仍然很好奇是否有办法连接两个数字(即数字“100”+“401”=100401——作为数字与字符串)。所以我仍然欢迎任何想法。

标签: sapbusiness-objectswebi

解决方案


有一个函数可以将数字转换为字符串:FormatNumber()

但是,如果您实际上不想格式化任何内容,而只想将数字转换为字符串以进行您提到的那种连接,那么最简单的方法就是向其中添加一个字符串。如果使用空字符串,则可以使用 ToNumber 将其转换回数字。例如:

  • ="Number: " + 100- 将变量分配给“数字:100”的字符串值
  • =""+100- 将变量分配给字符串值“100”
  • =100+""- 还将一个变量分配给字符串值“100”
  • =100+""+401- 将变量分配给字符串值“100401”
  • =""+100+401- 还将为字符串值“100401”分配一个变量
  • =100+401+""- 将变量分配给“501”的字符串值(从左到右的计算意味着在遇到字符串之前它不会转换为字符串,因此它会添加数字然后转换)
  • =ToNumber(100+""+401)- 将计算为数值 100401

推荐阅读