更新的问题
在我的查询中,我先聚合日期,然后聚合传感器名称。是否可以根据父存储桶的嵌套聚合和文档总数(或任何其他聚合)计算比率?查询示例:
{
"size": 0,
"aggs": {
"over_time": {
"aggs": {
"by_date": {
"date_histogram": {
"field": "date",
"interval": "1d",
"min_doc_count": 0
},
"aggs": {
"measure_count": {
"cardinality": {
"field": "date"
}
},
"all_count": {
"value_count": {
"field": "name"
}
},
"by_name": {
"terms": {
"field": "name",
"size": 0
},
"aggs": {
"count_by_name": {
"value_count": {
"field": "name"
}
},
"my ratio": count_by_name / all_count * 100 <-- How to do that?
}
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想要一个自定义指标,它可以给出count_by_name …
我们有以下代码:
<div th:each="client : ${clients}">
<div th:each="purchase : ${client.purchases}">
<div th:each="product : ${purchase.products}">
<span th:text="${product.price}"></span>
<!-- <span id="2" th:text="${#aggregates.sum(products.{price})}"> </span> -->
<!-- <span id="2" th:text="${#aggregates.sum(products.![price])}"> </span> -->
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
输出是:
5.25
4.20
Run Code Online (Sandbox Code Playgroud)
如果我取消注释第一条评论,则会收到错误
Exception evaluating SpringEL expression: "#aggregates.sum(products.{price})" (clients/clients:84)
Run Code Online (Sandbox Code Playgroud)
如果我仅取消第二条评论的注释,则会收到错误:
Exception evaluating SpringEL expression: "#aggregates.sum(products.![price])" (clients/clients:85)
Run Code Online (Sandbox Code Playgroud)
我尝试使用http://demo-dspace-cris.cineca.it/bitstream/123456789/26/1/usingthymeleaf.pdf
我在用thymeleaf 2.1.4
有用 !
我应该使用:
<span id="2" th:text="${#aggregates.sum(purchase.products.![price])}"> </span>
Run Code Online (Sandbox Code Playgroud) 我有一份在不同州做生意的商人名单。
Merch State
A NC
A FL
B CA
B VA
Run Code Online (Sandbox Code Playgroud)
我不想返回四个记录,而是想按商品分组,但连接状态的字符串,以便输出看起来像
Merch States
A NC,FL
B CA,VA
Run Code Online (Sandbox Code Playgroud)
我在翻译这个答案中针对我的问题的响应时遇到了很多麻烦 连接/聚合字符串的最佳方式
我也无法让 String_agg 工作,我不确定它在 Teradata 中是否工作。https://learn.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql
我有用户模式,其中人员字段包含viewers属性,该属性包含一个 ObjectId 数组作为用户集合本身的引用,例如
{
"username": "user1",
"password": "password",
"email": "user1@gmail.com",
"people": [{
"id": 1,
"viewers": ["ObjectId....", "ObjectId...."]
},
{
"id": 2,
"viewers": ["ObjectId....", "ObjectId...."]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是$lookup对于查看器内的每个元素,问题是当我使用下面的管道时,为每个文档推送相同的查看器
{
$unwind: {
path: "$people.viewers",
preserveNullAndEmptyArrays: true
}
},
{
$lookup: {
from: "users",
localField: "people.viewers",
foreignField: "_id",
as: "people"
}
},
{
$unwind: {
path: "$viewers",
preserveNullAndEmptyArrays: true
}
},
{
$project: {
username: 1,
"viewers.username": 1
}
},
{
$group: {
_id: "$_id",
username: { $first: …Run Code Online (Sandbox Code Playgroud) 我有一个排序和嵌套的列表。列表中的每个元素有3个子元素;'药物名称',Doctor_id,金额。对于给定的药物名称(重复),医生 ID 不同,数量也不同。请参阅下面的示例列表..
我需要一个输出,其中对于每个药物名称,我需要计算该药物的唯一医生 ID 总数和美元金额总和。例如,对于下面的列表片段..
[
['CIPROFLOXACIN HCL', 1801093968, 61.49],
['CIPROFLOXACIN HCL', 1588763981, 445.23],
['HYDROCODONE-ACETAMINOPHEN', 1801093968, 251.52],
['HYDROCODONE-ACETAMINOPHEN', 1588763981, 263.16],
['HYDROXYZINE HCL', 1952310666, 945.5],
['IBUPROFEN', 1801093968, 67.06],
['INVEGA SUSTENNA', 1952310666, 75345.68]
]
Run Code Online (Sandbox Code Playgroud)
所需的输出如下。
[
['CIPROFLOXACIN HCL', 2, 516.72],
['HYDROCODONE-ACETAMINOPHEN', 2, 514.68]
['HYDROXYZINE HCL', 1, 945.5]
['IBUPROFEN', 1, 67.06]
['INVEGA SUSTENNA', 1, 75345.68]
]
Run Code Online (Sandbox Code Playgroud)
在数据库世界中,这是最简单的事情,只需对药物名称进行简单的 GROUP BY 即可。在Python中,我不允许使用PANDAS、NumPy等。只是Python的基本构建块。我尝试了下面的代码,但无法重置计数变量来计算医生 ID 和金额。这段带注释的代码是多次尝试之一。不确定我是否需要使用嵌套的 for 循环或 for 循环-while 循环组合。
感谢所有帮助!
aggr_list = []
temp_drug_name = ''
doc_count = 0
amount = 0
for list_element …Run Code Online (Sandbox Code Playgroud) 我知道在elasticsearch中没有加入索引的选项,但我需要找到一种方法来解决这个问题:
我有 2 个索引,如 A、B
IndexA有field1、field2、field3等信息
IndexB有field4、field5、field6
如果我将通过查询字段5(在本例中为“测试”)进行搜索,我希望在树中拥有所有关系,例如:
匹配 IndexA 中与 IndexA 中的“field2”和 IndexB 中的“field5”相匹配的所有文档
例如
IndexA 文档:
5、“test”、“test2”、
10、“test”、“test7”
11、“test10” ,“测试11”
IndexB 文档:
1、“test”、(...)
2、“test”、(...)
3、“test100”、(...)
示例响应:
对于 id5(来自索引 A),我想要一个来自索引 B 的 id 为 1 和 2 的对象,例如 {id:5,响应:{1, 2}}
对于 id10(来自索引 A)我想要一个对象id 的 1 和 2 来自索引 B,例如 id11 的 {id:10,响应:{1, 2}}
没有匹配项(“test10”!=“test”)
{id:11,响应:{}}
也许有什么办法可以解决这个问题吗?最后,我需要对四个索引执行此操作(但如果可以在两个索引之间执行此操作,那么我也可以对 4 个索引执行此操作)。
这里我有这个类图:
以下是我不明白的事情:
Order-OrderDetail聚合?它不应该只是一个关联吗,因为它会有一个List<OrderDetail>类似的:public Order{
public DateTime date;
public Status status;
public List<OrderDetail> orderDetails;
}
Run Code Online (Sandbox Code Playgroud)
OrderDetail-Item依赖?既然它引用了该类,那么它不应该是关联吗Item?我正在尝试将数据框中的一些行与列聚合list[str]。对于每个索引,我需要组中所有列表的交集。不确定我是否想太多,但我现在无法提供解决方案。有什么帮助吗?
import polars as pl \ninput_df = pl.DataFrame(\n {"idx": [1,1,2,2,3,3], \n "values": [["A", "B"], ["B", "C"], ["A", "B"], ["B", "C"], ["A", "B"], ["B", "C"]]\n }\n)\n\noutput_df = input_df.agg(...)\n\n>>> input_df\nshape: (6, 2)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 idx \xe2\x94\x86 values \xe2\x94\x82\n\xe2\x94\x82 --- \xe2\x94\x86 --- \xe2\x94\x82\n\xe2\x94\x82 i64 \xe2\x94\x86 list[str] \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xaa\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 1 \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 1 \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x82 3 \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 3 \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xb4\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\n>>> output_df # Expected output\nshape: (3, …Run Code Online (Sandbox Code Playgroud) 我知道C++支持私有继承,C#只支持公共继承.我还看到一篇文章说私有继承通常定义HAS-A关系和类之间的聚合关系.
编辑:私有继承的C++代码:"Car has-a Engine"关系也可以使用私有继承表达:
class Engine {
public:
Engine(int numCylinders);
void start(); // Starts this Engine
};
class Car : private Engine { // Car has-a Engine
public:
Car() : Engine(8) { } // Initializes this Car with 8 cylinders
using Engine::start; // Start this Car by starting its Engine
};
Run Code Online (Sandbox Code Playgroud)
现在,有没有办法在C#类之间创建一个HAS-A关系,这是我想知道的事情之一 - 怎么样?
另一个奇怪的问题是为什么C#不支持私有(也受保护)继承? - 不支持多个实现继承是正当理由还是其他任何原因?
是否为未来版本的C#计划了私有(和受保护)继承?
是否支持C#中的私有(和受保护)继承使其成为一种更好和广泛使用的语言?
我有一个RDD包含一个名为time long类型的时间戳:
root
|-- id: string (nullable = true)
|-- value1: string (nullable = true)
|-- value2: string (nullable = true)
|-- time: long (nullable = true)
|-- type: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)
我试图将value1,value2和time分组为YYYY-MM-DD.我试图按强制分组(时间为日期),但后来我收到以下错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:40)
at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala)
Caused by: java.lang.RuntimeException: [1.21] failure: ``DECIMAL'' expected but identifier Date found
Run Code Online (Sandbox Code Playgroud)
这是否意味着没有办法按日期分组?我甚至试图添加另一个级别的转换以将其作为String:
cast(cast(time as Date) as String)
Run Code Online (Sandbox Code Playgroud)
哪个返回相同的错误.
我已经读过,我可能在RDD上使用了可能的aggregateByKey,但我不明白如何将它用于几列并将其转换为YYYY-MM-DD字符串.我该怎么办?
aggregation ×10
python ×2
sql ×2
apache-spark ×1
associations ×1
bucket ×1
c# ×1
c++ ×1
dataframe ×1
group-by ×1
inheritance ×1
list ×1
loops ×1
mongodb ×1
mongoose ×1
spring-el ×1
string ×1
teradata ×1
thymeleaf ×1
uml ×1