一份做好的看板,常会被这样一句话卡住:
“你这两个数对不上。卡片上写华东 1280 万,我点了一下 A 产品那根柱子,卡片就变成 192 万了。到底哪个对?”
都对。1280 万是华东全部产品,192 万是华东的 A 产品。问题不在计算,而在于你刚才那一下点击,往这个数字身上加了一个条件,旁边的图却未必跟着变。切片器、交叉筛选、钻取看着都在“筛”,改的却不是同一层条件。
三种交互各改哪一层
先回顾一下:每个数字算出来时,都带着一组筛选条件。Power BI 把筛选器分成四类:视觉对象级(只影响一个图)、页面级、报表级,以及 钻取筛选器。钻取筛选器不属于任何一层页面,决定的是“跳到另一页时带什么条件过去” 5。
切片器 是摆在画布上的常驻筛选器,效果接近页面级筛选:一旦选中,这一页每个图都按它重算。默认它会筛选页面上所有其他视觉对象,包括其他切片器 4。
交叉筛选 由点击产生,是临时的。它有两种动作,区别很大:
- 交叉筛选 真的删掉无关数据,折线图、散点图、地图上只剩被选中的那部分点。
- 交叉突出显示 不删数据,只把无关部分变暗,柱状图、条形图、饼图默认是这种表现 1。
卡片这类只有一个数字的视觉对象没有“变暗”这回事,只能被筛。 这就是开头那个场景的由来:你点了 A 产品的柱子,折线图只是变暗、形状还在,卡片却直接重算成 192 万。读者看到的两张图,一个像没反应,一个像被改掉了。
钻取 不改当前页,而是带着选中项跳到明细页,目标页的条件由钻取筛选器决定 6。配套有个“保留所有筛选”(Keep all filters)开关:打开它,来源页的切片器选择和页面筛选会一起搬到目标页;关掉就只保留钻取的那一个字段 8。这也是“我钻到明细页,记录怎么只有 3 条”的常见来源。
还有一个容易混淆的动作:向下钻取(在日期层次里从年点到月)只改一张图自己的展开层次,默认不影响页面上其他视觉对象 2。
叠加起来是取交集,与顺序无关
沿用那组数:全公司 5600 万,华东 1280 万;A 产品全公司 420 万,其中华东 192 万。
选了“华东”切片器,又点了 A 产品的柱子,卡片上是 192 万——华东的 A 产品。它既不是 1280 万(只有地区条件),也不是 420 万(只有产品条件),更不是“后点覆盖先点”得到的某个单条件结果。先点柱子再选切片器,结果一样。
顺带看出:192 万 ÷ 1280 万 = 15%,420 万 ÷ 5600 万 = 7.5%。同一个产品,分母不同,占比就不同。所以争论“哪个数对”之前,先问:这个数字的分母是谁。
两处最容易算错的地方
一、占比的分母被一起筛掉了。 在产品类别表里用“占列总计百分比”这类快速算法,点 A 产品后,这张图只剩一行,列总计也只剩它自己,占比变成 100%。
自己写度量值也同理。占比 = DIVIDE([销售额], CALCULATE([销售额], ALL(产品表))) 里,ALL 把产品上的筛选一律清掉,包括点柱子传来的那一个,分母仍是华东的 1280 万,占比稳定在 15%。想让它跟着切片器重新算,用 ALLSELECTED:它只忽略当前这张图自己造成的筛选,保留其他视觉对象传来的条件 7。
反直觉的地方在这里:交叉筛选属于“其他视觉对象传来的条件”,ALLSELECTED 会把它保留,于是点完柱子,分母缩到 192 万,占比照样跳到 100%。两种写法没有谁更“正确”,区别在你要回答哪个问题——占比要不要随着点选变化。这一点得先想清楚,再写公式。
二、视觉对象级的筛选会跟着点击传出去。 文档写明:交叉筛选与突出显示时,视觉对象级筛选会被保留,A 图上的这类筛选会一起加到被它交互的 B 图上 2。所以某张图单独设过“只看直营渠道”,从它点出去,旁边的合计也跟着小一截。这不是错误行为,但很难当场看懂。
交付前值得动手做的三件事
- 选中切片器,或在“格式”里打开“编辑交互”,每个图右上角会出现三个选项:筛选、突出显示、无。页眉的总计卡片、说明性图表选“无” 3。折线图、散点图、地图只能被筛选、不能被突出显示 3,它们旁边放数字卡片时,数字会随点击直接变。
- 占比的分母按问句定,标题里写清基准(“占华东销售额”还是“占全公司销售额”)。
- 自己把每个能点的东西点一遍,列出“这一下该变哪些图、不该变哪些图”。真实看板里的错几乎都是在这一步发现的——不是算错,而是某个该隔离的图没隔离,或某个该固定基准的占比跟着缩了。
切片器是常驻的条件,交叉筛选是临时的条件,钻取是换页时随行的条件。它们叠加时不互相覆盖,只取交集。一直追问“这个数字现在带着哪几个条件、分母是谁”,那些“对不上的数字”大多当场就能解释清楚。