gpt4 book ai didi

powerbi - 另一个变量最高版本的总和(整个数据中没有最大版本)

转载 作者:行者123 更新时间:2023-12-04 10:09:44 24 4
gpt4 key购买 nike

我正在努力让这项措施发挥作用。

我想有一个衡量标准,只为每个房子的最大版本总结值(value)。

因此,请遵循此示例表:

|---------------------|------------------|------------------|
| House_Id | Version_Id | Value |
|---------------------|------------------|------------------|
| 1 | 1 | 1000 |
|---------------------|------------------|------------------|
| 1 | 2 | 2000 |
|---------------------|------------------|------------------|
| 2 | 1 | 3000 |
|---------------------|------------------|------------------|
| 3 | 1 | 5000 |
|---------------------|------------------|------------------|


此度量的结果应为: 10.000 因为 house_id 1 version 1 被忽略了,因为还有另一个更高的版本。

通过 House_id 结果应该是:
|---------------------|------------------|
| House_Id | Value |
|---------------------|------------------|
| 1 | 2000 |
|---------------------|------------------|
| 1 | 3000 |
|---------------------|------------------|
| 2 | 5000 |
|---------------------|------------------|

谁能帮我?

编辑:

鉴于@RADO 给出的正确答案,现在我想进一步加强这项措施:

现在,我的主数据表实际上有更多的列。
如果我想将此度量添加到表视觉对象中,该表视觉对象将度量从数据表(或与之相关)拆分为另一列,该怎么办。

例如(简化数据表):
|---------------------|------------------|------------------|------------------|
| House_Id | Version_Id | Color_Id | Value |
|---------------------|------------------|------------------|------------------|
| 1 | 1 | 1 (Green) | 1000 |
|---------------------|------------------|------------------|------------------|
| 1 | 2 | 2 (Red) | 2000 |
|---------------------|------------------|------------------|------------------|
| 2 | 1 | 1 (Green) | 3000 |
|---------------------|------------------|------------------|------------------|
| 3 | 1 | 1 (Green) | 5000 |
|---------------------|------------------|------------------|------------------|

主表中有一个 Color_Id 连接到 Color 表。
然后我添加了一个带有 ColorName(来自 ColorTable)和度量(ColorId 1 是绿色,2 是红色)的可视化表。

根据给定的答案,按 ColorName 过滤时结果是错误的。虽然 Total 行确实是正确的:
|---------------------|------------------|
| ColorName | Value |
|---------------------|------------------|
| Green | 9000 |
|---------------------|------------------|
| Red | 2000 |
|---------------------|------------------|
| Total | 10000 |
|---------------------|------------------|

每个 ColorName 这个结果是错误的,因为 9000 + 2000 是 11000 而不是 10000。
该度量应忽略旧版本的行。在之前的示例中,这是 House_Id 1 和 Color_Id Green 的行,因为版本较旧(该 House_Id 有较新的版本)。

所以:
  • 我该如何解决这种情况?
  • 如果我想从数据表(或与之相关)中过滤另一列,例如 Location_Id,该怎么办?是否可以以这样一种方式定义度量,该方式可以适用于主数据表中列的任何给定数字拆分?
  • 最佳答案

    我使用“数据”作为您表的名称。

    Sum of Latest Values =
    VAR Latest_Versions =
    SUMMARIZE ( Data, Data[House_id], "Latest_Version", MAX ( Data[Version_Id] ) )

    VAR Latest_Values =
    TREATAS ( Latest_Versions, Data[House_id], Data[Version_Id] )

    VAR Result =
    CALCULATE ( SUM ( Data[Value] ), Latest_Values )

    RETURN Result

    测量输出:

    enter image description here

    这个怎么运作:
  • 我们计算 house_ids 及其最大版本的虚拟表,并将其存储在变量“Latest_Versions”
  • 中。
  • 我们使用第一步中的表格过滤最新版本的数据,并建立适当的数据沿袭
    ( https://www.sqlbi.com/articles/understanding-data-lineage-in-dax/ )
  • 我们通过仅过滤最新值的数据来计算最新值的总和。

  • 您可以在此处了解有关此模式的更多信息:
    https://www.sqlbi.com/articles/propagate-filters-using-treatas-in-dax/

    关于powerbi - 另一个变量最高版本的总和(整个数据中没有最大版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61390142/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com