我创建了一个矩阵,其中包含访问过的销售员和他们的化学家的数据。
我添加了一个计数公式
Customer Count = DISTINCTCOUNTNOBLANK('Source Data'[CustomerNameFull])
上述矩阵中的总数是拜访化学家的销售员的总数,同时我想计算销售员未拜访的化学家的总数。即空白的计数。空白计数应与总值一起显示。
源文件:BI SAS
预期产出
以下是我想要的预期输出。零总数是非重复计数
任何帮助将不胜感激。
答案 0 :(得分:2)
在取得预期结果后,我提出以下措施。一个计算所选推销员/推销员的不同未访问化学家:
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] , "#" )
)
)
请注意,这里我使用的是日期表,而不是在 INVDATE
列上使用自动日期/时间。无论如何,这被认为是最佳实践。请记住设置正确的排序列,请参阅此处的指南:https://docs.microsoft.com/en-us/power-bi/create-reports/desktop-sort-by-column
我使用了一个简单的日期表:
Dates =
ADDCOLUMNS (
CALENDARAUTO () ,
"Year" , YEAR ( [Date] ) ,
"MonthNo" , MONTH ( [Date] ) ,
"Month" , FORMAT ( [Date] , "MMMM" )
)
数据模型如下所示:
结果如下:
答案 1 :(得分:0)
你可以试试这样的:
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