【问题标题】:Count Occurances of value in 2 columns计算 2 列中值的出现次数
【发布时间】:2021-07-30 08:51:00
【问题描述】:

我在 PowerBi 中有一项简单的工作要做,但由于某种原因,我无法理解它。

我有项目表 - 在此表中,我们有“开始日期”和“结束日期”。我所追求的是一个较小的表格,其中第一列是“年和季度”,并且在那个“年和季度”中开始的项目数和结束的项目数。

Project Number Started Ended
xxxx23 2019-01 2019-03
xxxx24 2019-03 2020-01
xxxx25 2019-03 2020-02

我所追求的是如下:

Year & Quarter Project Started Project Ended
2019-01 1 0
2019-03 2 1
2019-04 0 0

在进行计算时,我得到了错误的计数。非常感谢任何帮助!

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    您可以使用 UNION 创建一个新表。您可以两次使用原始表,但使用不同的列。

    NewTable = 
        UNION(
            SELECTCOLUMNS( Projects,
                            "date",Projects[started],
                            "project",Projects[project],
                            "Started",1,
                            "Ended",0
                        )
            ,
            SELECTCOLUMNS( Projects,
                            "date",Projects[ended],
                            "project",Projects[project],
                            "Started",0,
                            "Ended",1
                        )
            )
    

    【讨论】:

      【解决方案2】:

      如果你有一个日历表,你可以通过以下两种方式来实现这个问题

      #1

      newTable = 
      VAR _1 =
          SUMMARIZE ( 'Calendar', 'Calendar'[Yr & Qt] )
      VAR _2 =
          ADDCOLUMNS (
              ADDCOLUMNS (
                  _1,
                  "Project Started",
                      COUNTX (
                          FILTER ( Projects, Projects[started] = EARLIER ( [Yr & Qt] ) ),
                          [started]
                      )
              ),
              "Project Ended", COUNTX ( FILTER ( Projects, Projects[ended] = EARLIER ( [Yr & Qt] ) ), [ended] )
          )
      RETURN
          _2
      

      #2

      Table 2 = 
      ADDCOLUMNS (
          ADDCOLUMNS (
              SUMMARIZE ( 'Calendar', 'Calendar'[Yr & Qt] ),
              "Project Start Count",
                  CALCULATE (
                      CALCULATE (
                          COUNTX ( Projects, Projects[started] ),
                          TREATAS ( SUMMARIZE ( 'Calendar', 'Calendar'[Yr & Qt] ), Projects[started] )
                      )
                  )
          ),
          "Project End Count",
              CALCULATE (
                  CALCULATE (
                      COUNTX ( Projects, Projects[ended] ),
                      TREATAS ( SUMMARIZE ( 'Calendar', 'Calendar'[Yr & Qt] ), Projects[ended] )
                  )
              )
      )
      

      结果如下

      该解决方案对带有 Yr & Qt 之类的列的 Calendar tbl 具有最小依赖性,如下所示

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多