IF [动销比] <= 0.1 THEN "10%以内" ELSEIF [动销比] <= 0.3 THEN "10%-30%" ELSEIF [动销比] <= 0.5 THEN "30%-50%" ELSEIF [动销比] <= 0.7 THEN "50%-70%" ELSE "0.7以上" END 这计算字段在tableau 中只返回0.7,其他没计算上
时间: 2023-12-05 15:32:21 浏览: 32
这个计算字段的公式看起来是正确的,但是只返回0.7的问题可能是因为动销比([动销比])这个字段的数据类型不正确,或者有缺失值/空值导致计算结果不准确,建议进行以下步骤进行排查:
1. 确认 [动销比] 字段的数据类型是否正确,如果不正确,需要将其转换为正确的数据类型(比如百分比)。
2. 确认 [动销比] 字段是否存在缺失值/空值,如果存在,需要先进行数据清洗,处理缺失值/空值。
3. 如果上述步骤都没有解决问题,可以尝试重新创建计算字段,或者使用其他的条件语句进行计算,例如使用 CASE WHEN 语句等。
另外,可以通过查看计算字段的调试信息来进一步排查问题。在创建计算字段时,勾选“调试信息”选项,然后在工作表中拖动计算字段到文本标签中,即可查看计算字段的调试信息,包括计算公式、数据类型、值等信息,帮助找到问题所在。
相关问题
用tableau 写一个计算字段,如果值小于等于0.1,返回10%以内,大于0.1小于等于0.3,返回10%-30%,大于0.3小于等于0.5,返回30%-50%,大于0.5小于等于0.7,返回50%-70%,大于0.7,返回0.7以上
可以使用以下公式来创建计算字段:
IF [值] <= 0.1 THEN "10%以内"
ELSEIF [值] <= 0.3 THEN "10%-30%"
ELSEIF [值] <= 0.5 THEN "30%-50%"
ELSEIF [值] <= 0.7 THEN "50%-70%"
ELSE "0.7以上"
END
将上述公式中的 [值] 替换为您的实际字段名称即可。然后将计算字段拖放到需要使用该字段的可视化部件中,即可根据条件对值进行分类。
case st is when st0=>en1<='0';green<='0';red<='0';sp<='0'; if start='1'then st<=st1; else st<=st0; end if; when stl=>en1<='1';green<='0';red<='0';sp<='0'; if result='1'then st<=st2; elsif iopen=′1'then st<=st4; elsif set='1'then st<=st0; else st<=stl; end if; when st2=>en1<='1';green<='0';red<='0';sp<='0'; if iopen=′1′then st<=st3; elsif set='1′then st<=st0; else st<=st2; end if; when st3=>en1<='0';green<='1';red<='0';sp<='0'; if set=′1′then st<=st0; else st<=st3; end if; when st4=>en1<='1';green<='0';red<='1';sp<='0'; if result=′1′then st<=st2; elsif set=′1′then st<=st0; elsif result=′0′and iopen=′1′then st<=st5; else st<=st4; end if; when st5=>en1<='0';green<='0';red<='1';sp<='1'; if set='1'then st<=st0; else st<=st5; end if; when others=>st<=st0; end case;这段代码错误在哪,并帮我改正
这段代码的错误在于if语句应该被放在process块中,而不是在case块中。此外,'和′是不同的符号,应该使用正确的符号。以下是修改后的代码:
```
process(st, start, result, iopen, set)
begin
case st is
when st0=>
en1<='0';
green<='0';
red<='0';
sp<='0';
if start='1' then
st<=st1;
else
st<=st0;
end if;
when stl=>
en1<='1';
green<='0';
red<='0';
sp<='0';
if result='1' then
st<=st2;
elsif iopen='1' then
st<=st4;
elsif set='1' then
st<=st0;
else
st<=stl;
end if;
when st2=>
en1<='1';
green<='0';
red<='0';
sp<='0';
if iopen='1' then
st<=st3;
elsif set='1' then
st<=st0;
else
st<=st2;
end if;
when st3=>
en1<='0';
green<='1';
red<='0';
sp<='0';
if set='1' then
st<=st0;
else
st<=st3;
end if;
when st4=>
en1<='1';
green<='0';
red<='1';
sp<='0';
if result='1' then
st<=st2;
elsif set='1' then
st<=st0;
elsif result='0' and iopen='1' then
st<=st5;
else
st<=st4;
end if;
when st5=>
en1<='0';
green<='0';
red<='1';
sp<='1';
if set='1' then
st<=st0;
else
st<=st5;
end if;
when others=>
st<=st0;
end case;
end process;
```
请注意,代码中仍然可能存在其他错误,因此您应该进行仔细的测试和验证。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)