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

2023-12-01

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

我想要一个度量,仅对每栋房屋的最大版本的值进行求和。

因此,请遵循此示例表:

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

该措施的结果应该是:10.000因为 house_id 1 版本 1 被忽略,因为还有另一个更高的版本。

根据 House_id 结果应该是:

|---------------------|------------------|
|      House_Id       |     Value        |
|---------------------|------------------|
|          1          |       2000       |
|---------------------|------------------|
|          1          |       3000       |
|---------------------|------------------|
|          2          |       5000       |
|---------------------|------------------|

谁能帮我?

EDIT:

鉴于@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 连接到颜色表。 然后,我添加一个带有 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 有较新的版本)。

So:

  1. 我该如何解决这种情况?
  2. 如果我想按数据表中(或与之相关)的另一列(例如 Location_Id)进行过滤,该怎么办?是否可以以适用于主数据表中列的任何给定数字拆分的方式定义度量?

我使用“Data”作为表的名称。

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

怎么运行的:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

另一个变量版本最高的总和(整个数据中没有最大版本) 的相关文章

随机推荐

  • 有没有办法找出用户在 Active Directory 中被禁用的日期?

    我目前正在处理 Active Directory 我需要知道某些帐户何时被禁用 有last modified 日期 属性 但我不确定在AD上启用 禁用帐户是否会触发last modified的更改 如果是 是否有其他属性在修改时也会改变它
  • 在 C 语言中获取用户输入的最佳方式是什么?

    很多人都说scanf不应该用在 更严肃的程序 中 与getline 我开始迷失 如果我遇到的每个输入功能都说我不应该使用其中任何一个 那么我应该使用什么 是否有一种更 标准 的方式来获取我不知道的输入 一般来说 fgets 被认为是一个不错
  • ARCore:模型显示在脸部上方

    我正在尝试遵循以下指南 了解如何为以下内容创建自定义 3D 模型 增强面孔但由于某种原因 我的模型确实超出了我的想象 我的模型也在 0 x y 和 z 轴上 对于我正在使用的代码这个示例项目由谷歌提供 中心点 检查 a 的位置在哪里pivo
  • 两个如何用python水平合并多个.csv文件?

    我有几个 csv 文件 10 需要将它们水平合并到一个文件中 每个文件具有相同的行数 300 和 4 个标题行 这些标题行不一定相同 但不应合并 仅从第一个 csv 文件获取标题行 行中的标记以逗号分隔 中间没有空格 作为一个Python菜
  • Struts2 约定插件在 Tomcat 8.x 上损坏 - org.apache.struts2.convention.PackageBasedActionConfigBuilder.error 无法扫描命名包

    我正在使用 Struts 2 3 16 以及相同版本的约定插件 该应用程序在 Tomcat 7 0 35 上运行良好 但在 Tomcat 8 0 3 0 上失败并出现以下异常 11 May 2014 06 26 01 421 WARNING
  • 使用包含过滤器在环回中连接两个模型

    我有两个模型 Purchase 和 Products productId 对于这两个模型来说是通用的 我需要从产品模型中找到purchaseId 的productDetails 因此 我在购买模型中创建了一个自定义端点 称为 getProd
  • R 中的多级饼图

    我想制作一个非常简单的多层饼图 如下所示 正如你所看到的 我已经了解 sunburstR 但 因为我正在寻找一个更简单的解决方案 这并不完全应该是这样 此外 我更希望能够轻松地将其导出为矢量图形 第二种解决方案 使用 ggplot2 在极坐
  • HashSet 的最大大小

    所以基本上我生成随机 10000 个 IP 地址 我想存储在 HashSet 中找到的所有 IP 地址 但根据我的计算 找到了大约 6000 个 IP 地址 但在 HashSet 中只存储了 700 个 IP 地址 HashSet在存储St
  • 获取DataTable中值的索引

    我需要获取数据表中值的索引 我正在努力变得那样 SqlDataAdapter da new SqlDataAdapter SELECT MessageID SenderID MessageContent FROM Messages WHER
  • JavaScript 数组拼接

    StackOverflow 社区您好 目前我完全被我的代码困住了 尝试了不同的方法来从数组中删除选择的值 我知道我必须使用 splice 来实现它 但由于某种原因它没有做我想要它做的事情 由于我的英文不太好 这个网页很难解释 所以我做了一些
  • Python 中解包参数列表/字典案例中的关键字参数

    对于 python 我可以使用如下解包参数 def hello x y z print x x print y y print z z hello 1 1 2 3 a 1 b 2 c 3 hello 1 1 2 3 a 1 b 2 c 3
  • “rep”函数中的“each”参数有多个值吗?

    如何为R中 rep 函数中的 each 参数分配多个值 一个简单的示例 其中向量中的每个值连续重复 3 次 a lt seq 2 6 2 rep a each 3 但是 如果我在 each 参数中添加多个值以更改每个值的重复次数 则它无法正
  • 删除包含特定单词的列

    我有一个包含 313 列 约 52000 行信息的数据集 我需要删除包含 权限 一词的每一列 我尝试过 grep 和 dplyr 但我似乎无法让它工作 我已经读过该文件 testSet lt read csv Users data csv
  • 手机休眠时的 BroadcastReceiver 行为

    我不太确定 a 的行为是什么BroadcastReceiver 在清单中注册并通过以下方式启用PackageManager 是手机休眠时 出现这个问题是因为我需要一个注册广播的接收器WifiManager
  • 为什么此 C# 代码会抛出错误:使用未分配的局部变量“n”

    在 MSDN 上 此代码发布于https learn microsoft com en us dotnet csharp language reference keywords try catch我无法理解为什么它会抛出错误 使用未分配的局
  • IEEE-754:有理数集的基数

    有理数集的基数是多少 这些有理数具有与单精度 IEEE 754 兼容的浮点格式的精确表示 有 2139095039 个有限正浮点数 有尽可能多的有限负浮点数 您想要将 0 0 和 0 0 作为两项还是一项包含在内 根据答案 总数为 2 21
  • 比较 2 个数组的元素并返回计数 JavaScript

    我有 2 个数组 需要相互比较并返回相同的计数 示例 将 array1 abcd 与 array2 adce 进行比较 返回值为 2 1 因为 a 和 c 都处于相同位置 而 d 处于错误位置 function var index 0 fo
  • jQuery 形式的 .change 函数存在问题

    我正在编写一个脚本 该脚本根据选择菜单中的用户输入更改跨度文本值 我当前的脚本有问题 如何解决此问题 以便当我单击 结束日期 然后再次单击 开始日期 时 它会在范围中显示 开始日期 Demo http jsfiddle net 197ncb
  • 将“IntStream”打印为“String”的最简单方法

    使用 Java 8 我可以轻松地处理String 或任何CharSequence as an IntStream使用任一chars or the codePoints method IntStream chars Hello world c
  • 另一个变量版本最高的总和(整个数据中没有最大版本)

    我正在努力让这项措施发挥作用 我想要一个度量 仅对每栋房屋的最大版本的值进行求和 因此 请遵循此示例表 House Id Version Id Value 1 1 1000