【发布时间】:2020-05-07 17:00:04
【问题描述】:
我需要比较每个项目年度的第一次、中间和最后一次测试。这样做的测量涉及两个变量(1)水平(文本)和(2)分数(数字)。
有 52 个级别,我将其解释为一个变量,该变量将每个级别转换为一个数字:([IReady - Level #])。我想将([IReady - Level #]) 变量与与每个测试关联的分数加入:([Total Reading - Score_1965])。
例如,我的 ([IReady - Level #]) 变量将名为 Early 1 的级别转换为数字 4。它会将下一个级别 Mid 1 转换为数字 5。因此,个人在一次测试中进行的三个测试的原始结果计划年份可能如下所示:
- Test1 级别和分数:早期 1 和 301
- Test2 水平和分数:Mid 1 & 299
- Test3 级别和分数:早期 1 和 300
但是,我们的目标是使用我的 ([IReady - Level #]) 变量和分数 ([Total Reading - Score_1965]),这样这些测试结果将如下所示 - 创建一个新数字,该数字易于相互比较并可靠地反映国际和级内进度:
- Test1 等级和分数:4301
- Test2 等级和分数:5299
- Test3 等级和分数:4300
下面的公式有效(这个变量的名字是[zzLevel + Score concatenated]:
=[IReady - Level #] + "" + [Total Reading - Score_1965]
...但即使在我使用了下面列出的ToNumber 函数之后,它也会将结果数字转换为字符串:
-
在更大的变量上
=`ToNumber([zzLevel + Score concatenated]` -
在
[IReady - Level #]变量内=
[IReady - Level #]=ToNumber(((If ([Total Reading - Level_1966] InList( "Emerging K"; "emerging K"; "emerging k")) Then 0... (而且我发现,即使要使其工作,我也必须将[IReady - Level #]变量转换为“维度”与“度量”,以便将其读取为数字。)但确实如此,成功,现在将此变量视为一个数字。所以现在我只需要弄清楚如何连接两个数字。
有人可以帮我把结果变成数字吗?我可能对此有疑问,但这是最关键的方面。
更新:在同事的帮助下,我找到了另一种方法来完成我需要的事情——我将我的级别#乘以 1,000:([IReady - Level #]*1000)...这样我就可以添加那个新变量的分数。现在,“Early 1”级别的测试结果为“301”,等于总和:“4,301”。但是,我仍然很好奇是否有办法连接两个数字(即数字“100”+“401”=100401——作为数字与字符串)。所以我仍然欢迎任何想法。
【问题讨论】:
-
你能展示你使用 ToNumber() 函数的尝试吗?您尝试在 ToNumber() 函数中转换的变量的示例值是什么?
-
嗨,艾萨克,是的,我已将其添加到说明中。
标签: sap business-objects webi