如何把一个表中的多条记录按指定字段转成横表(指定字段的全部内容做为横表的字段)的一个记录?给个思路
我用集算器处理后台数据,有个出院病人表,存储的是每个出院病人的基本情况,一个病人一条记录。还有一个费用项目表,存储的是每个出院病人的费用信息,每个收费项目一条记录。我现在要结合这两个表的数据生成一个出院病人费用明细表,每个出院病人一条记录,用全部费用项目做字段,构成一个横表。出院病人表中的数据直接使用即可,费用项目表需要转成横表,同一个病人的收费项目金额,转成一个横表中的相应字段值。
"我用集算器处理后台数据,有个出院病人表,存储的是每个出院病人的基本情况,一个病人一条记录。还有一个费用项目表,存储的是每个出院病人的费用信息,每个收费项目一条记录。我现在要结合这两个表的数据生 .."
我用集算器处理后台数据,有个出院病人表,存储的是每个出院病人的基本情况,一个病人一条记录。还有一个费用项目表,存储的是每个出院病人的费用信息,每个收费项目一条记录。我现在要结合这两个表的数据生成一个出院病人费用明细表,每个出院病人一条记录,用全部费用项目做字段,构成一个横表。出院病人表中的数据直接使用即可,费用项目表需要转成横表,同一个病人的收费项目金额,转成一个横表中的相应字段值。
纵向按照病人做个 group 操作,然后做个横向扩展,横向按照另一个字段扩展,这样能取出对应数据。
如果要多人信息在一张报表内展示,然后每个人条数不一致时,可能还需要用 valueat 函数处理下。
这个最好能模拟下数据,然后在 excel 里简单画下想要的效果,把报表发上来,做个具体说明
😄 高低模拟几行数据,至少描述一下表的 schema,是吧😄
以下猜的,仅供参考,姓名, 住院号描述的是关联字段,用住院号 (如果有类似字段) 就行,这个号不可能有重复:
用 pivot() 函数可以实现行转列,请问:列的顺序是按原行的记录顺序排列的吗?
pivot 里参数可以指定列顺序。
https://d.raqsoft.com.cn:6443/esproc/func/pivot.html
具体可以看下函数说明
😂 这个你随便试一下就试出来了。
目前集算器 pivot 之后的列顺序默认是按原行中出现的先后顺序排列的。也有参数可以后续调整列顺序。
有些程序行转列时,列字段会按系统顺序排序的。