数据透视过滤器名称:Country_Flg,它需要2个不同的值,这些是0,1。我正在过滤我的支点,因为只有 Counrty_Flg = 1 。
在某些情况下,数据透视表源更新和Country_Flg只需0或1.当值仅为1时没有问题,但当值仅为0时,我的过滤器更改并采用 Counrty_Flg = 0 < / strong>即可。我的仪表板以这个数据透视表为基础。因此,仪表板上显示错误的值。此外,当重新更新枢轴来源时,仍然为0 。
我无法找到一种在所有条件下将值固定为1的方法。
源数据更新后,我的过滤器值正在变化,因为1不再存在。
enter image description here enter image description here
但我不想过滤为0.我需要如果1不存在,那么枢轴不应该带来任何价值。
答案 0 :(得分:0)
这是我提到的一个例子(考虑到可旋转布局的约束保持不变),你可以尝试设置为1,否则你必须默认为0(如果1不存在)。这将在与枢轴关联的工作表的代码窗格中。我在页面区域使用了与你相同的拼写。不理想,但我能想到最好,因为你不能过滤到不存在的价值。如果刷新时存在过滤器,它会将过滤器重置为1.
Option Explicit
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "PivotTable1" Then 'change to your pivot name
Application.EnableEvents = False
Dim pvtField As PivotField
Set pvtField = Target.PivotFields("Counrty_Flg")
On Error GoTo DefaultValue
With pvtField
.ClearAllFilters
.CurrentPage = "1"
End With
Application.EnableEvents = True
End If
Exit Sub
DefaultValue:
If Err.Number <> 0 Then
With pvtField
.ClearAllFilters
.CurrentPage = "0"
End With
Application.EnableEvents = True
End If
End Sub
图像: