标签: distinct-values

试图总结不同的值SQL

我在为SSRS中的单元格提供值时遇到问题,该值应该是不同值的总和.我有一个类似于以下屏幕截图的SSRS报告:

在此输入图像描述

我无法获得红色值(11.25美元).我基本上需要根据不同的跟踪#来总结船舶成本.所以有两个不同的跟踪#,一个是5.25美元的船舶成本,另一个是6.00美元,所以红色显示的总数应该是11.25美元.但我无法在SSRS中实现这一点,也无法在SQL查询中找到它.

我在想一个子查询(我知道下面的代码不是有效的SQL):

(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost]
Run Code Online (Sandbox Code Playgroud)

但我不知道如何写它.

sql reporting-services distinct-values

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

Python绘制错误条,在该点之上和之下具有不同的值

警告:我很擅长使用p​​ython.

我正在尝试使用错误条来绘制数据,但我的数据对于条形图上方和下方的错误具有不同的值,即2 + .75,2-.32.

import numpy as np
import matplotlib.pyplot as plt

# example data
x = (1,2,3,4)
y = (1,2,3,4)

# example variable error bar values
yerr = 0.2

plt.figure()
plt.errorbar(x, y, yerr,"r^")
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是我希望点上方的误差条是特定的值,如.17,并且点之下是特定点,如.3有谁知道怎么做?

谢谢!

python graphing plot distinct-values python-3.x

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

如何使用不同的元素创建HashSet <List <Int >>?

我有一个包含多个整数列表的HashSet - 即 HashSet<List<int>>

为了保持唯一性,我目前不得不做两件事:1.手动循环现有列表,查找重复项SequenceEquals.2.对各个列表进行排序,使其SequenceEquals当前正常工作.

有一个更好的方法吗?是否存在可以提供给HashSet的现有IEqualityComparer,以便HashSet.Add()可以自动处理唯一性?

var hashSet = new HashSet<List<int>>();

for(/* some condition */)
{
    List<int> list = new List<int>();

    ...

    /* for eliminating duplicate lists */

    list.Sort();

    foreach(var set in hashSet)
    {
        if (list.SequenceEqual(set))
        {
            validPartition = false;
            break;
        }
    }

    if (validPartition)
           newHashSet.Add(list);
}
Run Code Online (Sandbox Code Playgroud)

谢谢 !

c# collections hashset distinct-values

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

如何在线性时间内计算列表中的不同值?

我可以考虑对它们进行排序,然后逐个遍历每个元素,但这是nlogn.是否有线性方法来计算列表中的不同元素?

algorithm complexity-theory list count distinct-values

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

SQL条件案例

我有一个表格列出项目和这些项目的状态.问题是某些项目有多个不同的状态条目.例如.

HOST          Status
1.1.1.1       PASS
1.1.1.1       FAIL
1.2.2.2       FAIL
1.2.3.3       PASS
1.4.2.1       FAIL
1.4.2.1       FAIL
1.1.4.4       NULL
Run Code Online (Sandbox Code Playgroud)

我需要为每个资产返回一个状态.

HOST          Status
1.1.1.1       PASS
1.2.2.2       FAIL
1.2.3.3       PASS
1.4.2.1       FAIL
1.1.4.4         No Results
Run Code Online (Sandbox Code Playgroud)

我一直试图用T-SQL Case语句做到这一点,但不能完全正确.条件是任何Pass +任何东西都是Pass,Fail + No Results是失败,Null是No Results.

sql t-sql sql-server case distinct-values

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

如何在Java 8中使用concat获取不同的对象列表

我有2个Java类.

class A {
 String name;
 List<B> numbers;
}

class B {
 Integer number;
}
Run Code Online (Sandbox Code Playgroud)

我希望得到A类的独特之处并将其中的B列表连接起来.

例如,假设我有一个包含以下对象的List.

List<A>{
 name = "abc"
 List<B>{1,2}

 name= "xyz"
 List<B>{3,4}

 name = "abc"
 List<B>{3,5}
}
Run Code Online (Sandbox Code Playgroud)

结果应该是:

List<A>{
 name = "abc"
 List<B>{1,2,3,5}

 name="xyz"
 List<B>{3,4}
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

注意:我想使用Java 8流实现此功能.

谢谢

java concat distinct-values java-8 java-stream

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

如何有效地计算熊猫时间序列中的滚动唯一计数?

我有一系列时间访问建筑物的人.每个人都有一个唯一的身份证.对于时间序列中的每条记录,我想知道过去365天内访问建筑物的唯一人数(即滚动的唯一人数,窗口为365天).

pandas似乎没有用于此计算的内置方法.当存在大量唯一访问者和/或大窗口时,计算变得计算密集.(实际数据大于此示例.)

有没有比我在下面做的更好的计算方法?我不确定为什么我制作的快速方法windowed_nunique(在"速度测试3"下)偏离1.

谢谢你的帮助!

相关链接:

初始化

In [1]:

# Import libraries.
import pandas as pd
import numba
import numpy as np
Run Code Online (Sandbox Code Playgroud)

In [2]:

# Create data of people visiting a building.

np.random.seed(seed=0)
dates = pd.date_range(start='2010-01-01', end='2015-01-01', freq='D')
window = 365 # days
num_pids = 100
probs = np.linspace(start=0.001, stop=0.1, num=num_pids)

df = pd\
    .DataFrame(
        data=[(date, pid)
              for (pid, prob) in zip(range(num_pids), probs)
              for date in np.compress(np.random.binomial(n=1, p=prob, size=len(dates)), …
Run Code Online (Sandbox Code Playgroud)

python time-series distinct-values pandas rolling-computation

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

FormControl.detectchanges-为什么要使用distinctUntilChanged?

阅读如何使用RxJ的distinctUntilChanged?,似乎distinctUntilChanged改变了输出流只提供不同的连续值

我的意思是,如果相同的值立即连续到达,则您实际上是在过滤流,并且只会出现一次重复值。

所以,如果我这样写:

this.myFormControl.valueChanges
  .debounceTime(1000)
  .distinctUntilChanged()
  .subscribe(newValue => {
    console.log('debounced: ', newValue);
  });
Run Code Online (Sandbox Code Playgroud)

我看不到输出与此不同:

this.myFormControl.valueChanges
  .debounceTime(1000)
  .subscribe(newValue => {
    console.log('debounced: ', newValue);
  });
Run Code Online (Sandbox Code Playgroud)

我已经看过一些地方,distinctUntilChanged在订阅valueChanges表单输入时建议使用—但并不清楚为什么。

这是一种输入,因此如果用户在输入,它总是在变化,对吗?这些值将始终是不同的,因此您无缘无故地添加了一个额外的操作来过滤输入。

还是我在这里想念什么?

编辑

使用distinctUntilChanged按我的第一个代码示例中,我创建带有值的形式输入Mr Trump,并确保它被保存在模型中。

然后,我在控件内部单击并粘贴Mr Trump。由于值是相同的,所以我希望不会看到任何记录的内容-控件具有与以前相同的值,因此,当然distinctUntilChanged应该忽略它吗?

编辑2

在进一步检查我的测试后,此行为似乎是因为我使用了以下数组AbstractControls

this.itemsControl = <FormArray>this.form.controls['items']; 
...
this.itemsControl.controls[index].valueChanges...
Run Code Online (Sandbox Code Playgroud)

因此,尽管有点奇怪,当输入的值相同时它仍然会触发,但是我猜测我需要连接到valueChanges该数组项(表单组)内的实际输入,而不是数组项本身。

编辑3

因此,将EDIT 2中的代码更改为以下代码后,不会触发valueChanges(已按预期)将已经存在的相同值粘贴到输入控件中。在EDIT 2中valueChanges,钩子连接到整个formGroup,而不是单个输入控件(在本例中称为content):

let fg = this.itemsControl.controls[index]; // …
Run Code Online (Sandbox Code Playgroud)

reactive-programming distinct-values rxjs angular

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

distinctUntilChanged 设置初始值

对于 rxjs,我可以在使用时提供初始值distinctUntilChanged吗?当没有收到以前的值时,似乎完全跳过了等于检查。当它收到的第一个值是初始值时,我不想发出任何内容。


用例

就我而言,我正在使用 angular,我正在使用反应式形式并订阅其值更改。由于它是一个输入字段,我有一个典型的管道设置:

  • debounceTime(350)
  • distinctUntilChanged()

当用户将初始字段从空更改为某些内容然后在去抖时间内再次为空时,无论如何都会触发该事件,这不应该发生。


我试过的

  • 提供一个自定义的 equals 方法 distinctUntilChanged
    • 不工作,因为管道在第一次遇到时被完全跳过
  • next使用默认值对基础主题 强制 a
    • 这仍然会在我宁愿避免的去抖时间之后发出一个值

distinct-values observable rxjs6

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

使用java Streams计算文件中的所有单词

我试图计算文本文件中唯一单词的数量.为简单起见,我当前的文件内容是:

这是一个示例文件

我的尝试是:

long wordCount = 
    Files.lines(Paths.get("sample.txt"))
         .map(line -> line.split("\\s+"))
         .distinct()
         .count();
System.out.println(wordCount);
Run Code Online (Sandbox Code Playgroud)

编译并运行正常,但结果1应该是5.

java cpu-word distinct-values java-8 java-stream

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