【问题标题】:Count and distinct function计数和区分功能
【发布时间】:2015-09-03 11:21:25
【问题描述】:
IF (A > 0, count (DISTINCT B))

如果变量 A 大于 0,则计算变量 B,使用 distinct 忽略重复项。

【问题讨论】:

  • 您能否展示您的整个查询?这个问题目前的形式还不清楚。
  • 我想创建一个查询,查看变量 a 是否大于 0,如果是则明确计算变量 B 忽略任何重复项,请问如何更改我的公式?
  • 看,我们看不到您的屏幕,所以我们不知道您在说什么。提供示例数据和预期结果以澄清您的问题。

标签: sql sql-server excel qlikview


【解决方案1】:

在sql中:

count(distinct case when a>0 then b else null end)

在 excel 中(使用带有 ctrl+shift+enter 的数组)假设您的数据位于 A 列和 B 列:

=SUM(IF(A:A>0,IF(FREQUENCY(B:B,B:B)>0,1),""))

【讨论】:

    【解决方案2】:

    在 Qlikview 中:

    正常表达:

    =SUM(IF(A > 0,(DISTINCT B),0)) 
    

    不受选择影响:

    =Sum({1} IF(A > 0,(DISTINCT B),0)) 
    

    SQL:

    SELECT COUNT(DISTINCT CASE WHEN A > 0 THEN B ELSE NULL END) AS CountField
    FROM yourtable
    

    【讨论】:

      【解决方案3】:

      您可以使用以下内容:

      =Count(DISTINCT IF (A > 0, B))
      

      我会用

      =Count(DISTINCT {<A = {>0}>} B)
      

      但是后者会忽略 A 上的任何选择

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-10
        • 2010-11-06
        • 2012-06-16
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 2014-04-24
        • 1970-01-01
        相关资源
        最近更新 更多