Power BI:计算无法正常工作

2023-12-28

我有一个包含资源名称、资源所有者、项目名称、项目经理、工作量的表。 对于每个资源所有者,我想计算借出的工作量(所有者的资源在除所有者项目之外的项目中花费的工作量)和借用的工作量(所有者的资源在除项目所有者之外的其他项目中花费的工作量)。

For e.g., Resource Owner = X
Project Manager = AllExcept(X)
Sum(Effort) = Loaned Out Hours

Resource Owner = AllExcept(X)
Project Manager = X
Sum(Effort) = Borrowed.

为了计算借出时间,我使用这个 DAX 公式-

Loaned = IF(ISBLANK(CALCULATE(SUM('All_Activity Data'[Logged Effort]), FILTER('All_Activity Data','All_Activity Data'[Project Manager] <> 'All_Activity Data'[Resource Owner]))),0,CALCULATE(SUM('All_Activity Data'[Logged Effort]),FILTER('All_Activity Data','All_Activity Data'[Project Manager] <> 'All_Activity Data'[Resource Owner])))

为了计算借用,我使用 -

Borrowed = IF(ISBLANK(CALCULATE(SUM('All_Activity Data'[Logged Effort]),FILTER('All_Activity Data','All_Activity Data'[Project Manager] <> 'All_Activity Data'[Resource Owner]), FILTER('All_Activity Data','All_Activity Data'[Project Manager] = 'All_Activity Data'[Resource Owner]))),0,CALCULATE(SUM('All_Activity Data'[Logged Effort]),FILTER('All_Activity Data','All_Activity Data'[Project Manager] <> 'All_Activity Data'[Resource Owner]), FILTER('All_Activity Data','All_Activity Data'[Project Manager] = 'All_Activity Data'[Resource Owner])))

借出的时间计算正确,但未借出。任何帮助,将不胜感激。

这是示例数据:

RN      Eff     PN  P_M RO
NAME 1  1.50    A   O   X
NAME 2  8.00    B   N   S
NAME 1  5.50    C   N   S
NAME 2  1.50    D   S   S
NAME 1  5.00    E   X   S
NAME 2  8.00    F   N   N
NAME 1  4.00    G   L   X
NAME 2  4.00    H   L   X
NAME 1  0.25    I   X   N
NAME 2  0.25    G   O   X
NAME 1  0.25    A   X   D
NAME 2  6.75    B   N   X
NAME 1  0.50    C   X   X
NAME 2  8.00    D   N   L
NAME 1  0.17    E   D   D
NAME 2  2.26    F   D   D
NAME 1  1.58    G   L   D
NAME 2  2.50    H   D   D
NAME 2  0.58    I   D   D
NAME 1  0.33    G   D   D
NAME 2  0.34    A   D   D
NAME 1  0.25    B   D   D
NAME 2  6.00    C   D   S
NAME 1  0.30    D   N   S
NAME 1  8.00    E   N   N
NAME 2  2.00    F   S   S
NAME 1  4.50    G   S   S
NAME 2  1.50    H   S   S
NAME 1  2.00    I   S   S
NAME 2  1.50    G   S   S
NAME 2  4.50    A   S   S
NAME 2  8.00    B   S   S
NAME 2  8.00    C   S   L
NAME 2  8.00    D   N   S
NAME 2  8.00    E   S   L
NAME 2  8.00    F   S   L
NAME 2  8.00    G   O   X
NAME 2  1.25    H   L   L
NAME 2  2.75    I   L   L
NAME 1  0.75    G   L   L
NAME 1  1.50    A   L   L
NAME 1  0.75    B   O   L
NAME 1  1.25    C   O   X
NAME 1  0.50    D   N   X
NAME 1  1.00    E   X   X
NAME 1  2.00    F   O   X
NAME 1  2.50    G   S   N
NAME 1  7.00    H   S   N
NAME 1  1.50    I   L   N
NAME 2  6.50    G   L   N
NAME 2  8.00    A   N   S
NAME 2  8.00    B   N   X
NAME 2  7.50    C   L   S
NAME 1  3.25    D   N   N
NAME 1  2.25    E   N   N
NAME 1  0.75    F   N   N
NAME 2  0.75    G   N   N
NAME 1  1.00    H   L   X
NAME 1  4.00    I   S   X
NAME 1  3.00    G   N   X
NAME 2  8.00    A   L   L
NAME 1  6.00    B   N   N
NAME 1  0.50    C   N   N
NAME 1  0.50    D   N   N
NAME 2  7.00    E   N   X
NAME 1  0.25    F   O   X
NAME 1  0.50    G   O   X
NAME 1  0.25    H   X   X

In this case- Loaned out For X PM is - 52 Borrowed in is - 5.5 Loaned out


你的问题中有3种类型的努力:

最简单的工作类型是“非借出或借用的工作” - 您关心的经理既是资源所有者又是项目经理(即他们在他们管理的项目上使用他们管理的资源)。

下一种类型的工作是“借用工作”——您关心的经理是资源所有者,而不是项目经理(即经理的资源正在用于其他人的项目)。

最后一种类型的工作是“借来的工作”——您关心的经理是项目经理,而不是资源所有者(即他们在项目中使用其他人的资源)。

您已经正确定义了借出的工作量,但它是基于资源所有者是您关心的经理的假设。确实,你的借出的努力计算完全正确借来的努力也是如此,除非您需要按项目经理而不是资源所有者显示表格(这是因为项目经理借入而资源所有者借出 - 但除此之外,计算结果相同)。

因此,问题的本质不是计算问题,而是因为您想并排显示同一个人的“借用”和“借出”号码。

为了实现这一目标,我建议建立一个单独的、重复数据删除的经理表,您可以计算借入和借出的数量。这样做的主要原因之一是经理可以借钱但从不放贷。如果您以资源所有者(出借人)为前提,则借入但从不出借的管理者将永远不会出现在您的结果中。

我将此表称为 DimManager,只有一列Manager。显然你可以改变这个。我做到了not将此表与 All_Activity 数据关联:

然后,对于措施,我从不借或借开始,我希望经理既是项目经理又是资源所有者:

Not Loaned or Borrowed =
SUMX (
    'DimManager',
    CALCULATE (
        SUMX (
            FILTER (
                'All_Activity Data',
                'All_Activity Data'[Project Manager] = MAX ( 'DimManager'[Manager] )
                    && 'All_Activity Data'[Resource Owner] = MAX ( 'DimManager'[Manager] )
            ),
            'All_Activity Data'[Logged Effort]
        )
    )
)

FILTER 从内到外工作,负责两个不相关的表之间的连接。在本例中,我希望经理既是项目经理又是资源所有者。嵌套 SUMX(CALCULATE(SUMX) 的作用是,在计算列总计时,它将每个单独管理器的结果相加。如果没有此功能,度量将使用 MAX(Manager) 作为列总计,使列总计与样本数据中的经理 X。我从 Matt Allington 那里学到了这个技巧:https://exceleratorbi.com.au/double-calculate-solves-sumx-problem/ https://exceleratorbi.com.au/double-calculate-solves-sumx-problem/

对于您的借出和借用计算,它们与上面完全相同,只不过不是说您希望资源所有者和项目经理都与您的经理匹配,而是其中之一与您的经理不匹配:

Loaned =
SUMX (
    'DimManager',
    CALCULATE (
        SUMX (
            FILTER (
                'All_Activity Data',
                'All_Activity Data'[Project Manager] <> MAX ( 'DimManager'[Manager] )
                    && 'All_Activity Data'[Resource Owner] = MAX ( 'DimManager'[Manager] )
            ),
            'All_Activity Data'[Logged Effort]
        )
    )
)

'

Borrowed =
SUMX (
    'DimManager',
    CALCULATE (
        SUMX (
            FILTER (
                'All_Activity Data',
                'All_Activity Data'[Project Manager] = MAX ( 'DimManager'[Manager] )
                    && 'All_Activity Data'[Resource Owner] <> MAX ( 'DimManager'[Manager] )
            ),
            'All_Activity Data'[Logged Effort]
        )
    )
)

最终结果如下:

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

Power BI:计算无法正常工作 的相关文章

  • 小计 <> 行总和

    我是 DAX 的新手 所以请耐心等待 用最简单的术语来说 我想将欧洲以外的所有区域的度量金额加倍 然后将结果相加 以下是 DAX 的一些示例 DEFINE measure Fact test CALCULATE IF SELECTEDVAL
  • PowerBI 动态时间序列条形图

    在这里补充我之前的问题 时间序列问题 我想在时间序列 其中包含用户设置的日期范围 上绘制单位容量图表 我试图绘制的图表如下 对于每个单元名称 我都有单元容量的开始和结束日期 如下 PowerBI 表所示 4个子问题 如何绘制这些容量随时间变
  • Power Query:当特定值出现在另一列中时如何向列添加一个

    我有一个 ID 列 并且我正在寻找每次特定项目出现在我的列表中时增加我的 ID 的方法Geography柱子 ItalyZ ItalyM UKY or UKM 被发现 身份证号为ItalyZ从 0 开始 到 4000 结束 身份证号为Ita
  • 基于另一个切片器选择的 Power BI 切片器的初始值

    每当上类别切片器值发生变化时 我想设置下类别切片器的初始值 假设我们有这样的数据 upper category lower category units fruit apple 1 fruit banana 1 vegetable carr
  • 如何在Power BI [查询编辑器]中添加逗号千位分隔符

    有一个列包含如下数字 ex 12876391 想要转换成这样 12 876 391 在整个专栏中 我在许多论坛中找不到简单的解决方案 我怎样才能实现它 您可以先选择列中的Fields窗格 然后找到Thousands separator下的选
  • 如何为同一数据集的属性设置两个切片器之间的 OR 逻辑?

    我正在尝试设置OR两个切片器过滤器之间的逻辑 两个切片器来自同一数据集 以下是更多详细信息 我的源表 使用切片器的视觉效果 我的目标是 如果我从切片器 1 和切片器 2 中选择任何值 我的视觉效果应该显示两个选择值的结果 例如 如果我从切片
  • 如何部署到现有的powerBI工作区?

    我正在尝试实施 powerBI部署管道 https learn microsoft com en us power bi create reports deployment pipelines overview 我已经为每个环境 开发 测试
  • 进行更改后将 Power BI 嵌入报表保存在数据库中

    我正在使用 power bi 嵌入式包来嵌入 power bi 报告 https github com microsoft powerbi client react https github com microsoft powerbi cl
  • Power BI 中的排序堆栈条形图

    我使用堆积条形图来展示各个地区的性别比例 这里的图例是性别 轴是区域 值是人数 当我想根据女性性别值对图表进行排序时 仅根据人数值进行排序 我如何按百分比值对其进行排序 请帮我 编辑 我的第一个答案只关注计数 现在我已经考虑到OP想要按女性
  • DAX 条件运行总计

    我有一个包含 2 列的表 ID and Numbers 我想创建一个新专栏Result与数字列的运行总计 但每次运行总计超过 20 时 应重新启动运行总计 此外 如果运行总计低于 20 则不应显示结果 这必须仅使用 DAX 来完成 谢谢指教
  • 如何在 PowerBi 中将切片器中的选定值设置为 API

    我想从切片器中选择时间并将用户选择的值放入 API 中 当我从 API 获取值后 分析将在我的本地计算机上进行 并将分析后的数据设置到 PowerBi 中 用于用户选择的数据 我使用以下 API 设置上述切片器 http localhost
  • 如何使用非交互式身份验证连接到 Power BI API?

    用 C 编码 我正在遵循本指南 https azure microsoft com en us documentation articles resource group authenticate service principal aut
  • 为什么添加简单的 SQL 查询作为 Power BI 数据源会阻止本机查询折叠?

    我已经添加了SQL数据源 然后 我没有选择表 而是输入了以下查询 SELECT ID NAME AGE FROM STUDENTS 当我右键单击该步骤时 我看到本机查询选项被禁用 为什么添加简单的 SQL 查询作为 Power BI 数据源
  • 无法从日期列进行测量

    我正在尝试计算 completionDate 列中的日期与今天之间的天数 表名称为 事件 2 我有一个名为 事件 的模拟器表 它正在工作 代码 DaysClosed DATEDIFF Incidents 2 completionDate D
  • Power Bi 中具有多轴的重叠条形图

    我想在 PowerBi 中有一个具有多个轴的重叠条形图 我有一个来自 Excel 的示例 如果可能的话 我希望在 PowerBi 中重新创建该示例 这里是例子 这在 PowerBi 中可能吗 也许通过使用我不知道的自定义视觉效果 提前致谢
  • 桥接表 - DAX 还是 M?

    我们应该使用 DAX 还是 M 构建桥接表 图片盗自here https stackoverflow com questions 53320431 power bi weighted average yield across 2 table
  • DAX 条件总和

    如何构造返回 A 或 B 之和的 DAX 度量 逻辑是如果 A 为空 则取 B 所以预期的结果如下所示 A B Expected 1 1 1 1 2 2 1 2 1 2 2 3 6 7 当我使用测量时 Measure IF ISBLANK
  • 如何按幂 bi 矩阵的降序对列日期进行排序

    我需要按日期降序对矩阵列进行排序 我还有什么选择吗 检查这个图像matrix https i stack imgur com sj9Et png我需要从 1 月 20 日到 1 月 19 日订购 此列已按日期列排序 提前致谢 一种解决方案是
  • 如何仅在筛选记录上使用 power bi 中的 MAX 函数?

    我试图选择具有最新日期的记录 数据库中的所有记录都有这些基本列 AssetNumber WorkOrderNumber ScheduledEndDate Department 我想查找特定部门中每项资产的所有最新工单 日期 我有一个基本的措
  • 在 Asp.Net Core 中手动创建 OData feed,在 Power BI 中使用 feed

    我正在尝试手动编写一个用作 OData feed 的 Web Api 我不需要太多功能 只需将实体框架中存储的数据导出到 Power BI 等应用程序的能力即可 我只需要能够查看 因此我计划只实现 GET 请求 我目前有一个标准 Web a

随机推荐

  • 为什么 PhpStorm 检查说“Exception”未定义?

    PhpStorm不认识Exception由于某种原因 代码执行得很好 但我无法 转到 代码 这应该将我发送到Core c php Windows 操作系统有 尝试重新启动操作系统 的建议 这在许多 不起作用 突然停止工作 的情况下很有帮助
  • 在 postgresql 中创建扩展测试

    我想创建一个postgres 中的扩展测试 使用PostGis 所以我想执行以下步骤 1 编辑文件btree interval c from btree gist https github com postgres postgres tre
  • Jersey 2.0“入门”指南,找不到 mainClass

    嗨 我正在尝试遵循入门指南 https jersey github io documentation latest getting started html对于泽西岛 2 0 我按原样执行了步骤 1 1 和 1 2 那里没问题 对于步骤 1
  • ConstraintLayout、RadioGroup 和两列RadioButton

    我有一个 ConstraintLayout 作为根布局 它很好 不过 我现在有一个 RadioGroup 我必须在其中创建两列 RadioButtons 由于 ConstraintLayout 是为了摆脱嵌套布局 我认为将这些 RadioB
  • 如何使用 Javascript 从 url 下载文件?

    如何使用 Javascript 从 url 下载文件 我试图从文本字段中获取用户输入的网址 如下所示 new Ext form TextField disabled false fieldLabel file value id url 我需
  • 更好的 ruby​​ 终端着色库

    有很多着色库 colored term ansicolor 但有没有什么可以做到这一点 puts hello red world bold And world 应该是大胆的 为了说清楚 我想得到这个 e 1m e 31mhello e 0m
  • 应用风格的实际用途是什么?

    我是一名 Scala 程序员 现在正在学习 Haskell 很容易找到 OO 概念的实际用例和现实世界示例 例如装饰器 策略模式等 书籍和互联网上充斥着这些内容 我开始意识到 对于函数概念来说 情况并非如此 例证 应用词 我正在努力寻找应用
  • 如何计算CNN的权重个数?

    考虑到用于将图像分为两类的卷积神经网络 我们如何计算权重数量 输入 100x100 灰度图像 LAYER 1 具有 60 个 7x7 卷积滤波器的卷积层 stride 1 有效 填充 LAYER 2 具有 100 个 5x5 卷积滤波器的卷
  • inner() 为参数“ax”获取了多个值

    在带有 Python 的 Jupyter 笔记本中 我正在从数据帧的两列绘制六边形联合图 该图绘制正确 但我无法调整图片大小 这是代码 fig ax plt subplots fig set size inches 11 7 8 27 sn
  • 如何使用反射调用java中的方法

    如何使用反射调用带参数的方法 我想指定这些参数的值 下面是使用涉及原语的反射来调用方法的简单示例 import java lang reflect public class ReflectionExample public int test
  • Android Smack 聊天客户端

    嗨 朋友们 我正在使用从以下网址下载的 Smack3 2 1 jar http www igniterealtime org downloads index jsp http www igniterealtime org downloads
  • 如何在 terraform 中使用嵌套循环

    我正在尝试使用 Terraform count 在 Azure 中创建 3 个虚拟机 每个虚拟机需要多个磁盘 有什么办法可以做到这一点吗 我尝试创建磁盘名称和大小的映射 但收到错误 无法同时使用 count 和 for each resou
  • Pickle Spark RDD 并将其读入 Python

    我正在尝试通过 pickle 来序列化 Spark RDD 并将 pickled 文件直接读入 Python a sc parallelize 1 2 3 4 5 a saveAsPickleFile test pkl 然后 我将 test
  • 类构造函数中选项对象的默认值

    我创建了一个类 我想为值设置一些默认选项 以防用户不提供任何参数 我最近使用了一个将多个参数传递给一个对象的构造函数 因为我相信当用户创建该类的新实例时 它有助于提高可读性 这是我之前的做法 module exports class Use
  • 根据 codeigniter 中的用户角色重定向到管理员和用户

    如果管理员正在登录 我希望他进入管理 仪表板 否则到用户仪表板 登录控制器如下 在用户表中 我有一列 角色 值为 1 和 2 1 代表管理员 2 代表用户 并且有单独的角色表 登录用户功能 public function login dat
  • 我可以将 MongoDB 配置为内存吗?

    我有兴趣使用一个能够实现高性能的数据库 并且预期需要集群进行大规模水平扩展 我们正在考虑使用 MongoDB 有谁知道我是否可以在内存中使用它 即在 RAM 中 出于性能原因 Tnx 截至今天 最新版本的 MongoDB 即 v3 4 在其
  • 使用OpenCV的Sobel运算计算图像梯度方向

    我正在尝试使用 OpenCV 的 Sobel 方法的结果来确定图像梯度方向 我知道这应该是一个非常简单的任务 我想我理解这个理论 但实现它比我想象的更具挑战性 我希望渐变方向在 0 360 度之间 但我的代码显示所有渐变都在 180 270
  • 如何从离开网站警报中获取文本?

    如何从离开网站警报中获取文本 我尝试使用切换到它driver switchTo alert 但我收到空白文本 I have also attached screenshot of alert 请在这方面帮助我 下面是我的代码 public
  • 既然 BluetoothAdapter.getDefaultAdapter() 已被弃用,我该使用什么?

    How do I fix the deprecation warning in this code Alternatively are there any other options for doing this val mBluetoot
  • Power BI:计算无法正常工作

    我有一个包含资源名称 资源所有者 项目名称 项目经理 工作量的表 对于每个资源所有者 我想计算借出的工作量 所有者的资源在除所有者项目之外的项目中花费的工作量 和借用的工作量 所有者的资源在除项目所有者之外的其他项目中花费的工作量 For