- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张表,其中每个人都有一年中每一天的记录。我使用这个函数来实现基于每日余额列的运行总计
CALCULATE(
SUM(Leave[Daily Balance]),
FILTER(
ALLEXCEPT(Leave, Leave[Employee Id]),
Leave[Date] <= EARLIER(Leave[Date])
))
但如果类型 = 工作且每日余额的运行总计小于零且上一行的类型不等于工作,则我需要从 1 重新开始运行总计。下面是 Excel 的屏幕截图。所需的功能栏就是我需要到达的。
最佳答案
概述
要求 PowerBI 做这件事是一件具有挑战性的事情,因此可能很难找到简洁的方法。
最大的问题是 PowerBI 的数据模型不支持运行计数的概念 - 至少不支持我们在 Excel 中执行的方式。在 Excel 中,列可以引用同一列的“前一行”中出现的值,然后根据不同列中列出的某些“每日更改”进行调整。
PowerBI 只能通过将某些行子集上的所有每日更改相加来模仿这一点。我们获取当前行中的日期值并创建一个过滤表,其中所有日期都小于当前行的日期,然后汇总该子集中的所有每日更改。这似乎是一个微妙的差异,但它非常重要:
这意味着无法“覆盖”我们的运行总计。唯一正在进行的数学运算发生在包含每日变化的列上 - 包含“运行总计”的列只是一个结果 - 它永远不会在任何后续行的计算中使用。
我们必须放弃“重置”的概念,而是想象制作一个包含“调整”值的列。我们的调整将是一个可以包含在内的值,以便满足所描述的条件时,每日余额和调整的总和将为 1。
如果我们查看 OP 给出的计算运行,我们会发现“工作日”之前的“非工作”日的运行总计值给出了我们所需的金额,如果反转,则该金额将求和为零并导致随后每个工作日的运行总计增加 1。这是我们期望的行为(稍后将描述一个问题)。
结果
Most Recent Date Prior to Work =
CALCULATE(
Max(Leave[Date]),
FILTER(
ALLEXCEPT(Leave, Leave[Id]),
Leave[Date] = EARLIER(Leave[Date]) -1 && Leave[Type] <> "Working" && Earlier(Leave[Type]) = "Working"
))
了解行上下文和筛选上下文之间的区别以及早期如何操作来遵循此计算会有所帮助。在这种情况下,您可以将“EARLIER”视为“此引用指向当前行中的值”,否则引用指向“ALLEXCEPT(Leave, Leave[Id])”返回的整个表。这样,我们就可以找到当前行的类型为“Working”而前一天的行具有其他类型的位置。
Most Recent Date Prior to Work Complete =
CALCULATE(
Max(Leave[Most Recent Date Prior to Work]),
FILTER(
ALLEXCEPT(Leave, Leave[Id]),
Leave[Date] <= EARLIER(Leave[Date])
))
此计算模仿“填充”类型的操作。它说:“当查看日期早于该行日期的所有行时,返回‘上类前的最近日期’中的最大值。”
Daily Balance Adjustment =
CALCULATE(
SUM(Leave[Running Daily Balance]),
FILTER(
ALLEXCEPT(Leave, Leave[Id]),
Leave[Date] = EARLIER(Leave[Most Recent Date Prior to Work Complete])
))
现在每一行都有一个字段解释在哪里可以找到每日余额以用作我们的调整,我们可以从表中查找它。
Adjusted Daily Balance = Leave[Running Daily Balance] - Leave[Daily Balance Adjustment]
最后,我们将调整应用于最终结果的运行总计。
问题
此方法无法解决计数不应重置的问题,除非运行的每日余额低于零。我之前已经被证明是错误的,但我想说这不能单独在 DAX 中完成,因为它会创建循环依赖。本质上,您提出一个要求:使用聚合值来确定聚合中应包含哪些内容。
这就是我所能带给你的。希望对您有所帮助。
关于powerbi - Power BI Desktop DAX 重新启动运行总计列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59965251/
有人知道对 PowerBI 仪表板中的文本进行拼写检查的任何变通方法吗?该功能似乎不存在。我知道的唯一方法是先将文本复制到 Word 或 PPT 中,确保语法和拼写正确,然后将其粘贴到 PowerBI
我想与没有 Microsoft/PowerBI 帐户的用户共享一些 PowerBi 仪表板。我知道我可以在 Sharepoint 在线共享它,但此解决方案的问题是我们可以在网页按钮上找到的共享按钮(F
我发现从头开始开发 PowerBI 视觉效果很难。我正在阅读 wiki , guide , 检验examples ,但仍然觉得在理解它的内部工作方式方面存在巨大差距——它没有“点击”。 (我了解 D3
如果我在表中有一列,其中每个单元格都包含文本,我如何将它们作为输出推送到例如一张卡片并用新行分隔单元格? 我一直在使用 CONCATENATEX 函数,它接受一个分隔符参数;然而,标准换行符 ('\n
我在 PowerBI 中有两个显示国家/地区数据的表,一个表包含不同国家/地区的销售数据,另一个显示每个国家/地区的统计数据。然后我有一个仪表板,其中包含每个表的图表。我想要一个过滤器来过滤两个表中的
我有一些图表想要按降序排序。我读过,如果您单击图表,会出现一个“更多选项”选项,这将使您能够进行排序。 在下面的图表中,没有排序选项: 这是图表所基于的字段(它是单个字段): 这是我设置图表的方式:
我在 Power BI 中有一个 VS Team Services 项目的燃尽图 - 以便我们可以报告故事点,而不是剩余的工作量。 在图表中,X 轴上有日期。有没有办法从图表中过滤掉周末日期?周末没有
我在生产部门工作,我们测量不同机器的使用时间。基本上,当大多数人开始使用机器和大多数人使用完机器时,我想在 PowerBI 中向我的同事展示一个条形图(以整点显示,例如 7、10、16)。 我有 2
我在 PowerBI 中有一个类似于以下内容的表: Table1 Name Group GroupScore Jim 1 75 Al 1
Display rows where foreign key is present in PowerBI 的跟进 我现在有以下查询通过连接检索数据并显示为表格: let Source = Sq
我正在尝试为 PowerBI 报告进行数据集刷新。我创建了网关,并且能够从管理门户刷新数据集。我可以验证刷新是否从 UI 成功发生,即管理门户中的上次刷新列。但是当我尝试从 C# webapi 代码进
是否可以显示从流分析到达 PowerBi 的最新值?例如,在卡片图类型中,我想象有一个测量时间字段的过滤器值选择最新值或其他值? 最佳答案 您现在能做的最好的事情就是使用问答来提出“在过去 10 秒内
我有两个主要数据集: 包含所有销售交易的真实数据。 例如RealData: Date;Sales 16-01-2017;1200 20-01-2017;1500 05-02-2017;800 08-0
我一直在尝试生成嵌入访问 token ,以便我可以将我在 Power BI 上所做的报告嵌入到 React.JS Web 应用程序中。我按照以下步骤操作 https://community.power
我正在尝试通过调用以下端点来为报告生成嵌入 token ,但这让我遇到了 CORS 问题。 Failed to load https://api.powerbi.com/myorg/groups//r
我有一个由用户控制的日期切片器。我正在尝试使用用户的最小/最大日期选择作为指标。我创建了两个度量 - 一个用于最小值,另一个用于最大值。请参阅下面的 DAX 代码: NewMin = CALCULAT
我在 Heroku 上有一个 PowerBI 实例和一个 Postgres 数据库。在我的搜索中,PowerBI 的 PostgreSQL 连接器似乎都适用于桌面: https://powerbi.m
是否有一种简单的解决方案可以在发布报表后自动刷新使用 Power BI 中的 Cosmos DB 生成的报表中的数据? 现在我可以使用 Power BI Desktop 从 Power BI 导入数据
我正在尝试根据 PowerBI/DAX 中的汽车数量找到每天的最大路线。我的数据示例如下: Date Route Count 01-Nov-17 A
是否有一种简单的解决方案可以在发布报表后自动刷新使用 Power BI 中的 Cosmos DB 生成的报表中的数据? 现在我可以使用 Power BI Desktop 从 Power BI 导入数据
我是一名优秀的程序员,十分优秀!