摘要:原始數(shù)據(jù)張三語(yǔ)文李四語(yǔ)文王五語(yǔ)文張三數(shù)學(xué)李四數(shù)學(xué)王五數(shù)學(xué)張三英語(yǔ)李四英語(yǔ)簡(jiǎn)單去重羅列輸出語(yǔ)文語(yǔ)文語(yǔ)文數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)英語(yǔ)英語(yǔ)聚合公式姓名科目成績(jī)輸出姓名科目成績(jī)張三語(yǔ)文李四語(yǔ)文王五語(yǔ)文張三數(shù)學(xué)李四數(shù)學(xué)王五數(shù)學(xué)張三英語(yǔ)李四英語(yǔ)交叉聚合公式總分總成
原始數(shù)據(jù)
let data = { fields: ["name", "subject", "score"], data: [ ["張三", "語(yǔ)文", 86], ["李四", "語(yǔ)文", 92], ["王五", "語(yǔ)文", 56], ["張三", "數(shù)學(xué)", 100], ["李四", "數(shù)學(xué)", 88], ["王五", "數(shù)學(xué)", 98], ["張三", "英語(yǔ)", 62], ["李四", "英語(yǔ)", 83] ] }1. 簡(jiǎn)單去重羅列
Report.format(data, [{ converge: "v" }, 2, 1])
輸出
"score" | "subject" |
---|---|
86 | "語(yǔ)文" |
92 | "語(yǔ)文" |
56 | "語(yǔ)文" |
100 | "數(shù)學(xué)" |
88 | "數(shù)學(xué)" |
98 | "數(shù)學(xué)" |
62 | "英語(yǔ)" |
83 | "英語(yǔ)" |
Report.format(data, [{ converge: "v", formula: "sum" }, 0, 1, 2], { name: "姓名", subject: "科目", score: "成績(jī)" })
輸出:
"姓名" | "科目" | "成績(jī)" |
---|---|---|
"張三" | "語(yǔ)文" | 86 |
"李四" | "語(yǔ)文" | 92 |
"王五" | "語(yǔ)文" | 56 |
"張三" | "數(shù)學(xué)" | 100 |
"李四" | "數(shù)學(xué)" | 88 |
"王五" | "數(shù)學(xué)" | 98 |
"張三" | "英語(yǔ)" | 62 |
"李四" | "英語(yǔ)" | 83 |
"" | "" | 665 |
Report.format(data, [{ field: 0, converge: "v", formula: { formula: "sum", label: "總分" } }, { field: 1, converge: "v", formula: { formula: "sum", label: "總成績(jī)" } }, 2])
輸出:
"name" | "subject" | "score" |
---|---|---|
"張三" | "語(yǔ)文" | 86 |
"" | "數(shù)學(xué)" | 100 |
"" | "英語(yǔ)" | 62 |
"" | "總成績(jī)" | 248 |
"李四" | "語(yǔ)文" | 92 |
"" | "數(shù)學(xué)" | 88 |
"" | "英語(yǔ)" | 83 |
"" | "總成績(jī)" | 263 |
"王五" | "語(yǔ)文" | 56 |
"" | "數(shù)學(xué)" | 98 |
"" | "總成績(jī)" | 154 |
"總分" | "" | 665 |
Report.format(data, [{ field: 0, converge: "v", formula: "avg" }, { field: 1, converge: "h", formula: "sum" }, 2])
輸出:
"name" | "語(yǔ)文" | "數(shù)學(xué)" | "英語(yǔ)" | "sum" |
---|---|---|---|---|
"張三" | 86 | 100 | 62 | 248 |
"李四" | 92 | 88 | 83 | 263 |
"王五" | 56 | 98 | 0 | 154 |
"avg" | 78.00 | 95.33 | 48.33 | 221.67 |
Report.format(data, [{ field: 0, converge: "v", formula: "avg" }, { field: 1, converge: "h", formula: { detail: false, formula: "sum" } }, 2])
輸出:
"name" | "sum" |
---|---|
"張三" | 248 |
"李四" | 263 |
"王五" | 154 |
"avg" | 221.67 |
Report.format(data, [{ converge: "v" }, { field: 1, converge: "v", formula: { formula: "sum", field: 2 } }, 2])
輸出:
"subject" | "sum" | "score" |
---|---|---|
"語(yǔ)文" | 234 | 86 |
"" | "" | 92 |
"" | "" | 56 |
"數(shù)學(xué)" | 286 | 100 |
"" | "" | 88 |
"" | "" | 98 |
"英語(yǔ)" | 145 | 62 |
"" | "" | 83 |
Report.format({ fields: ["province", "city", "count", "industry", "type"], data: [ ["湖北", "武漢", 18000, "房地產(chǎn)", "收入"], ["湖北", "武漢", 10000, "房地產(chǎn)", "收入"], ["湖北", "武漢", 2000, "衛(wèi)生", "支出"], ["湖北", "武漢", 1200, "衛(wèi)生", "支出"], ["湖北", "武漢", 8000, "衛(wèi)生", "收入"], ["湖北", "武漢", 12000, "房地產(chǎn)", "支出"], ["湖北", "黃石", 1500, "衛(wèi)生", "支出"], ["湖北", "黃石", 3500, "衛(wèi)生", "收入"], ["湖北", "襄陽(yáng)", 15800, "房地產(chǎn)", "收入"], ["湖北", "襄陽(yáng)", 5800, "衛(wèi)生", "收入"], ["湖北", "襄陽(yáng)", 11800, "房地產(chǎn)", "支出"], ["湖北", "襄陽(yáng)", 1800, "衛(wèi)生", "支出"], ["湖南", "長(zhǎng)沙", 16000, "房地產(chǎn)", "收入"], ["湖南", "長(zhǎng)沙", 6000, "衛(wèi)生", "收入"], ["湖南", "長(zhǎng)沙", 11500, "房地產(chǎn)", "支出"], ["湖南", "長(zhǎng)沙", 1500, "衛(wèi)生", "支出"], ["湖南", "岳陽(yáng)", 13600, "房地產(chǎn)", "收入"], ["湖南", "岳陽(yáng)", 3600, "衛(wèi)生", "收入"], ["湖南", "岳陽(yáng)", 11000, "房地產(chǎn)", "支出"], ["湖南", "岳陽(yáng)", 1000, "衛(wèi)生", "支出"], ["江西", "南昌", 15400, "房地產(chǎn)", "收入"], ["江西", "南昌", 5400, "衛(wèi)生", "收入"], ["江西", "南昌", 11800, "房地產(chǎn)", "支出"], ["江西", "南昌", 1800, "衛(wèi)生", "支出"], ["江西", "九江", 14800, "房地產(chǎn)", "收入"], ["江西", "九江", 4800, "衛(wèi)生", "收入"], ["江西", "九江", 11600, "房地產(chǎn)", "支出"], ["江西", "九江", 1600, "衛(wèi)生", "支出"] ] }, [{ field: 0, formula: [{ formula: "sum", label: "全國(guó)合計(jì)" }], converge: "v" }, { field: 1, formula: [{ formula: "sum", label: "省合計(jì)" }], converge: "v" }, { field: 3, formula: [{ formula: "fmt", label: "總利潤(rùn)", format: function(data) { let fmt = 0; for (let i = 0, len = data.length; i < len; i += 2) { fmt += (data[i] - data[i + 1]); } return fmt; } }], converge: "h" }, { field: 4, formula: [{ formula: "fmt", label: "利潤(rùn)", format: function(data) { return data[0] - data[1]; } }], converge: "h" }, { field: 2 }], { province: "省", city: "市" })
輸出:
省 | 市 | 房地產(chǎn) | "" | "" | 衛(wèi)生 | "" | "" | 總利潤(rùn) |
---|---|---|---|---|---|---|---|---|
"" | "" | 收入 | 支出 | 利潤(rùn) | 收入 | 支出 | 利潤(rùn) | "" |
湖北 | 武漢 | 28000 | 12000 | 16000 | 8000 | 3200 | 4800 | 20800 |
"" | 黃石 | 0 | 0 | 0 | 3500 | 1500 | 2000 | 2000 |
"" | 襄陽(yáng) | 15800 | 11800 | 4000 | 5800 | 1800 | 4000 | 8000 |
"" | 省合計(jì) | 43800 | 23800 | 20000 | 17300 | 6500 | 10800 | 30800 |
湖南 | 岳陽(yáng) | 13600 | 11000 | 2600 | 3600 | 1000 | 2600 | 5200 |
"" | 長(zhǎng)沙 | 16000 | 11500 | 4500 | 6000 | 1500 | 4500 | 9000 |
"" | 省合計(jì) | 29600 | 22500 | 7100 | 9600 | 2500 | 7100 | 14200 |
江西 | 九江 | 14800 | 11600 | 3200 | 4800 | 1600 | 3200 | 6400 |
"" | 南昌 | 15400 | 11800 | 3600 | 5400 | 1800 | 3600 | 7200 |
"" | 省合計(jì) | 30200 | 23400 | 6800 | 10200 | 3400 | 6800 | 13600 |
全國(guó)合計(jì) | "" | 103600 | 69700 | 33900 | 37100 | 12400 | 24700 | 58600 |
具體試驗(yàn),請(qǐng)移步 https://github.com/shixia226/...
歡迎提出更多整改意見(jiàn)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/108023.html
摘要:行轉(zhuǎn)列,列轉(zhuǎn)行行列轉(zhuǎn)換在做報(bào)表分析時(shí)還是經(jīng)常會(huì)遇到的,今天就說(shuō)一下如何實(shí)現(xiàn)行列轉(zhuǎn)換吧。列轉(zhuǎn)行假設(shè)我們有下表語(yǔ)文數(shù)學(xué)英語(yǔ)通過(guò)即可得到如下結(jié)果我們也可以使用下面方法得到同樣結(jié)果語(yǔ)文語(yǔ)文數(shù)學(xué)數(shù)學(xué)英語(yǔ)英語(yǔ) SQL 行轉(zhuǎn)列,列轉(zhuǎn)行 行列轉(zhuǎn)換在做報(bào)表分析時(shí)還是經(jīng)常會(huì)遇到的,今天就說(shuō)一下如何實(shí)現(xiàn)行列轉(zhuǎn)換吧。 行列轉(zhuǎn)換就是如下圖所示兩種展示形式的互相轉(zhuǎn)換 showImg(https://segment...
閱讀 3071·2021-11-23 09:51
閱讀 2913·2021-11-11 16:55
閱讀 3016·2021-10-14 09:43
閱讀 1460·2021-09-23 11:22
閱讀 1100·2019-08-30 11:04
閱讀 1786·2019-08-29 11:10
閱讀 1018·2019-08-27 10:56
閱讀 3207·2019-08-26 12:01