在 MAXX 计算中使用 SUMMARIZE 函数
Using the SUMMARIZE function in a MAXX calculation
我正在尝试按延迟原因列汇总以下值(NHS、社会关怀和两者 B),以便我可以找到具有最高值的原因(从上面提到的 3 个组合值)。
我尝试使用 summarize
创建一个 table,其中仅包含延误原因、NHS、社会关怀和两个 B 列。通过这样做,我希望我可以创建一个名为总计的列,将 NHS、社会关怀和两个 B 列添加到这个总结 table 中,从而为我提供每个延迟原因的总值。
虽然当我尝试 运行 围绕我的总计列使用 maxx 函数时,它似乎给了我错误的值。
我试过用不同的函数包装我的 table 以便它将我的摘要中的所有列聚合在一起,但这也没有帮助。
Max Delays =
MAXX (
SUMMARIZE (
csv,
csv[Reason For Delay],
csv[NHS],
csv[Social Care],
csv[Both B],
"totals", CALCULATE ( SUM ( csv[NHS] ) + SUM ( csv[Both B] ) + SUM ( csv[Social Care] ) )
),
[totals]
)
上图中较小的table(应该代表汇总的table)和总计列显示了我期望进行最大计算的值,我期望最大值为 277。
我得到的最大值是 182。这是下面未汇总的 table 中的最大值,我有多个重复的延迟原因列,182 是最大值。
我已经上传了我正在处理的 pbix 文件的示例,如果它可能有帮助的话;https://www.zeta-uploader.com/en/1184250523
首先,为全部原因创建一个度量:
Total Reasons = SUM(csv[NHS]) + SUM(csv[Both B]) + SUM(csv[Social Care])
其次,为最大原因创建一个度量:
Max Reason = MAXX( VALUES(csv[Reason For Delay]), [Total Reasons])
结果:
工作原理:
- 第一个措施是为了方便。您可以 re-use 它在其他公式中,使代码更清晰;
- 在第二项措施中,我们使用 VALUES 创建了一个包含不同原因的列表。然后 MAXX 迭代这个列表,计算每个原因的总数,然后找到其中最大的一个。
我正在尝试按延迟原因列汇总以下值(NHS、社会关怀和两者 B),以便我可以找到具有最高值的原因(从上面提到的 3 个组合值)。
我尝试使用 summarize
创建一个 table,其中仅包含延误原因、NHS、社会关怀和两个 B 列。通过这样做,我希望我可以创建一个名为总计的列,将 NHS、社会关怀和两个 B 列添加到这个总结 table 中,从而为我提供每个延迟原因的总值。
虽然当我尝试 运行 围绕我的总计列使用 maxx 函数时,它似乎给了我错误的值。
我试过用不同的函数包装我的 table 以便它将我的摘要中的所有列聚合在一起,但这也没有帮助。
Max Delays =
MAXX (
SUMMARIZE (
csv,
csv[Reason For Delay],
csv[NHS],
csv[Social Care],
csv[Both B],
"totals", CALCULATE ( SUM ( csv[NHS] ) + SUM ( csv[Both B] ) + SUM ( csv[Social Care] ) )
),
[totals]
)
上图中较小的table(应该代表汇总的table)和总计列显示了我期望进行最大计算的值,我期望最大值为 277。
我得到的最大值是 182。这是下面未汇总的 table 中的最大值,我有多个重复的延迟原因列,182 是最大值。
我已经上传了我正在处理的 pbix 文件的示例,如果它可能有帮助的话;https://www.zeta-uploader.com/en/1184250523
首先,为全部原因创建一个度量:
Total Reasons = SUM(csv[NHS]) + SUM(csv[Both B]) + SUM(csv[Social Care])
其次,为最大原因创建一个度量:
Max Reason = MAXX( VALUES(csv[Reason For Delay]), [Total Reasons])
结果:
工作原理:
- 第一个措施是为了方便。您可以 re-use 它在其他公式中,使代码更清晰;
- 在第二项措施中,我们使用 VALUES 创建了一个包含不同原因的列表。然后 MAXX 迭代这个列表,计算每个原因的总数,然后找到其中最大的一个。