永洪社区

标题: 数值字段替换为文字字段 [打印本页]

作者: greenwonder    时间: 2021-7-7 19:17
标题: 数值字段替换为文字字段
本帖最后由 greenwonder 于 2021-7-8 09:12 编辑

图中红框字段的内容都是数字 数字代表什么含义放在另一张表dictitem里 (这个红框的aa0702含义是职务属性 在另一张表dictitem中 写着1代表领导职务 2代表非领导职务 3代表相当职务)我想问3个问题 1、怎么才能画出一个饼图 图上显示的是文字 而不是数字?是否需要把那张说明数字代表什么含义的表dictitem关联进来 还是说需要在报告里直接替换数值为文字?2、如果是直接替换数值为文字 是否需要用到SQL语句?即批量替换case when语句 这个语句要在哪里写?3、怎么才能知道我画的是哪张图?是需要把画布上的所有图都数一遍 数出我现在画的是第几张图 还是说有其他的办法知道 我这个是哪张图?

作者: 美滋滋    时间: 2021-7-8 08:17
我觉得我完全没有get到你的点。。。。
作者: _贝贝    时间: 2021-7-8 09:34
做出来的数据显示的数字是因为你导入的表就是数字的,需要什么格式就导什么格式的表
作者: _贝贝    时间: 2021-7-8 09:39
要替换成文字或者其他格式建议先在数据库处理好了再取出来
作者: greenwonder    时间: 2021-7-8 09:40
永洪tech-zxx 发表于 2021-7-8 09:34
做出来的数据显示的数字是因为你导入的表就是数字的,需要什么格式就导什么格式的表 ...

我的问题就是如何把文字显示出来啊 我想要么是关联数字表和文字表 要么是直接改数字为文字 请问具体怎么关联 或怎么改数字为文字?
作者: greenwonder    时间: 2021-7-8 09:45
永洪tech-zxx 发表于 2021-7-8 09:39
要替换成文字或者其他格式建议先在数据库处理好了再取出来

数据库我仅有只读权限 无法做视图 在视图里把数字转化为文字 请问怎么办?
作者: _贝贝    时间: 2021-7-8 10:26
在数据集选中字段右键有一个【值映射】,替换成需要的值就行了
作者: greenwonder    时间: 2021-7-8 11:48
永洪tech-zxx 发表于 2021-7-8 10:26
在数据集选中字段右键有一个【值映射】,替换成需要的值就行了

不知这种情况该如何添加这个【值映射】?这个红框里凡是01打头的是国内总社 02打头的是国内分社 03打头的是国外分社

作者: _贝贝    时间: 2021-7-8 12:54
greenwonder 发表于 2021-7-8 11:48
不知这种情况该如何添加这个【值映射】?这个红框里凡是01打头的是国内总社 02打头的是国内分社 03打头的 ...

这个不行哈
作者: _贝贝    时间: 2021-7-8 13:11
可以在制作报告的时候用高亮处理一下,如图

作者: 美滋滋    时间: 2021-7-8 13:27
那你直接创建SQL数据集的时候,直接通过那个字段的前两位来生成新的文字描述的字段不就可以了?
作者: 美滋滋    时间: 2021-7-8 13:41
比如:
SELECT
CASE SUBSTRING(ab0110,1,2)
WHEN '01' THEN '国内总社'
WHEN '02' THEN '国内分社'
WHEN '03' THEN '国外分社'
ELSE '我也不知道是啥社'
END AS newab0110
from aa01

作者: greenwonder    时间: 2021-7-8 14:08
lijie 发表于 2021-7-8 13:41
比如:
SELECT
CASE SUBSTRING(ab0110,1,2)

完全照搬你的答案 请问永洪它说关系aa01不存在 是怎么回事啊?

作者: greenwonder    时间: 2021-7-8 14:11
greenwonder 发表于 2021-7-8 14:08
完全照搬你的答案 请问永洪它说关系aa01不存在 是怎么回事啊?

我搞出来啦 应该是
SELECT
CASE SUBSTRING(ab0110,1,2)
WHEN '01' THEN '国内总社'
WHEN '02' THEN '国内分社'
WHEN '03' THEN '国外分社'
ELSE '我也不知道是啥社'
END AS newab0110
from xhs_rs.aa01

谢谢谢谢!
作者: greenwonder    时间: 2021-7-8 14:12
永洪tech-zxx 发表于 2021-7-8 13:11
可以在制作报告的时候用高亮处理一下,如图

添加高亮不解决我的问题啊
作者: 美滋滋    时间: 2021-7-8 14:13
你的数据源建立的时候,没有指定数据库。所以你应该改成 from xhs_rs.aa01
作者: greenwonder    时间: 2021-7-12 16:44
lijie 发表于 2021-7-8 13:41
比如:
SELECT
CASE SUBSTRING(ab0110,1,2)

我现在的问题是要生成2个字段。 1个是这个newab0110 另1个是newae0122 然后把这两个新字段加在 "za0101", "ax0168", "aa0107", "ae0122", "aa0121", "ae0141",字段后面 放在aa01表中。请问这两个嵌套的case when从句该怎么写?生成这个newae0122的条件是:当ae0122为3个字符时 填大区,当ae0122为5个字符时 填单位,当ae0122为7个字符时 填科室,当ae0122为9个字符时 填更下级机构。我尝试写了一下 如下:
CASE WHEN LEN(ae0122) = '3' THEN '大区'
            WHEN LEN(ae0122) = '5' THEN '单位'
            WHEN LEN(ae0122) = '7' THEN '科室'
            WHEN LEN(ae0122) = '9' THEN '更下级机构'
END AS newae0122
FROM xhs_rs.aa01
我不会一次改2个字段 请教!
作者: 环环    时间: 2021-7-12 18:41
使用组合数据集来做
作者: 美滋滋    时间: 2021-7-13 08:42
你的ae0122字段的实际数据发来瞧一下。
“当ae0122为3个字符时 填大区,当ae0122为5个字符时 填单位,当ae0122为7个字符时 填科室,当ae0122为9个字符时 填更下级机构。“
没有太理解上面这段话。
作者: greenwonder    时间: 2021-7-13 10:12
lijie 发表于 2021-7-13 08:42
你的ae0122字段的实际数据发来瞧一下。
“当ae0122为3个字符时 填大区,当ae0122为5个字符时 填单位,当ae0 ...

这个ae0122字段里面都是7个字符的 或是9个字符的 这7个或9个字符中 前3个字符代表的是大区 前5个字符代表的是具体单位名称 7个字符的是科室 9个字符的是下级机构
作者: 美滋滋    时间: 2021-7-13 10:24
你最终想要增加出一个什么样数据的字段?用实际例子来说明一下。

作者: greenwonder    时间: 2021-7-13 10:24
永洪Tech-chunyu 发表于 2021-7-12 18:41
使用组合数据集来做

请看图1、2、3 za0101的文字值没有传过来

作者: greenwonder    时间: 2021-7-13 10:26
lijie 发表于 2021-7-13 10:24
你最终想要增加出一个什么样数据的字段?

想要加一个字段 字段里是科室 和下一级机构
作者: 美滋滋    时间: 2021-7-13 10:42
请实际举例说明:
比如
ab0110 字段是什么数据
ae0122 字段是什么数据
然后我想得到一个新的字段,数据是什么样的。

作者: greenwonder    时间: 2021-7-13 11:40
lijie 发表于 2021-7-13 10:42
请实际举例说明:
比如
ab0110 字段是什么数据

aa01表中有2个字段:ab0110 和 ae0122  其中 ab0110是部门 和 ae0122是科室 ab01表中有1个za0101字段 里面存的是部门和科室的文字内容 此外 aa01表中 存在另一个za0101字段 这个字段的内容是人员姓名
我想要个newab0110 里面01开头的是国内总社 02开头的是国内分社 03开头的是国外分社
             newae0122 里面7位的是科室 9位的是下一级单位




作者: 环环    时间: 2021-7-13 11:49
远程看一下吧
作者: 美滋滋    时间: 2021-7-13 11:57
greenwonder 发表于 2021-7-13 11:40
aa01表中有2个字段:ab0110 和 ae0122  其中 ab0110是部门 和 ae0122是科室 ab01表中有1个za0101字段 里 ...

抱歉,还是没有get到你的问题点。。。。
你前面说 ae0122是3个字符时,是5个字符时,是7个字符时等等,现在又说ae0122是7位的是科室,9位的是下一级单位 。。。。 说的我有些晕。
其实我要的很简单,以你截图的实际数据来说,比如第一条数据,ae0122 的数据是 01313ZG05,那么通过这个数据,你想得到的newae0122是什么?
作者: 环环    时间: 2021-7-13 17:55
原数据有问题,建议内部再沟通一下




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4