我想从Excel迁移到Power BI的报告,我希望有人可以帮助我,因为我是新来的DAX。DAX的最接近的值匹配没有关系
我有两个表和一个(我们称之为表A)包含一个计划的开始日期/时间列而另一个包含相同事件的实际开始日期/时间。计划开始时间和实际开始时间之间通常只有几分钟的差异。
我需要从表B最接近实际开始日期/时间匹配到计划开始日期/时间在表A
有,我可以用它来创建两个表之间的关系没有任何现有列。
如果我能找到最接近的实际开始时间并将其拉入表A,那么我可以从中创建一个关系。
在Excel中我会用数组公式像这样做:(这里我只是假设一切都在每个表中的列A)
{=Index(TableB!A:A,match(min(abs(TableB!A:A-TableA!A1)),abs(TableB!:A:A-TableA!A1),0),1)}
我发现下面的代码DAX但在线它只会返回下一个最低值,即使有更高的值。
If (
Hasonevalue (TableA[A]),
Calculate (
Max (TableB[A]),
Filter (TableB, TableB[A] <= Values (TableA[A]))
)
)
我也试图找出一个办法做到这一点,如果我建立包含日期范围,我的数据覆盖(约2年)的,但正如我所说的每分钟的日期/时间的表我是DAX的新手,一直没有弄明白。有没有什么办法可以使用类似于(min(abs(DAX中的excel公式的一部分(因为它有这些函数)在计算列中计算它)?是否有可能没有现有的关系或将我还得继续,每次做这部分工作在Excel中我想这份报告更新?
任何帮助极大的赞赏。
感谢您的支持。我看到这是如何工作,我有点恼火,我没有想到它,因为它非常简单!不过,我的数据中有15,400行,没有足够的内存来计算它们,这对我来说有点令人惊讶。我会去调查解决方案。也许只是更多的RAM ...... –
@NeilScrivener,一种解决方案可能是创建两个表之间的关系,但我可以看到两个表中没有共同的列。您可以尝试将表达式分成几列。 –
@NeilScrivener,检查我的编辑。它可以帮助你。 –