【问题标题】:How do I manipulate measure values based on 2 other dimension tables如何根据其他 2 个维度表操作度量值
【发布时间】:2021-01-30 10:49:04
【问题描述】:

这里是 Power BI 新手,我正在尝试了解如何制作我的 DAX 以根据其他两个表中的某些标准来操纵我的度量值。

目前我有 2 个单独的表,它们通过一对多关系和一个单独的度量表连接。 (总销售价格计算为销售价格的总和)

我的目标是创建一个新的度量,当 DIM_Product_Type[Product Category] ​​= "High" 时,总销售价格乘以 1.5 倍。

New Measure = 
    CALCULATE (
        SUM ( FACT_PriceDetails[Sales Price] ),
        FILTER ( DIM_Product_Type, DIM_Product_Type[Product Category] = "High" )
    ) * 1.5

但是,这在我的视觉中没有返回任何值,我试图辨别它是表连接还是 DAX 表达式的问题。

感谢您的宝贵时间!

【问题讨论】:

  • 您的“产品序列号”是否属于同一数据类型?如果是这样,您实际上是否有 Category = "High" 的值?

标签: powerbi powerbi-desktop


【解决方案1】:

你的衡量标准似乎不错。

它将仅选择产品类别为“高”的产品,并将它们乘以 1.5 以得出结果。即给我所有“高”产品类别价格详细信息的总和乘以 1.5。

你需要检查的是:

  1. 两个表的产品序列号匹配
  2. 您的产品类别确实包含“高”类别
  3. 您在 FACT_PriceDetails 中有条目链接到类别为“高”的 DIM_Product_Type
  4. 检查您没有设置任何可能会劫持您的结果的过滤器(例如,排除“高”产品类别产品类型或相关事实)

【讨论】:

    【解决方案2】:

    选项-1

    您可以在 Power Query Editor 中进行一些转换,以创建一个新列 new sales price,并应用如下所述的条件-

    首先,合并你的DimFact表,将Product Category价值带入你的事实表如下-

    合并后展开表格后,您在每一行中都有 产品类别 值。现在创建一个自定义列,如下所示-

    最后,您可以转到您的报告并使用新列新销售价格

    创建您的总销售额度量

    选项 2

    您也可以使用 DAX 将其存档,如下所述-

    首先,创建一个自定义列如下-

    sales amount new = 
    if(
        RELATED(dim_product_type[product category]) = "High",
        fact_pricedetails[sales price] * 1.5,
        fact_pricedetails[sales price]
    )
    

    现在创建您的总销售额指标,如下所示-

    total_sales_amount = SUM(fact_pricedetails[sales amount new])
    

    对于上述两种情况,您将获得相同的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多