Qlikview: How do I limit chart (straight table) lines to calculated values? - calculated-columns

I have a problematic table, which is interconnected and goes out of memory often, but I've limited it to show 50 items, but now want to limit it to show only lines that one column calculated. The calculation - one price minus another one. I need to limit the lines so that the % or the value is less than 0 (meaning everything with -% or -<0 is acceptable).
Using a calculated dimension does not let me do an if function to accomplish this. The deduction does not work for some reason.
Any help?

I just edited the formula to "=if(dimension='-' or dimension='0', null(), dimension)". So the kicker was actually setting this all to "null()" so the "Suppress When Value Is Null" recognizes things to null.
This actually solves my problem in a different way, however the goal is the same. This skips the values where a calculation is impossible due to lack from one source.
[UPDATE Jun-3rd-2017]: I figured out exactly what I needed. I just made the calculation on the script side and now a calculated dimension is actually restricting all of the values by the calculated dimension as was intended.

Related

repeated vlookup values top 3

I have a sheet which I point failures, it is divided by failures (rows) and days (columns), I point the quantity of failures by the type of failure that day. So I used the vlookup to show me the top 3 failures of each day, but there is a problem, when it has the same quantity of different failures, it shows the same failure, not the next one with the same quantity.
I've tried ways to correct this, but everything I found didn't work, because it has variable quantity depending the day, and what I found use the COUNTIF trick, I can't define a value, so it doesn't work.
can anyone help me please?
There's probably an easier way, but this formula should work:
=LET(day,Table1[Sunday],myarray,FILTER(CHOOSE({1,2},Table1[Failure],day),RANK.EQ(day,day)<=3),SORTBY(myarray,INDEX(myarray,,2),-1))
As you can see it returns an dynamic array containing the top 3 Failures in descending order, along with the number of failures.
This should account for any ties as you can see in my example. However, it is possible for the returned array to be more than 3 rows if there is a tie for third place. Not sure if that's desirable or not.

Excel - How to split values of 70 items equally into 6 groups

So I'm trying to create an Excel sheet to split the values of 70 items into six groups.
For reference, this is to divide my grandma's estate evenly for her six children. I have approx. 70 items and their appraised values in an Excel sheet, but not sure the best way to go about this. I was hoping to use Solver, but haven't been able to figure it out.
Ideally I could make it so people could pick specific items that they want and run the Excel sheet again to re-balance all the values.
Thanks!
So set this up, based on a thrown together set of values.
Each sumproduct is held to be <= to the (total value / 6)-10. You may want to reduce this to 5 or 2 etc but the smaller you go the harder it is to solve due to the values of the items.
I have done this for 30 items, there is a limit to the number of variables in the Solver - if you hit that then you might consider pairing items, or manually setting some will help, see below.
You might want to add something for sentimental value - I will leave you to consider that.
As for manually setting some items then you can set those items to one, move them to the top or bottom and remove them from the Solver variable cells - that way they won't get changed, but they still need to be included for the value. If the values are similar then they can be taken out if the differences are ignored by the parties.
So, edited the model, see below. Note that 1 item is not allocated. This could be addressed by changing the constraint controlling cells J9:J38 but it comes down to the difficulty of finding an exact solution and that is also why the 10 can be adjusted...

Summing up cohort behavior cumulatively by date ranges without offsets in excel

I think this problem, when solved by creating additional charts with offsets, is easy. I want to cut out the middle man and not use offsets (unless they are useful to the answer). I have data for daily cohorts and I know specific information about their behavior 1 day later, 2 days, 3 days ect.
Now it is rather easy to make a waterfall chart of day by day activity like so...
What I want to do is skip this step (directly above, the waterfall chart) in hopes of shrinking my current workbook by a substantial amount. You can imagine having simply 1 year of data across multiple channels measuring even 1 aspect of behaviors can account for a lot of data and pivot charts. Also, btw, I have the top chart as a pivot thus allowing this to be hands off when calculating what I am looking for.
What I seek - I look to further construct groups of days as other cohorts to examine (for example, say, 1/1 - 1/5) and see what their activity has been in a cumulative fashion since then. To be more specific, I want a table that will show cohort 1/1-1/5's activity in the date range 1/1-1/5 (11) and then their activity from 1/1-1/9 (24, an additional 13 "behavior points" summed).
So far, as I said, my current solution involves the "blue arrow" schematic where an additional table is constructed and I can sum on, essentially, rectangles build by using OFFSET on sell ranges with the MATCH function. I am stumped with how to go about this without the additional charts.
Thanks!
VBA would better for this, but use this formula in C30:
=IFERROR(SUM(SUMIF(OFFSET(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)),SEQUENCE($B30-$A30+1),IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-SEQUENCE($B30-$A30+1,,0)>COLUMN($B$1),0-SEQUENCE($B30-$A30+1,,0),COLUMN($B$1)-COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))+1),1,IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-SEQUENCE($B30-$A30+1,,0)<=COLUMN($B$1),(C$29-C$28+1)-SEQUENCE($B30-$A30+1,,-(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(C$28)))-COLUMN($B$1)-1)),C$29-C$28+1)),"<>")),0)
and this in D30:
=C30+SUM(SUMIF(OFFSET(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)),SEQUENCE($B30-$A30+1),IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-SEQUENCE($B30-$A30+1,,0)>COLUMN($B$1),0-SEQUENCE($B30-$A30+1,,0),COLUMN($B$1)-COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))+1),1,IF(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-SEQUENCE($B30-$A30+1,,0)<=COLUMN($B$1),(D$29-D$28+1)-SEQUENCE($B30-$A30+1,,-(COLUMN(OFFSET($B$1,$A30-MIN($B$2:$B$10),MIN($B$2:$B$10)-$A30+DAY(D$28)))-COLUMN($B$1)-1)),D$29-D$28+1)),"<>"))
And copy both down.
If one does not have the dynamic Array formula SEQUENCE() then replace all the SEQUENCE($B30-$A30+1) and SEQUENCE($B30-$A30+1,,0) with ROW($ZZ$1:INDEX($ZZ:$ZZ,$B30-$A30+1)) and (ROW($ZZ$1:INDEX($ZZ:$ZZ,$B30-$A30+1))-1) Respectively, and use Ctrl-Shift-Enter instead of Enter when exiting edit mode.
I was able to collaborate on a solution. I am told that it will be highly inefficient at scale but it gets the job done. It ss less automation-friendly but can be formulated to capture data not currently present on a, say, a pivot table that you call to update later by extending the area that the formula works on.
Formula in in I31:
=SUM(IF(($C$1:$O$1+OFFSET($B$2,$G31-$B$2,0):OFFSET($B$2,$H31-$B$2,0))>=I$29,OFFSET($C$2,$G31-$B$2,0):OFFSET($O$2,$H31-$B$2,0)))-SUM(IF(($C$1:$O$1+OFFSET($B$2,$G31-$B$2,0):OFFSET($B$2,$H31-$B$2,0))>I$30,OFFSET($C$2,$G31-$B$2,0):OFFSET($O$2,$H31-$B$2,0)))

Excel solution required to calculate the sum of cells according to reference cell

I want to calculate the overburden pressure at certain depth (reference C14) but including the effect of water table. As, below water table submerged density should be considered and above saturated density should be considered. So, i am looking for a formula which can calculate automatically the pressure by changing the water table depth (reference E1). Please see the attachments (spreadsheet and images):
Sample file
Dont know exactly if i understand what you are trying.
You can use nested if clause to get what you want to do:
=IF(E5<3;"DOE SOMETHING HERE for EGL 0-3";IF(E5<7,5;"DO SOMETHING HERE FOR 3-7.5";"DO SOMETHING FOREGL ABOVE 7.5"))
I just did 3 Steps but it should be clear from here. Excel will evalualte the if clause from left to right until it reaches the first thing that matches. This whay you can just always ask "E5 < Max Value" because if it is between 3 and 7.5 the first if will not trigger but the second one and the it ends. For the last step you just use the "Else" clause.

Combination of several INDEX and MATCH functions

I'm currently working on an evaluation excel sheet for forceplate data (showing vertical force development in jumps over time) and stumbled upon a problem that I couldn't manage to fix for the past days. Basically there are two main columns over ~ 4000 rows and 1 extra cell:
Column A shows time [in ms]
Column B shows vertical force measured at the time point in Column A
C1 is the already calculated peak force value before takeoff
I am now trying to define the timepoint of takeoff in an extra cell using INDEX and MATCH functions (FYI: the time of takeoff is when the vertical force value is close to 0 for the first time [range of lookup must be starting from the peak force value though!!], but never exactly 0 due to force plate drift in measurement)
My idea was this:
=INDEX(A2:A4000;MATCH(0;INDEX(B2:B4000;MATCH(C1;B2:B4000;0)):B4000;-1))
so the range
INDEX(B2:B4000;MATCH(C1;B2:B4000;0)):B4000
should define a range of force values starting at the peak force value (C1).
Unfortunately Excel will show me a timepoint where the force value is far away from 0. I've tried the same formula within an easier (but for my purpose faulty) range (B2:B4000) and it worked perfectly, so I guess the problem I'm dealing with lies somewhere within the range defined with the INDEX function.
I'd be glad if someone could help me out with this!
You are certainly on the right track. It seems you've correctly adjusted the range in the nested INDEX function but that MATCH function will retunr the position within the adjusted B2:B4000. You need to adjust A2:A4000 in the same way so that the position returned by MATCH will be correct.
=INDEX(INDEX(A2:A4000; MATCH(C1; B2:B4000; 0)):A4000; MATCH(0; INDEX(B2:B4000; MATCH(C1; B2:B4000; 0)):B4000; -1))
I don't have sample data to test that on but I believe it is correct.

Resources