使用过滤器从其他表创建计算的度量

时间:2019-08-16 11:27:03

标签: powerbi dax

我有四个表已尝试相关和不相关:

  1. 商店(“商店编号”列)
  2. 日历(“销售日期”列)
  3. SKU(“ SKU代码”列)
  4. 销售(列“商店编号”,“销售日期”,   “ SKU代码”和“销售数量”)

我在Calendar和SKU表上有切片器

我需要列出所有商店,每个商店的总数为"Sales Quantity",同时将销售数量限制为上述两个切片器。基本上,我需要列出以下列:

  1. 商店编号-从“商店”表中(不通过切片器过滤)
  2. 商店名称-从“商店”表中(不通过切片器过滤)
  3. 商店的总销售量-通过日历和SKU切片器过滤的计算量度

所以我的问题是,创建计算的度量值需要什么DAX?

请注意,无论是否在规定的时间内有销售,我都必须列出所有商店。

我尝试了各种DAX功能,例如TREATASSUMMARIZE,ETC。 我尝试过有无活跃关系以及无关系。 我最接近的是下面的代码,但是不包括零销售额的商店。我需要所有商店,而不管它们的销售额。

Qty by Store = CALCULATE(
    sum(Sales[Sales Qty])
    ,USERELATIONSHIP(
        Sales[Store Number]
        ,Store[Store Number]
    )
)

我管理的输出问题是没有销售的商店从列表中排除了。我需要包含它们。

2 个答案:

答案 0 :(得分:1)

保持该关系处于活动状态,并将DAX公式更改为

let str = "#tweak #wow #gaming" 
if let regex = try? NSRegularExpression(pattern: "#[a-z0-9]+", options: .caseInsensitive) {
    let nsRange = NSRange(str.startIndex..., in: str)
    let strings = regex.matches(in: str, range: nsRange).compactMap {
        Range($0.range, in: str).map { str[$0] }
    }
    print(strings)
}

不需要Qty by Store = VAR res = sum(Sales[Sales Quantity]) RETURN IF (ISBLANK(res), 0, res) 。关系USERELATIONSHIP()已处于活动状态。表格中的商店数量发生变化的原因是,当没有特定商店的销售Store - Sales时,度量返回Qty by store,而这些BLANK被表格过滤掉。

结果:

enter image description here

答案 1 :(得分:1)

使空白返回零的一种简单方法是将+0附加到度量公式中。

Qty by Store = SUM ( Sales[Sates Quantity] ) + 0

这行得通,因为DAX计算了BLANK() + 0 = 0

相关问题