自动公式从指定的ID中选择值,并与具有相同名称的其余值相乘

问题描述 投票:0回答:1

我试图找到一种方法来选择特定的ID,读取其值并在不同的ID中查找具有相同名称的所有产品,并将第一个ID X.values乘以不同ID的其他产品的变量。

所以例如我有以下数据:

Raw Data

我想选择ID = 1234来查找与1234产品相关的所有卷。在其他ID中找到具有相同名称的产品,并将每个产品卷ID = 1234乘以同名产品X.Value of the其他ID,如下:required Calculation

谢谢

powerbi formula visualize
1个回答
1
投票

在计算列中,您可以使用LOOKUPVALUE查找ID为1234的卷和相应的产品 - 然后根据是否返回匹配值选择如何计算输出:

New Column = 
VAR LookupID = 1234
VAR LookupVolume = 
    LOOKUPVALUE ( 
        Table1[Volume],
        Table1[ID], LookupID,
        Table1[Product], Table1[Product]
    )
RETURN
    Table1[X.Value] & " * " & 
    IF ( 
        ISBLANK ( LookupVolume ),
        Table1[Volume],
        LookupVolume
    ) 

工作示例PBIX文件:https://pwrbi.com/so_55916210/

编辑

更复杂的衡量标准 - 并不完全清楚您打算如何使用它,但这种方法为ID值列表创建了一个单独的表,用作切片器:

ID List = DISTINCT ( Table1[ID] )

然后我们可以使用措施:

New Measure = 
SUMX ( 
    Table1,
    VAR LookupID = 
        IF ( 
            HASONEVALUE ( 'ID List'[ID] ),
            VALUES ( 'ID List'[ID] ),
            BLANK()
        )
    VAR LookupProduct = 
        IF ( 
            HASONEVALUE ( Table1[Product] ),
            VALUES ( Table1[Product] ),
            BLANK()
        )
    VAR EffectiveVolume =
        CALCULATE ( 
            SUM ( Table1[Volume] ),
            ALL ( Table1 ),
            Table1[ID] = LookupID,
            Table1[Product] = LookupProduct
        )
    RETURN
    Table1[X.Value] * 
    IF ( 
        ISBLANK ( EffectiveVolume ),
        Table1[Volume],
        EffectiveVolume
    )
) 

更新了PBIX文件:https://pwrbi.com/so_55916210-2/

© www.soinside.com 2019 - 2024. All rights reserved.