Power BI - 矩阵计数空白行
Power BI - Matrix Count Blank Rows
我创建了一个矩阵,其中包含销售员和他们访问过的化学家的数据。
我添加了计数公式
Customer Count = DISTINCTCOUNTNOBLANK('Source Data'[CustomerNameFull])
上面矩阵中的总数是拜访过药店的销售员的总数,我想计算销售员没有拜访过的药店的总数。即空白的计数。空白计数应与总值一起显示。
源文件:BI SAS
预期输出
下面是我想要的预期输出。零总数是非重复计数
非常感谢任何帮助。
您可以尝试这样的操作:
VAR AllChemists =
CALCULATETABLE (
VALUES ( Table[Chemist] ),
REMOVEFILTERS ( Table[Chemist] )
)
VAR VisitedChemists =
FILTER (
AllChemists,
CALCULATE (
DISTINCTCOUNT ( 'Source Data'[CustomerNameFull] )
) > 0
)
VAR RemainingChemists =
EXCEPT ( AllChemists, VisitedChemists )
VAR Result =
COUNTROWS (
FILTER (
RemainingChemists,
Table[Chemist] IN VALUES ( Table[Chemist] )
)
)
RETURN
Result
根据预期效果,我提出以下措施。一个来计算所选 salesman/salesmen:
的独特未访问化学家
Unvisited Chemists :=
VAR _customerCount = CALCULATE ( DISTINCTCOUNTNOBLANK ( 'Source Data'[CustomerNameFull] ) , ALLSELECTED ( Dates ) )
VAR _visitedCount = [Customer Count]
RETURN _customerCount - _visitedCount
还有一个用于格式化矩阵:
Customer Count w/ Unvisited =
IF ( [Customer Count] <> BLANK () ,
SWITCH (
TRUE (),
NOT ISINSCOPE ( 'Source Data'[CustomerNameFull] ) && ISINSCOPE ( Dates[Month] ) ,
[Customer Count] & " (" & [Unvisited Chemists] & ")" ,
FORMAT ( [Customer Count] , "#" )
)
)
请注意,我在这里使用日期 table 而不是在 INVDATE
列上使用自动 date/time。无论如何,这被认为是最佳实践。请记住设置正确的排序列,请参阅此处的指南:https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-sort-by-column
我用过简单的日期table:
Dates =
ADDCOLUMNS (
CALENDARAUTO () ,
"Year" , YEAR ( [Date] ) ,
"MonthNo" , MONTH ( [Date] ) ,
"Month" , FORMAT ( [Date] , "MMMM" )
)
数据模型如下所示:
结果如下所示:
我创建了一个矩阵,其中包含销售员和他们访问过的化学家的数据。
我添加了计数公式
Customer Count = DISTINCTCOUNTNOBLANK('Source Data'[CustomerNameFull])
上面矩阵中的总数是拜访过药店的销售员的总数,我想计算销售员没有拜访过的药店的总数。即空白的计数。空白计数应与总值一起显示。
源文件:BI SAS
预期输出
下面是我想要的预期输出。零总数是非重复计数
非常感谢任何帮助。
您可以尝试这样的操作:
VAR AllChemists =
CALCULATETABLE (
VALUES ( Table[Chemist] ),
REMOVEFILTERS ( Table[Chemist] )
)
VAR VisitedChemists =
FILTER (
AllChemists,
CALCULATE (
DISTINCTCOUNT ( 'Source Data'[CustomerNameFull] )
) > 0
)
VAR RemainingChemists =
EXCEPT ( AllChemists, VisitedChemists )
VAR Result =
COUNTROWS (
FILTER (
RemainingChemists,
Table[Chemist] IN VALUES ( Table[Chemist] )
)
)
RETURN
Result
根据预期效果,我提出以下措施。一个来计算所选 salesman/salesmen:
的独特未访问化学家Unvisited Chemists :=
VAR _customerCount = CALCULATE ( DISTINCTCOUNTNOBLANK ( 'Source Data'[CustomerNameFull] ) , ALLSELECTED ( Dates ) )
VAR _visitedCount = [Customer Count]
RETURN _customerCount - _visitedCount
还有一个用于格式化矩阵:
Customer Count w/ Unvisited =
IF ( [Customer Count] <> BLANK () ,
SWITCH (
TRUE (),
NOT ISINSCOPE ( 'Source Data'[CustomerNameFull] ) && ISINSCOPE ( Dates[Month] ) ,
[Customer Count] & " (" & [Unvisited Chemists] & ")" ,
FORMAT ( [Customer Count] , "#" )
)
)
请注意,我在这里使用日期 table 而不是在 INVDATE
列上使用自动 date/time。无论如何,这被认为是最佳实践。请记住设置正确的排序列,请参阅此处的指南:https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-sort-by-column
我用过简单的日期table:
Dates =
ADDCOLUMNS (
CALENDARAUTO () ,
"Year" , YEAR ( [Date] ) ,
"MonthNo" , MONTH ( [Date] ) ,
"Month" , FORMAT ( [Date] , "MMMM" )
)
数据模型如下所示:
结果如下所示: