将特定 ID 中的 select 值自动公式乘以具有相同名称的其余值
Automated formula to select values from a specifid ID and multiply to the rest with the same Name
我正在尝试找到一种方法来选择特定 ID,读取其值并找到不同 ID 中具有相同名称的所有产品,并将第一个 ID X.values 乘以其他产品的变量不同的ID。
所以例如我有以下数据:
并且我想选择 ID = 1234 以查找与 1234 的产品关联的所有卷。在其他 ID 中查找具有相同名称的产品并将 ID = 1234 的每个产品卷乘以相同名称的产品X.Value 的另一个 ID,如下所示:
谢谢
在计算列中,您可以使用 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 值列表创建一个单独的 table,用作切片器:
ID List = DISTINCT ( Table1[ID] )
那我们可以用measure:
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/
我正在尝试找到一种方法来选择特定 ID,读取其值并找到不同 ID 中具有相同名称的所有产品,并将第一个 ID X.values 乘以其他产品的变量不同的ID。
所以例如我有以下数据:
并且我想选择 ID = 1234 以查找与 1234 的产品关联的所有卷。在其他 ID 中查找具有相同名称的产品并将 ID = 1234 的每个产品卷乘以相同名称的产品X.Value 的另一个 ID,如下所示:
谢谢
在计算列中,您可以使用 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 值列表创建一个单独的 table,用作切片器:
ID List = DISTINCT ( Table1[ID] )
那我们可以用measure:
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/