Qlikview 有条件地隐藏数据透视表 table 中的表达式
Qlikview conditionally hide expression in pivot table
正在努力寻找一种方法来隐藏下面我的数据透视表 table 中某些行的表达式。基本上,当 FINANCIAL_PLAN_TYPE 不等于 'OB_VARIANCE_TO_T1' 时,我希望能够隐藏我的表达式 'Cumulative'。我想出了一种方法来更改与其他 FINANCIAL_PLAN_TYPE 行上的文本格式,使其显示为隐藏(下图中显示的内容),但在这些情况下我真的希望整行都消失.
此外,如果可能的话,我不想在累积行上看到总计,但我确实希望将它们保留在 Sum(AMOUNT) 行上。
我的 Cumulative 表达式是:
sum(aggr(Rangesum(above(sum({<YEAR={"$(vYear_Current)"},FINANCIAL_PLAN_TYPE={"OB_VARIANCE_TO_T1"}>}AMOUNT),0,MONTH_NUM)), FINANCIAL_PLAN_TYPE, MONTH_NUM))
我尝试使用 Only 函数,并且我有条件地 enabling/disabling 尝试了表达式,但我似乎无法让它工作。任何想法都会很棒。谢谢!
最终解决方案:
1) 加载内联 Table
Load * Inline
[MyDim
Cumulative
Vals
];
2) 创建计算维度以将两个所需维度合并为一个维度,并在您不想显示的情况下显示空白 ('')(这会在数据透视表上留下一个空白行,但可能有一种方法也隐藏它):
=If(MYDim='Cumulative' and FINANCIAL_PLAN_TYPE='OB_VARIANCE_TO_T1','Orig Budg Cumulative Variance',if(MYDim='Cumulative' and FINANCIAL_PLAN_TYPE='LE_VARIANCE_TO_T1','LE Cumulative Variance',if(MYDim <> 'Cumulative',FINANCIAL_PLAN_TYPE,'')))
3) 创建一个新表达式,在您的虚构维度 = 值 A 的情况下进行一次计算,在您计算的维度 = 值 B 的情况下进行其他计算
If(MYDim='Cumulative' and (FINANCIAL_PLAN_TYPE='OB_VARIANCE_TO_T1' OR FINANCIAL_PLAN_TYPE='LE_VARIANCE_TO_T1'),If(ColumnNo()=0,'',sum(aggr(Rangesum(above(sum({<YEAR={"$(vYear_Current)"}, DEPARTMENT={"20820"}, ACCT_TYPE={"Capital"}>}AMOUNT),0,MONTH_NUM)),
FINANCIAL_PLAN_TYPE, MONTH_NUM))),IF(MYDim='Vals', SUM({<ACCT_TYPE={"Capital"},DEPARTMENT={"20820"}>}AMOUNT)))
您不能隐藏某些行上的表达式 - 在 Qlikview 中是不可能的。
解决方法是创建一个虚拟浮动 table 将第二列作为维度,然后在图表中使用它而不是两个表达式。然后你会有一个表达类似这样的话:
If ( dummyField = 'Cummulative' and = 'OB_VARIANCE_TO_T1',
{Use your second expression here} ,
If (dummyField = 'sum(Amount)', {use your original first expression here}))
关于总计,请查看 "Tricking the Pivot Table" 部分中的 link
正在努力寻找一种方法来隐藏下面我的数据透视表 table 中某些行的表达式。基本上,当 FINANCIAL_PLAN_TYPE 不等于 'OB_VARIANCE_TO_T1' 时,我希望能够隐藏我的表达式 'Cumulative'。我想出了一种方法来更改与其他 FINANCIAL_PLAN_TYPE 行上的文本格式,使其显示为隐藏(下图中显示的内容),但在这些情况下我真的希望整行都消失.
此外,如果可能的话,我不想在累积行上看到总计,但我确实希望将它们保留在 Sum(AMOUNT) 行上。
我的 Cumulative 表达式是:
sum(aggr(Rangesum(above(sum({<YEAR={"$(vYear_Current)"},FINANCIAL_PLAN_TYPE={"OB_VARIANCE_TO_T1"}>}AMOUNT),0,MONTH_NUM)), FINANCIAL_PLAN_TYPE, MONTH_NUM))
我尝试使用 Only 函数,并且我有条件地 enabling/disabling 尝试了表达式,但我似乎无法让它工作。任何想法都会很棒。谢谢!
最终解决方案:
1) 加载内联 Table
Load * Inline
[MyDim
Cumulative
Vals
];
2) 创建计算维度以将两个所需维度合并为一个维度,并在您不想显示的情况下显示空白 ('')(这会在数据透视表上留下一个空白行,但可能有一种方法也隐藏它):
=If(MYDim='Cumulative' and FINANCIAL_PLAN_TYPE='OB_VARIANCE_TO_T1','Orig Budg Cumulative Variance',if(MYDim='Cumulative' and FINANCIAL_PLAN_TYPE='LE_VARIANCE_TO_T1','LE Cumulative Variance',if(MYDim <> 'Cumulative',FINANCIAL_PLAN_TYPE,'')))
3) 创建一个新表达式,在您的虚构维度 = 值 A 的情况下进行一次计算,在您计算的维度 = 值 B 的情况下进行其他计算
If(MYDim='Cumulative' and (FINANCIAL_PLAN_TYPE='OB_VARIANCE_TO_T1' OR FINANCIAL_PLAN_TYPE='LE_VARIANCE_TO_T1'),If(ColumnNo()=0,'',sum(aggr(Rangesum(above(sum({<YEAR={"$(vYear_Current)"}, DEPARTMENT={"20820"}, ACCT_TYPE={"Capital"}>}AMOUNT),0,MONTH_NUM)),
FINANCIAL_PLAN_TYPE, MONTH_NUM))),IF(MYDim='Vals', SUM({<ACCT_TYPE={"Capital"},DEPARTMENT={"20820"}>}AMOUNT)))
您不能隐藏某些行上的表达式 - 在 Qlikview 中是不可能的。 解决方法是创建一个虚拟浮动 table 将第二列作为维度,然后在图表中使用它而不是两个表达式。然后你会有一个表达类似这样的话:
If ( dummyField = 'Cummulative' and = 'OB_VARIANCE_TO_T1',
{Use your second expression here} ,
If (dummyField = 'sum(Amount)', {use your original first expression here}))
关于总计,请查看 "Tricking the Pivot Table" 部分中的 link