在 Power BI 中的两个表之间使用三个不同的列进行计数
Count with three different column in-between two tables in Power BI
我有两个 table 是数据和报告。
数据
数据table包含以下三列,分别是Check、Supplier Status和Condition。
举报
报告table仅包含供应商状态。
结果
我正在尝试根据基于检查(预期“NA”)和条件(=X)的供应商状态获取计数,仅从数据 table 到报告 table。
我正在尝试根据条件 =X
的供应商状态(期望“NA”)来计算 Ok 和 Not Ok
数据
想要的结果:
SUPPLIER STATUS NOT OK OK
A1 5 5
A2 4 4
A3 3 3
A4 2 2
A5 1 1
MIXED 1 3
CHECK SUPPLIER STATUS CONDITION
OK A1 X
OK A1 X
OK A1 X
OK A1 X
OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
OK A2 X
OK A2 X
OK A2 X
OK A2 X
NOT OK A2 X
NOT OK A2 X
NOT OK A2 X
NOT OK A2 X
OK A3 X
OK A3 X
OK A3 X
NOT OK A3 X
NOT OK A3 X
NOT OK A3 X
OK A4 X
OK A4 X
NOT OK A4 X
NOT OK A4 X
OK A5 X
NOT OK A5 X
OK MIXED X
OK MIXED X
OK MIXED X
NOT OK MIXED X
OK NA NA
OK NA NA
OK NA NA
NOT OK NA NA
NOT OK NA NA
NOT OK NA NA
我实际上会使用度量,而不是计算列。要像在视觉中那样获得测量过滤器结果,您需要使用 CALCULATE
/FILTER
函数的组合。
https://docs.microsoft.com/en-us/dax/calculate-function-dax
https://docs.microsoft.com/en-us/dax/filter-function-dax
Count = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X"))
将此度量放入矩阵视觉对象的值容器中。
您还可以有一个单独的度量来计算 OK 和 NOR OK,例如:
#Not OK = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X" && DATA[SUPPLIER STATUS] = "NOT OK"))
#OK = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X" && DATA[SUPPLIER STATUS] = "OK"))
我有两个 table 是数据和报告。
数据
数据table包含以下三列,分别是Check、Supplier Status和Condition。
举报
报告table仅包含供应商状态。
结果
我正在尝试根据基于检查(预期“NA”)和条件(=X)的供应商状态获取计数,仅从数据 table 到报告 table。
我正在尝试根据条件 =X
的供应商状态(期望“NA”)来计算 Ok 和 Not Ok数据
想要的结果:
SUPPLIER STATUS NOT OK OK
A1 5 5
A2 4 4
A3 3 3
A4 2 2
A5 1 1
MIXED 1 3
CHECK SUPPLIER STATUS CONDITION
OK A1 X
OK A1 X
OK A1 X
OK A1 X
OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
NOT OK A1 X
OK A2 X
OK A2 X
OK A2 X
OK A2 X
NOT OK A2 X
NOT OK A2 X
NOT OK A2 X
NOT OK A2 X
OK A3 X
OK A3 X
OK A3 X
NOT OK A3 X
NOT OK A3 X
NOT OK A3 X
OK A4 X
OK A4 X
NOT OK A4 X
NOT OK A4 X
OK A5 X
NOT OK A5 X
OK MIXED X
OK MIXED X
OK MIXED X
NOT OK MIXED X
OK NA NA
OK NA NA
OK NA NA
NOT OK NA NA
NOT OK NA NA
NOT OK NA NA
我实际上会使用度量,而不是计算列。要像在视觉中那样获得测量过滤器结果,您需要使用 CALCULATE
/FILTER
函数的组合。
https://docs.microsoft.com/en-us/dax/calculate-function-dax
https://docs.microsoft.com/en-us/dax/filter-function-dax
Count = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X"))
将此度量放入矩阵视觉对象的值容器中。
您还可以有一个单独的度量来计算 OK 和 NOR OK,例如:
#Not OK = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X" && DATA[SUPPLIER STATUS] = "NOT OK"))
#OK = CALCULATE(COUNTROWS(DATA), FILTER(DATA, DATA[CONDITION] = "X" && DATA[SUPPLIER STATUS] = "OK"))