power bi dax修改切片器的选定值



我是powerbi dax的新手,如果有人能帮忙,我将不胜感激。

我有一个包含所有销售、材料id、数量、客户id和交货日期的销售表,一个包含客户id的客户表和一个包含材料id、商定价格、协议期限和客户id的合同表。

和往常一样,客户可以下任何订单,但那些与特定材料签订合同的客户在一段时间内会有特殊的价格。97%的合同客户拥有相同的客户id合同和销售表,但有3%的合同客户有其他合作伙伴(客户id不在合同表中(也在同一合同下下单。我已经设法根据合同创建了一个矩阵,其中包含合同中所有材料的所有数量、销售和交付日期。我在将合作伙伴签订的合同下的销售额包括在矩阵中时遇到了问题,因为我在钻孔时无法正确修改切片器或合同矩阵中行的选定值。

我认为应该有这样的东西(可能在变量中(:
if selectedvalue(customerID(="1〃;则考虑customerID=OR(20,33,45,1(;如果selectedvalue(客户id(=";13〃;则考虑customerID=或(72,42,63(;否则不要修改selectedvalue(customerID(将上一个条件函数的原始或修改后的选定值应用于特定时间段内计算总销售额和数量的度量。

非常感谢。

这可以通过使用SWITCH函数来解决,比如

Measure = 
var selVal = SELECTEDVALUE(customerID)
return
SWITCH(
TRUE(),
selVal in {"1", "20", "33", "45"}, CALCULATE( EXPRESSION, customerID in {"1", "20", "33", "45"} ),
selVal in {"13", "42", "63", "72"}, CALCULATE( EXPRESSION, customerID in {"13", "42", "63", "72"} ),
CALCULATE( EXPRESSION )
)

根据你的模型的外观,总有更好的方法可以做到这一点。但这应该基于我对数据表外观的猜测。下次请提供样本数据和型号说明。

感谢OscarLabr,但您的建议不起作用。返回的结果与我没有考虑合作伙伴的结果相同。

这是我的型号

型号

示例数据将是:可视化的,带有下一列的表:";出售给";[卖方]=";1〃;(customerID也存在于表"Unic Contracts"中("Contract Unic Mat";[材料]=";B";(productID(、"Unic合同";[销售文件](该客户拥有的所有合同(。我想从表"中找到这种材料B的所有确认数量;PO";对于表"中的所有卖方,交货日期在有效期至有效期之间;Unic PO"="1〃"20〃"33〃"45〃;(20、33、45不存在于"Unic合同"中,它们是合作伙伴(。我有一个激活的钻取选项,当我在可视化中从表中选择一行时,它会为我提供所需的所有结果。

对于客户ID="0";2〃;没有合作伙伴下订单,我的模型非常有效。

我希望以上信息能帮助你更好地理解我的问题。