PowerPivot DAX 文本窗口功能可在组中重复一个值

PowerPivot DAX Text Windowing Function to repeat a value across a group

我正在尝试使用 DAX 获取一个值以在 PowerPivot 中的一个组中重复。

我已经设法让这种窗口适用于组中的摘要,但现在我正试图让它适用于文本值。

例如,我的 PowerPivot 模型中有以下 table - Orders

OrderID   ItemName   Price   IsSelected
1         Printer    100        
1         Laptop     200     Y        
1         Ink        50            
2         Laptop     200             
2         Pen        10      Y

我想在模型中添加一个计算列,如下所示:

OrderID   ItemName   Price   IsSelected   Order_SelectedItem
1         Printer    100                  Laptop
1         Laptop     200     Y            Laptop
1         Ink        50                   Laptop
2         Laptop     200                  Pen
2         Pen        10      Y            Pen

顺便说一句,我需要这个的原因是这个模型的用户通常根据结果枢轴上的 OrderID 进行分组,并且拥有这样的字段可以让他们一眼就看出 "selected" 订单项是。

我已经尝试创建一个计算列 SelectedItemName,作为我的窗口函数的前身

=IF(Orders[IsSelected]=1, [ItemName], BLANK())

但是,BLANK 会干扰以下内容,因为 VALUES 函数返回时每组行数过多:

=CALCULATE(VALUES(Orders[SelectedItemName]); ALLEXCEPT(Orders; Orders[OrderID]))

ALLNOBLANKROW 对解决这个问题没有帮助...我尝试使用 SUMMARIZE、各种过滤器等等,但我还是没能破解它。

这很令人沮丧,因为它看起来很简单(类似的数字聚合非常简单),但我还没有找到明显的解决方案 - 而且我还没有找到其他人遇到这个特殊问题。

非常感谢!

您可以在计算列中使用类似这样的内容

=CALCULATE(
   FIRSTNONBLANK(Orders[ItemName],COUNTROWS(Orders))
  ,FILTER(Orders, [IsSelected] = "Y" 
                  && Orders[OrderID] = EARLIER(Orders[OrderID]))
 )