标签: aggregation

数据聚合

在我的代码中,我创建了List<>以下类:

public class Calculations
{
        public int Year { get; set; }
        public double Payment { get; set; }
        public double AnnualInterest { get; set; }
        public double AnnualPrincipalSplit { get; set; }
        public double NLVBalance { get; set; }
        public double apportionedValue { get; set; }
        public double OpenMarketValue { get; set; }
        public double NotionalLoan { get; set; }
        public double ResidencyFee { get; set; }
        public double BalanceOfShare { get; set; }
        public double TotalShareOwnedOutright …
Run Code Online (Sandbox Code Playgroud)

c# aggregation

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

UML:如何显示具有同一类的 2 个集合的类?

在我的 UML 类图中,我通常通过将属性名称放在关联两个类的箭头上方来进行对象集合(与其他符号相反,后者只是添加带有表示多重性的括号的属性)。但是我有一些情况,其中有多个相同类型的对象集合。例如(一个非常简单的例子): 简单聚合图

假设有一门课程有一些学生申请了它(所以我有一个学生的集合,假设一个属性是 Student 的 ArrayList,称为“applied”)。但是,我还需要保留实际参加过课程的学生的单独集合(比方说,“参加”:另一个属性是 ArrayList,或者甚至是不同的集合类型,如学生的 Vector)。

我应该在关系线上添加所有属性名称吗?

我正在寻找以标准 UML 方式执行此操作的方法。之所以澄清这一点,是因为我知道 UML 规则在我们需要时可以很灵活。

collections uml class aggregation

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

如何在聚合过滤后重新排序/Spring Integration/

我正在做一个 Spring Integration 项目,我遇到了一个大问题。流程中有一些过滤组件,稍后在流程中我有一个聚合元素。

问题是过滤组件不支持“apply-sequence”属性。它过滤掉一些记录,但不修改原始序列号,但减少了消息数量。在流程的稍后部分,我需要一个无法释放元素的聚合,因为某些消息被过滤掉了。

我不想使用任何具有 apply-sequence 属性的特殊路由元素。您能为我建议此类过滤问题的通用解决方案吗?

谢谢,

integration filtering spring-integration aggregation

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

如何在python中每周滚动聚合数据?

我有一个数据集,其结构是:Date Profit

数据集的一个示例是:

   Date     Profit
2013-06-21   14
2013-06-22   19
2013-06-23   11
2013-06-24   13
2013-06-25   6
2013-06-26   22
2013-06-27   22
2013-06-28   3
2013-06-29   5
2013-06-30   10
2013-07-01   17
2013-07-02   14
2013-07-03   9
2013-07-04   7
Run Code Online (Sandbox Code Playgroud)

Sample input 是 :

data = [('2013-06-21',14),
    ('2013-06-22',19),
    ('2013-06-23',11),
    ('2013-06-24',13),
    ('2013-06-25',6),
    ('2013-06-26',22),
    ('2013-06-27',22),
    ('2013-06-28',3),
    ('2013-06-29',5),
    ('2013-06-30',10),
    ('2013-07-01',17),
    ('2013-07-02',14),
    ('2013-07-03',9),
    ('2013-07-04',7)]
Run Code Online (Sandbox Code Playgroud)

现在我想做一个rolling aggregation并存储聚合。通过滚动聚合,我的意思是说对于第 1 周(2013-06-21 到 2013-06-27),我想添加前一个日期的利润并将其与当前日期一起存储。因此,对于2013-06-21总和将是14唯一的,因为它是一周的第一天,但然后2013-06-22它应该是的总和previous date (2013-06-21)current date (2013-06-22)这应该与当前的日期一起存储。这将持续到本周末,然后下周它将再次重新开始,新周没有以前的日期。所以第一周sample output应该是这样的:

 Date …
Run Code Online (Sandbox Code Playgroud)

python aggregation python-itertools pandas

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

Elasticsearch订单条款按得分汇总

我是ElasticSearch的新手。以前,我仅以非常有限的方式仅将其用于Django-Haystack,并且从未直接与ES交流过。

目前,我有一个带有几个文档的ElasticSearch(如果重要的话,为5.x)索引。我使用的是Python + Elasticsearch-dsl + django-elasticsearch-dsl,因此我正在为数据库模型建立索引,但这并不重要。我将尽力使这个问题与图书馆无关。

从概念上讲,我将用户及其帖子存储在同一索引中。用户文档和帖子文档有一个共同点-一个字段user_id

用户看起来像这样:

{
    "_id": 1,
    "_type": "user_document",
    "username": "jdoe",
    "user_id": 1,
    "title": "Test user"
}
Run Code Online (Sandbox Code Playgroud)

帖子是这样的:

{
    "_id": 1,
    "_doc": "post_document",
    "user_id": 1,
    "title": "Hello world!",
    "text": "Lorem ipsum test test test..."
}
Run Code Online (Sandbox Code Playgroud)

我要我的应用程序实现的是一个单输入搜索字段,该字段可以对用户及其帖子进行全文搜索(在现实世界中,有更多的文档“类型”-我在这里只是为了举例而简化) 。我想汇总user_id显示仅匹配的不同用户的列表。

目前,我正在这样查询:

{
    "query": {
        "multi_match": {
            "query": "test",
            "fields": ["username^3", "title^2", "text"]
        }
    },
    "aggs": {
        "user_ids": {"terms": {"field": "user_id"}}
    }
}
Run Code Online (Sandbox Code Playgroud)

然后使用响应aggregations.user_ids.buckets.key获取匹配用户的列表。

但是,该列表似乎只是按文档数量排序(因此,如果用户有一对带有“ test”一词的帖子,它们似乎会赢得名为“ test”的用户的称呼),我想尝试排序。我当前的想法是使用平均(或中间值)文档匹配_score

注意:在实际情况下,不仅有两种文档类型,因此采用快捷方式并仅查询特定的文档是_type行不通的。

我怎样才能做到这一点?我正在阅读 …

sorting search aggregation relevance elasticsearch

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

查找所有表列的最小值和最大值

该查询按预期工作,但速度非常慢。这里有人有提高性能的建议吗?

我本质上只是创建一个临时表来存储所有表和列名称,并通过 WHILE 语句循环它们,以使用我想要的详细信息创建到另一个表的动态插入。

我最近的一次运行花费了大约 21 分钟,这并不完全糟糕(考虑到任务),但我很想获得一些关于如何/在哪里可以对其进行微调的意见。

USE <DATABASE>;

      IF NOT EXISTS(SELECT *
FROM sys.schemas WHERE name='temp')
BEGIN
EXEC ('CREATE SCHEMA temp');
END;

IF OBJECT_ID('temp.columns') IS NOT NULL
   BEGIN
      DROP TABLE temp.columns
   END;

SELECT [table_name]
    , [column_name]
    , [data_type]
    , [is_nullable]
    , [numeric_scale]
    , [ordinal_position]
INTO [temp].[columns]
FROM information_schema.columns c
WHERE table_schema = 'dbo'
      -- AND table_name = 'CONTACTS'
      ;

IF OBJECT_ID('_TableColumnsUsed') IS NOT NULL
   BEGIN
      DROP TABLE _TableColumnsUsed
   END;

      CREATE TABLE _TableColumnsUsed (Table_Name VARCHAR(255) NULL, Column_Position INT, Column_Name VARCHAR(255) …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server dynamic information-schema aggregation

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

如何在mongo聚合中将数字转换为月份

我正在尝试此mongo聚合,但得到了输出,但我的要求是获取月份名称。我正在尝试不同的聚合类型,但仍未获得需求输出,任何人都可以帮助我。

    db.collection.aggregate([ 
            { $match: {
                CREATE_DATE: {
                    $lte:new Date(),
                    $gte: new Date(new Date().setDate(new 
                        Date().getDate()-120)
                    )
                }
            } },
            { $group: {
                _id:{ 
                    month: { $month: "$CREATE_DATE" },
                    year: { $year: "$CREATE_DATE" }
                },
                avgofozone:{$avg:"$OZONE"}
            } },
            { $sort:{ "year": -1 } },
            { $project: {
                year: '$_id.year',
                avgofozone: '$avgofozone',
                month: '$_id.month',_id:0
            } }
       ])
Run Code Online (Sandbox Code Playgroud)

截至目前的输出:

/* 1 */
    {
       "year" : 2018,
       "avgofozone" : 16.92,
       "month" : 4
    }

/* 2 */
    {
       "year" : 2017,
       "avgofozone" : 602.013171402383,
       "month" …
Run Code Online (Sandbox Code Playgroud)

aggregation mongoose mongodb mongodb-query

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

聚合执行统计数据 (Mongo)

我可以在文档中看到可用于某些 mongo 查询的文档,这确实很有帮助,但除了没有提供太多信息的标志explain("executionStats")之外,我看不到聚合查询的此类实用程序。explain是否有计划将完整概述也集成到聚合查询中?

aggregation mongodb mongodb-query aggregation-framework

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

有没有更清晰的方法来处理不在聚合函数或GROUP BY子句中的字段?

我经常遇到这样的查询:

SELECT
    a.Id,
    a.A,
    a.B,
    a.C,
    SUM(b.Foo) AS foo
FROM
    TableA AS a
    JOIN TableB AS b
        ON a.Id = b.TableAId
GROUP BY a.Id;
Run Code Online (Sandbox Code Playgroud)

在SQL Server(如果ONLY_FULL_GROUP_BY为true,则为MySQL )中,此查询也不好。一切都必须是a)聚合函数中的,或b)中的GROUP BY

我的问题是,这两种解决方案看起来都很糟糕并且具有误导性。如果您选择了一个随机的聚合函数,MAX()您将得到:

SELECT
    a.Id,
    MAX(a.A) AS A,
    MAX(a.B) AS B,
    MAX(a.C) AS C,
    SUM(b.Foo) AS foo
FROM
    TableA AS a
    JOIN TableB AS b
        ON a.Id = b.TableAId
GROUP BY a.Id;
Run Code Online (Sandbox Code Playgroud)

该查询看起来像我们关心a.Aa.B和的最大值a.C,并且混淆了最大值没有意义的事实。

GROUP BY 好一点:

SELECT
    a.Id,
    a.A,
    a.B,
    a.C,
    SUM(b.Foo) …
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server aggregation

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

在 JavaScript 中聚合一组对象

我有一组具有布尔字段 X 的对象。 [{..., x: true, y: 3, ...]

我需要聚合这个数组,以便获得一个值,true(或false),如果 的所有x都对应true(或false),否则undefined......以及......的总和y......

是否可以为此目的使用reduceArray 函数、groupby by underscorejs 或其他函数?

前任:

[
 {a:'titi', x: true,  y: 3}, 
 {a:'toto', x: false, y: 6}
]
Run Code Online (Sandbox Code Playgroud)

结果

       {x: undefined, y: 9}
Run Code Online (Sandbox Code Playgroud)

javascript arrays aggregation

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