标签: calculation

计算Google Firestore文档的大小

Firestore文档详细介绍了如何手动计算文档的存储大小,但似乎没有为任何文档引用,快照或元数据提供此功能.

在我尝试使用自己的计算之前,有没有人知道这个官方或非官方的功能?

以下是我在(https://firebase.google.com/docs/firestore/storage-size上对文档的解释)对此类函数进行的首次剪切(完全未经测试)

function calcFirestoreDocSize(collectionName, docId, docObject) {
    let docNameSize = encodedLength(collectionName) + 1 + 16
    let docIdType = typeof(docId)
    if(docIdType === 'string') {
        docNameSize += encodedLength(docId) + 1
    } else {
        docNameSize += 8
    }  
    let docSize = docNameSize + calcObjSize(docObject)

    return  docSize
}
function encodedLength(str) {
    var len = str.length;
    for (let i = str.length - 1; i >= 0; i--) {
        var code = str.charCodeAt(i);
        if (code > 0x7f && code <= 0x7ff) {
            len++; …
Run Code Online (Sandbox Code Playgroud)

size document calculation google-cloud-firestore

11
推荐指数
1
解决办法
966
查看次数

PromQL“by”和“without”的区别不清楚

我有一个关于使用 Prometheus 摘要指标计算响应时间的问题。

我创建了一个汇总指标,其中不仅包含服务名称,还包含完整路径和 http 方法。

现在我尝试计算完整服务的平均响应时间。我阅读了关于“比率然后总和”的文章,要么我不明白计算是如何完成的,要么计算是恕我直言不正确。

据我所知,这应该是计算每秒响应时间的正确方法:

sum by(service_id) (
    rate(request_duration_sum{status_code=~"2.*"}[5m])
    /
    rate(request_duration_count{status_code=~"2.*"}[5m])
)
Run Code Online (Sandbox Code Playgroud)

我在这里理解的是为每个子集创建“每秒持续时间”(速率总和/速率计数)值,然后创建每个 service_id 的总和。

这对我来说看起来完全错误 - 但我认为它不像我理解的那样工作。

获得相同外观结果的另一种方法是:

sum without (path,host) (
    rate(request_duration_sum{status_code=~"2.*"}[5m])
    /
    rate(request_duration_count{status_code=~"2.*"}[5m])
)
Run Code Online (Sandbox Code Playgroud)
  • 但有什么区别呢?
  • 这里到底发生了什么?
  • 如果我使用“max”而不是“sum”,为什么老实说我只能得到可测量的值?

如果我忽略我阅读的所有内容,我会按以下方式尝试:

rate(sum by(service_id) request_duration_sum{status_code=~"2.*"}[5m])
/
rate(sum by(service_id) request_duration_count{status_code=~"2.*"}[5m])
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用......(即时向量与范围向量等等......)。

prometheus calculation promql

8
推荐指数
2
解决办法
1万
查看次数

从今天起减去1个月的R给出了NA

我有一个脚本,其中我根据一些设定的时间段对我的数据进行子集化,并希望对上个月发生的所有记录进行子集化.

但是,如果我尝试从今天的日期减去一个月,则会产生一个NA:

> today <- Sys.Date()
> today
[1] "2017-03-29"
> today - months(1)
[1] NA
Run Code Online (Sandbox Code Playgroud)

我确实已经加载了润滑剂,但我认为这个计算是用基数R执行的.如果我减去2个月或更多个月它可以正常工作:

> today - months(2)
[1] "2017-01-29"
> today - months(3)
[1] "2016-12-29"
Run Code Online (Sandbox Code Playgroud)

有没有人对可能发生的事情有任何想法?

更新:我认为这与简单的日期减法有关,不处理闰年案例(2017年不是闰年所以"2017-02-29"不存在).

是否有其他包装/功能考虑到闰年?对于上面的例子,我希望答案恢复到上个月的最后一天,即:

today - months(1)
# Should yield:
"2017-02-28"
Run Code Online (Sandbox Code Playgroud)

这个计算是否有意义为今天和昨天提供相同的结果(或者ISO的惯例是什么)?

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics …
Run Code Online (Sandbox Code Playgroud)

r date subtraction lubridate calculation

7
推荐指数
2
解决办法
5235
查看次数

使用O(n)从数组获得最大的时间顺​​序下降,最小值和最大值

我编写了一个javascript函数来分析数组中最大的下降.但仍有一个小问题.作为最大值,我总是从我的数组中得到最大值,而不是从我的数据中得到最大值.

示例:数组:[100,90,80,120]

最大的下降将介于100和80之间.因此,max必须为100,并且最小值为80.我的函数始终返回整个数组中的最高值.在我的情况下120

function checkData(data) {
  let max = 0
  let min = 0
  let drop = 0

  for (let i = 0; i < data.length; i++) {
      if (max < data[i]) {
          max = data[i] //?
      } else {
          let tempDrop = max - data[i]
          drop = Math.max(tempDrop, drop)
          min = max - drop
      }
  }
  return [max, min, drop]
}
Run Code Online (Sandbox Code Playgroud)

我想从左到右得到按时间顺序排列的最正确的三角洲 演示图像

javascript arrays algorithm calculation

7
推荐指数
1
解决办法
444
查看次数

css元素高度减去高度变化的元素的高度

是的,伙计们!

是否可以使用 css3 进行动态高度计算?我找不到任何东西.. 但也许我只是在搜索时使用了错误的术语。

问题:我有一个网站,我想在其中包含一个高度为 100% 减去导航元素高度的 iframe。不幸的是,导航元素并不总是相同的高度(一个设备上的 44px 另一个设备上的 36px ......等等)

有没有办法计算?还是我需要修复导航元素的高度才能使其正常工作?

css height calc calculation

6
推荐指数
1
解决办法
1万
查看次数

Mongodb计算查询 - 累积乘法

我最近开始在Mongodb工作POC.我下面有一个json系列

db.ccpsample.insertMany([
  {
    "ccp_id":1,
    "period":601,
    "sales":100.00
  },
  {
    "ccp_id":1,
    "period":602,
    "growth":2.0,
    "sales":"NULL"    ##sales=100.00*(1+(2.0/100)) -- 100.00 comes from(ccp_id:1 and period=601) 
  },
  {
    "ccp_id":1,
    "period":603,
    "growth":3.0,
    "sales":"NULL"   ##sales=100.00*(1+(2.0/100))**(1+(3.0/100))-- 100.00 comes from(ccp_id:1 and period=601) 2.0 comes from (ccp_id:2 and period=602)  
  },
  {
    "ccp_id":2,
    "period":601,
    "sales":200.00
  },
  {
    "ccp_id":2,
    "period":602,
    "growth":2.0,
    "sales":"NULL"   ##sales=200.00*(1+(2.0/100))
  },
  {
    "ccp_id":2,
    "period":603,
    "growth":3.0,
    "sales":"NULL"   ##same like above
  }
])
Run Code Online (Sandbox Code Playgroud)

并且我需要通过使用具有匹配条件ccp_id的上述文档来计算具有NULL的销售字段,并且期间字段应该等于601.我已经添加了一行来演示上面集合中的销售字段的计算.我试过$ graphlookup但没有运气.你们可以帮助或建议某种方式吗?

mongodb calculation

6
推荐指数
1
解决办法
318
查看次数

操作DataFrame中的数据:如何计算一列的平方

我想计算 A 列的平方,1,2,3,4用其他计算处理它,将其存储在 C 列中

using CSV, DataFrames
df = DataFrame(A = 1:4, B = ["M", "F", "F", "M"])
df.C = ((((df.A./2).^2).*3.14)./1000)
Run Code Online (Sandbox Code Playgroud)

有没有更简单的写法?

dataframe julia calculation

6
推荐指数
1
解决办法
68
查看次数

如何将应用程序计算设置回用户在Excel VBA中定义的?

我有一个相当大的工作簿,有些用户喜欢自动计算,而其他人则喜欢将其关闭.

与工作表交互的一些宏被附加到工作簿.为了加快我的VBA代码,我设置了

Application.Calculation = xlManual
Run Code Online (Sandbox Code Playgroud)

在每个工作簿的开头.

我的问题是,如何将其恢复到宏观结束时的状态?

现在我正在使用

Application.Calculation = xlAutomatic
Run Code Online (Sandbox Code Playgroud)

但这会覆盖用户的选择.每次宏运行时都必须将其更改回手动,这非常烦人.(或者相反,如果将其保留在手册中.)

excel vba excel-vba calculation

5
推荐指数
1
解决办法
1405
查看次数

Google 表格根据另一个单元格的值更改背景颜色

在 Google Sheets 中,是否有一种方法不仅可以更改单元格的值,还可以根据另一个单元格的几个可能值之一更改单元格的背景颜色?

换句话说,

如果 A1 > 2,则 B1 的背景色应为蓝色

我想更改非 0:00 的单元格 E 的背景颜色。这里: https: //docs.google.com/spreadsheets/d/1NSBx87sWScwe2Vtp9FOcH3BupvPJ_jzISUeAk6gSBOM/edit ?usp=sharing

编写这种匹配的语法是什么?

提前致谢!

time google-sheets calculation

5
推荐指数
1
解决办法
1万
查看次数

将分数应用于不同时间段

这些是我的标准

Monday to Friday:  
06:00 to 07:30 (2 points per hour)  
14:00 to 17:00 (1 point per hour)  
17:00 to 19:00 (2 points per hour)  
19:00 to 01:00 (3 points per hour)

Saturday  
06:00 to 17:00  (2 points per hour)  
17:00 to 01:00 (3 points per hour)  

Sunday  
06:00 to 17:00 (2 points per hour)  
17:00 to 01:00 (4 points per hour)
Run Code Online (Sandbox Code Playgroud)
Monday to Friday:  
06:00 to 07:30 (2 points per hour)  
14:00 to 17:00 (1 point per …
Run Code Online (Sandbox Code Playgroud)

excel time vba calculation

5
推荐指数
1
解决办法
89
查看次数