在下面的数据透视表中的某些行上隐藏表达式的方法正在苦苦挣扎。基本上,当FINANCIAL_PLAN_TYPE不等于'OB_VARIANCE_TO_T1'时,我希望能够隐藏我的表达式'Cumulative'。我想出了一种方法来改变其他FINANCIAL_PLAN_TYPE行上的文本格式,使其显得隐藏(下图中显示的内容),但我真的希望整行在这些情况下消失。
此外,如果可能的话,我不希望在累积行上看到总计,但我确实希望将它们保留在Sum(AMOUNT)行上。
我的累积表达式是:
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,以及我尝试有条件地启用/禁用表达式,但我似乎无法让它工作。任何想法都会很棒。谢谢!
最终解决方案:
1)加载内联表
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)))
答案 0 :(得分:3)
你不能在某些行上隐藏表达式 - 在Qlikview中不可能。 解决方法是创建一个虚拟浮动表,将第二列保存为维度,然后在图表中使用它而不是两个表达式。那么你将有一个表达式如下:
If ( dummyField = 'Cummulative' and = 'OB_VARIANCE_TO_T1',
{Use your second expression here} ,
If (dummyField = 'sum(Amount)', {use your original first expression here}))
关于总计,请在“欺骗数据透视表”部分中查看此link