我想创建一个主订单簿,记录我对不同类型资产的购买。假设订单簿包含以下列:
现在,我希望根据资产类型将这些资产分为不同的子表。假设它是资产A,然后是资产名称,每当我在订单簿中输入数据时,数量会自动填充到资产A的子表中。所有资产页面的前两列都有资产名称和数量。我从股票组合视频中找到了一个代码,该代码有助于自动填充股票页面,但它仅限于一个股票资产,但我希望在相应的资产页面中包含上述详细信息,并且没有资产页面重复订单。
股票组合代码示例:
function MyPortfolio(tickers, values) {
var total = []
var sums = {}
for(i=0; i<tickers.length; i++){
var t = tickers[i].toString()
if(t !="Cash"){
if(t in sums){
sums[t] += Number(values[i])
}
else{
sums[t] = Number(values[i])
}
}
}
for(var ticker in sums){
if(sums[ticker]>0){
total.push([ticker,sums[ticker]])
}
}
return total
}
我的第一种方法是将此代码继承到三个单独的函数中,示例如下:
function asset_a_logger(tickers,type, values) {
var total = []
var sums = {}
for(i=0; i<type.length; i++){
var t = type[i].toString()
var x = type[i].toString()
if(t !="Gold"){
if(t!="Crypto"){
var x = tickers[i].toString()
if(x in sums){
sums[x] += Number(values[i])
}
else{
sums[x] = Number(values[i])
}
}
}
for(var ticker in sums){
if(sums[ticker]>0){
total.push([ticker,sums[ticker]])
}
}
return total
}
}
我也尝试了以下代码,但它们不起作用,请解释原因。在一个例子中,我试着在一个列表上做条件反射,但所有的资产页面都有订单。
function asset_a_logger(tickers,type, values) {
var total = []
var sums = {}
for(i=0; i<type.length; i++){
var t = type[i].toString()
if(t !="Asset B"||"Asset C"){
var x = tickers[i].toString()
if(x in sums){
sums[x] += Number(values[i])
}
else{
sums[x] = Number(values[i])
}
}
}
for(var ticker in sums){
if(sums[ticker]>0){
total.push([ticker,sums[ticker]])
}
}
return total
}
function asset_a_logger(tickers,type, values) {
var total = []
var sums = {}
var prop = ["Asset C", "Asset B"]
for(i=0; i<type.length; i++){
var t = type[i].toString()
if(!(t in prop)){
var x = tickers[i].toString()
if(x in sums){
sums[x] += Number(values[i])
}
else{
sums[x] = Number(values[i])
}
}
}
for(var ticker in sums){
if(sums[ticker]>0){
total.push([ticker,sums[ticker]])
}
}
return total
}
我知道有一些循环约束出错了,但我以前没有JavaScript方面的经验。这在Python中太容易了,我希望在google sheets中有一个干净、响应迅速的投资组合经理。
谢谢你的耐心!
QUERY
功能将为您执行此操作。
在相关资产负债表的A1单元中通常是这样的:
=query(OrderBookSheet!A:E,“选择B,D,其中C包含B的‘资产A’订单”,1)
查询
可以通过不同的列更改为订单,例如,按描述、B
和where
子句中的其他项排序,以便根据需要对其进行进一步筛选,如按日期,例如,其中C包含“资产A”和A
上述示例中的日期可以是单元格中的值(例如。单元格N1),将
'2021-05-01'
替换为'"
如果资产A包含相同名称的项目(在列B中),则可以使用如下方式对其进行分组:
=query(OrderBookSheet!A:E,“选择B,求和(D),其中C包含“资产A”组,B标签为求和(D)“数量”,1)
。
查询(子句)的组件需要按特定顺序进行:
https://developers.google.com/chart/interactive/docs/querylanguage#language-条款
我想创建一个包含类别的列表,并将类别悬停在需要显示子类别的类别上。我能够在列表中显示父类别。但我不知道如何获得子类别。在我的表中有category\u id、parent\u id列和一些其他列。如果父类别id为“0”,则它是主类别,对于子类别,它包含类别id。因此,现在我需要显示主类别的子类别。我不明白该如何进行。谁能给我提建议。
我正在使用一个表在Jaspersoft Studio 5.6.1中创建简单的报告。 通过 JRBeanCollectionDataSource 从 Java 向此报告发送数据。 在报告中,我已经可以获取此数据 vie 字段:报告- 现在我可以显示输入的数据了。 但如果我想在表中执行,我需要创建数据集(为什么?)并选择“使用用于填充主报告的相同连接”。将相同的字段添加到新数据集没有帮助,也没有为数据
分页 使用 limit 和 offset 来控制分页数据: limit 指定该请求返回的结果个数 offset 偏移量,指定该请求返回的结果的起始位置 默认 limit 为 20, offset 为 0,我们也可以手动指定 limit 和 offset 来控制。例如,每页展示 100 条数据,需要获取第五页的数据,将 limit 设置为 100、offset 设置为 400 即可。limit 最大
{% tabs first=”SDK 1.1.0 及以上版本”, second=”SDK 1.1.0 以下版本” %} {% content “first” %} SDK 1.1.0 及以上版本 分页 使用 limit 和 offset 来控制分页数据: limit 指定该请求返回的结果个数 offset 偏移量,指定该请求返回的结果的起始位置 默认 limit 为 20, offset 为 0,
我已经创建了表的结构,在第2页中,源数据是一个JSON,包含产品及其属性列表。我想将JSON数据显示到表中,实际上有一个包含表的子报表,但不知道如何将JSON数据传递到子报表,并根据JSON数据中的productList键进行填充。报告从接收用户数据的java类填充。 我不知道如何填写第 2 页的表格,有人可以帮助我吗? 这是我在Jaspersoft Studio 6.10中的代码 主报告 子报表