首页 > 解决方案 > Power BI Dax 公式 - 表格总和问题

问题描述

我在报告中有一个表格,显示每个月末按年龄组划分的未结案件数量,这使用了一个年龄组表和一个与主数据表分开的日期表(在下面的公式中称为 Child) . 除了表格中的总数表现得很奇怪之外,它似乎有效这里的数字以及它们的依据。

我的公式是这样的:

Number Children by Age Group = 
VAR AgeMin = SELECTEDVALUE ( 'Age Group Table'[AgeMin] )
VAR AgeMax = SELECTEDVALUE ( 'Age Group Table'[AgeMax] )
RETURN
CALCULATE (
    DISTINCTCOUNT ( 'Child'[Person ID] ),
    FILTER (
        'Child',
        'Child'[Start_Date] <= MAX ( Dates[Date] )
            && ('Child'[End_Date] >= MAX ( Dates[Date] ) || ISBLANK ( 'Child'[End_Date] ) )
            && FLOOR ( DATEDIFF ( 'Child'[Date of Birth], MAX ( Dates[Date] ), DAY ) / 365.25, 1 ) >= AgeMin
            && FLOOR ( DATEDIFF ( 'Child'[Date of Birth], MAX ( Dates[Date] ), DAY ) / 365.25, 1 ) <= AgeMax
    )
)

我在表中得到的结果是:

示例结果截图

如果我在公式周围加上 sumx,总数会上升到 180 左右,更高但仍然太低,我不必在表中列出总数,但我希望能够了解发生了什么来增加我的dax公式知识

标签: powerbidax

解决方案


通常,提供以下内容总是有用的:

  • 一小组样本数据
  • 数据模型的相关信息

因此,人们更容易复制您的错误并测试解决方案。尽管如此,我已经多次看到这样的情况,解决它的标准过程如下:

  1. 设置DAX Studio以运行 DAX 查询(稍后您将了解原因)
  2. 使用性能分析器提取查询以生成该表。这看起来类似于:

    DEFINE  /* this defines report-level measures and filter context */
    MEASURE Table1[Measure1] = ...
    
    VAR __dsfiltertable0 = ...
    
    VAR __dsfiltertable1 = ...
    ...
    EVALUATE  /* this evaluates the data used in the visualization */
    ...```
    
  3. 现在,您可以修改查询以提取 (1) 'Child'[Person Id] 的单列表,用于获取 1 月和 0-4 年的值和 (2) 单列表 'Child' [Person Id] 用于获取一月&总计的值。
    您可以轻松地在 Excel 中导出此表并调查问题所在。

如果您迷路了,您可以共享使用性能分析器提取的查询,我可以为您生成要在 DAX Studio 中启动的查询。


推荐阅读