dax - 2个DAX问题(根据同一张表和另一张表的条件从一个表中添加行)

标签 dax

假设您有 3 个表:

Table Fact Seller  : seller_code,  seller_name,  manager_code
Table Fact Manager : manager_code, manager_name 
Table Fact Product : product_code, product_name, seller_code

键之间已经建立了关系。

我想计算两个方面:

1) 活跃卖家的数量。如果卖家在 Fact Product 中有任何(1 个或多个)产品,则该卖家是活跃的。

我想知道如何计算这个。会是这样的 =CALCULATE(DISTINCTCOUNT('事实卖家'[seller_code]);[此处过滤]))

[filter here] 中,我需要像 FILTER(COUNTROWS('Fact Product';'Fact Product'[manager_code])>=1) 这样的东西,以获得只有事实卖家中至少拥有一种产品的卖家。我想我需要使用关键字 VALUES() 但我没有找到正确的语法。

我想知道执行此操作的更好方法或模式。

2) 有经理的卖家数量。请注意,当检索数据时,如果卖家没有经理,则字段 manager_code 的值为“-1”。所以我可以这样做:

=CALCULATE(DISTINCTCOUNT('Fact Seller'[seller_code]);FILTER('Fact Seller';'Fact Seller'[manager_code]>=1))

所以这是表格内的过滤器。这行得通,但我想知道是否有更好的方法或模式。

你能帮忙吗?

亲切的问候

最佳答案

对于您的第一个问题,您可以创建一个 calculated column称为“主动”。这将确定该行的卖家是否活跃。

=IF(
  CALCULATE(
    COUNTROWS('Fact Product'),
    ALL('Fact Product'),
    'Fact Product'[seller_code]=EARLIER('Fact Seller'[seller_code])
  )<1,FALSE(),TRUE()
 )

现在您可以创建一个度量,使用这个新列来获取活跃卖家总数

ActiveSellers:=CALCULATE(
 DISTINCTCOUNT('Fact Seller'[seller_code]),
 'Fact Seller'[Active]=TRUE()
)

对于你的第二个问题,你的陈述可以缩短为

SellersWithManagers:=CALCULATE(
 DISTINCTCOUNT('Fact Seller'[seller_code]),
 'Fact Seller'[manager_code]<>-1
)

关于dax - 2个DAX问题(根据同一张表和另一张表的条件从一个表中添加行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28880596/

相关文章:

powerbi - DAX语法如何在使用表变量时引用原始表名?

powerbi - 如何创建一个开关来切换要使用的关系?

excel - 按等级限制累积总和

dax - 由 DAX 中的汇总函数产生的列的总和

powerbi - Power BI,对具有两个条件的多个表求和的问题

powerbi - Power BI - 趋势颜色变化的折线图

t-sql - Power BI 字段参数过滤

powerbi - OLE DB 或 ODBC 错误 : We cannot convert the value null to type Logical

sum - PowerBI Veil 总计是否有不符合阈值的公开单元格值

powerbi - 基于不同 ID 的平均分数