【问题标题】:power bi dax modifying selectedvalue of a slicerpower bi dax 修改切片器的选定值
【发布时间】:2021-05-11 14:53:47
【问题描述】:

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

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

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

我认为应该有类似的东西(可能在变量中):
如果 selectedvalue(customerID)= "1" 然后考虑 customerID = OR(20,33,45,1);如果 selectedvalue(customer id)= "13" 然后考虑 customerID = or(72,42,63);否则不要修改 selectedvalue(customerID) 将先前条件函数的原始或修改后的选定值应用于计算特定时间段内的总销售额、数量的度量。

非常感谢。

【问题讨论】:

  • 请分享一些示例数据。

标签: powerbi dax selectedvalue


【解决方案1】:

这可以通过使用 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 )
)

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

【讨论】:

    【解决方案2】:

    感谢 OscarLabr,但您的建议无效。不考虑伙伴,返回的结果和我一样。

    这里有我的模型

    model

    示例数据将是:可视化的表格,接下来的列:“Sold-to” [Sold-to Party] ="1"(customerID 也存在于表“Unic Contracts”中); "Contract Unic Mat" [Material] ="B" (productID), 'Unic Contracts"[sales document](此客户拥有的所有合同)。 我想从表“PO”中找到此材料 B 的所有已确认数量,交货日期介于“Unic PO”=“1”、“20”、“ 33”、“45”(20、33、45 不存在于“Unic 合同”中,它们是合作伙伴)特定的“Unic 合同”[销售文件]。 我有一个激活的钻取选项,当我从视觉中的表中选择一行时,它可以提供我需要的所有结果。

    对于没有合作伙伴下订单的客户 ID="2",我的模型完全可以工作。

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

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 1970-01-01
      • 2019-03-10
      • 2020-05-15
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 2022-12-28
      相关资源
      最近更新 更多