更多过滤器适用于 DAX
more filter apply on the DAX
美好的一天!
请求
以下是我的原始数据,应用了一些条件来检查哪些列需要被统计。
示例:
- 第1行,方向为出口,部门代码不以'D'开头,
将计算所有 6 列(ETD、ATD、ETA、ATA、预计送达,
Actual Delivery) ,只填了5个,所以得到83作为
百分比。
- 第2行,出口方向,部门代码起始
使用 'D',将只计算 4 列(ETA、ATA、预计交货
和Actual Delivery),只填了2个,所以得50%。
我现在拥有的:
我有一个代码,但它只显示所有列以及哪一列已被填充,我需要一些帮助来计算上述条件。
DAX:(计算不为空)
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var tab = {RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]}
var result =
COUNTROWS(
FILTER(
tab,
[Value]<>BLANK()))
return
IF(
ISBLANK(result),
0,
result
) ),[Count])
DAX:计算空白
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var tab = {RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]}
var result =
COUNTROWS(
FILTER(
tab,
[Value]=BLANK()))
return
IF(
ISBLANK(result),
0,
result
) ),[Count])
任何帮助将不胜感激。
附上我的 pbix:https://drive.google.com/file/d/1KIROrAzNEp710JEfxMfiZLzvTpuHj3OZ/view?usp=sharing
谢谢!
对于计数,我添加了“D”的决策;
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var Dep = RawData[Dep]
var res1 = COUNTROWS(
FILTER(
{RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
NOT ISBLANK([Value])
)
)
var res2 = COUNTROWS(
FILTER(
{RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
NOT ISBLANK([Value])
)
)
return if (LEFT(Dep, 1) = "D", res1, res2)
),
[Count]
)
我也按照你的逻辑使用了 Counts 度量:
Counts =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var Dep = RawData[Dep]
var res1 = COUNTROWS(
FILTER(
{RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
ISBLANK([Value])
)
)
var res2 = COUNTROWS(
FILTER(
{RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
ISBLANK([Value])
)
)
return if (LEFT(Dep, 1) = "D", res1, res2)
),
[Count]
)
然后我添加了度量 %
% = RawData[Count]/RawData[Total]
结果:
我相信你最好使用计算列,但没有使用它们,因为你已经选择了度量。
如果我从头开始,我会在 power query 中使用 unpivot table 是什么让编码更动态
美好的一天!
请求
以下是我的原始数据,应用了一些条件来检查哪些列需要被统计。
示例:
- 第1行,方向为出口,部门代码不以'D'开头,
将计算所有 6 列(ETD、ATD、ETA、ATA、预计送达,
Actual Delivery) ,只填了5个,所以得到83作为
百分比。 - 第2行,出口方向,部门代码起始 使用 'D',将只计算 4 列(ETA、ATA、预计交货 和Actual Delivery),只填了2个,所以得50%。
我现在拥有的:
我有一个代码,但它只显示所有列以及哪一列已被填充,我需要一些帮助来计算上述条件。
DAX:(计算不为空)
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var tab = {RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]}
var result =
COUNTROWS(
FILTER(
tab,
[Value]<>BLANK()))
return
IF(
ISBLANK(result),
0,
result
) ),[Count])
DAX:计算空白
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var tab = {RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]}
var result =
COUNTROWS(
FILTER(
tab,
[Value]=BLANK()))
return
IF(
ISBLANK(result),
0,
result
) ),[Count])
任何帮助将不胜感激。
附上我的 pbix:https://drive.google.com/file/d/1KIROrAzNEp710JEfxMfiZLzvTpuHj3OZ/view?usp=sharing
谢谢!
对于计数,我添加了“D”的决策;
Count =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var Dep = RawData[Dep]
var res1 = COUNTROWS(
FILTER(
{RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
NOT ISBLANK([Value])
)
)
var res2 = COUNTROWS(
FILTER(
{RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
NOT ISBLANK([Value])
)
)
return if (LEFT(Dep, 1) = "D", res1, res2)
),
[Count]
)
我也按照你的逻辑使用了 Counts 度量:
Counts =
SUMX(
ADDCOLUMNS(
RawData,
"Count",
var Dep = RawData[Dep]
var res1 = COUNTROWS(
FILTER(
{RawData[ETD],RawData[ATD],RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
ISBLANK([Value])
)
)
var res2 = COUNTROWS(
FILTER(
{RawData[ETA],RawData[ATA],RawData[Estimated Delivery],RawData[Actual Delivery]},
ISBLANK([Value])
)
)
return if (LEFT(Dep, 1) = "D", res1, res2)
),
[Count]
)
然后我添加了度量 %
% = RawData[Count]/RawData[Total]
结果:
我相信你最好使用计算列,但没有使用它们,因为你已经选择了度量。
如果我从头开始,我会在 power query 中使用 unpivot table 是什么让编码更动态