Tableau filtering with calculated field - tableau-api

I have calculated Z Score at row level following way.
AVG = window_avg(sum(measure))
STDEV = window_stdevp(sum(measure)
ZSCORE = (sum(measure) - AVG) / STDEVP
This works nicely and I have zscore for each row if data is aggregated at the level. I would now like to aggregate my data to monthly but exclude all the rows outside of -2 - 2 zscore range. When I add zscore to filter, it is already at monthly level and won't filter individual rows.
How can I change this so aggregation only includes rows with correct zscore?

Related

Get percent rank for a given value in a given table column

I have a Postgres table with about 500k rows. One of the columns called score has values ranging from 0-1. The data is not normally distributed.
Say I have an observation of 0.25. I'd like to find out where this would fall in the distribution of the score column. This is sometimes referred to as the percent rank.
E.G. a value of 0.25 is in the 40th percentile. This would mean that a value of 0.25 is larger than 40% of the observations in the table.
I know I can calculate a frequency distribution with something like below but this feel like overkill when all I want is a percentile value.
select k, percentile_disc(k) within group (order by mytable.score)
from mytable, generate_series(0.01, 1, 0.01) as k
group by k
Sounds like you want the hypothetical-set aggregate function percent_rank():
SELECT percent_rank(0.25) WITHIN GROUP (ORDER BY score)
FROM mytable;
The manual:
Computes the relative rank of the hypothetical row, that is (rank - 1) / (total rows - 1). The value thus ranges from 0 to 1 inclusive.

Filtering the View Without Filtering Underlying Data - TABLEAU

In the above image, I have added a lookup calculation to limit the number of values on the x-axis.
Formula for Lookup : lookup(min(([Weeks out ])),0)
{Weeks out} is the x axis
Currently the range selected is -36 to 0.
There are values present for >0 but because of the lookup, it doesn't show up.
I want to show the total running sum on the 0th axis(this should include all the values available after 0)
adding tabular format for better understanding

Percentage of total changes on applying filter

I have a data table with three dimensions and one measure. For each row, I am trying to calculate the percentage of total (calculated by taking the sum of rows) using a calculated field.
As seen in the screenshot attached, For the column titles 'Dec-19' I want the values to be a percentage of current value / grand total (calculated at the bottom as 122,187)
Screenshot of DataTable:
So e.g. for the Column B value of 2000, the Dec-19 column should be (97/122,187) * 100 = 0.079.
I have achieved this by creating a calculated field with the formula: SUM (sales) / MAX ({EXCLUDE (Column B): Sum (sales}), where sales is the measure used in the datatable.
However, upon application of filter on column B, the percentage value changes. e.g. if I select the value 2000 in my filter for column B, I get the percentage as 100%. It seems as if the percentage is being calculated based on only the rows in the filter.
Since you haven't included any sample data, I created some sample data like this, hope this resemble yours.
Thereafter, I built a cross-tab view in tableau, somewhat like yours
If that is the scenario, use a calculated field, say CF like this, instead of yours
([Sales])/
{FIXED [Col1], DATETRUNC('month', [Col3]) : sum([Sales])}
Dragging it in the view
and thus, filtering won't affect your calculation

Interactive Report - aggregate sum of multiple columns from one table multiply by values from another Table

I have a challenge in Oracle Apex - I would to sum multiple columns to give 3 extra rows namely points, Score, %score. There are more columns but I'm only choosing a few for now.
Below is an example structure of my data:
Town | Sector | Outside| Inside |Available|Price
Roy-----Formal----0----------0----------1------0
Kobus --Formal----0 ---------0--------- 1------0
Wika ---Formal----0----------0--------- 1------0
Mevo----Formal----1----------1----------1------0
Hoch----Formal----1----------1----------1------1
Points------------2----------2----------5------1
Score------------10---------10---------10------10
%score-----------20---------20---------50------10
Each column has a constant weighting (which serves as a factor and it can change depending on the areas). In this case, the weighting for the areas are in the first row of the sector Formal:
Sector |Outside| Inside |Available|Price
Formal----1----------1 ----------1-----1
Informal--1----------0 ----------2-----1
I tried using the aggregate sum function in apex but it wont work because I need the factor in the other table. This is where my challenge began.
To compute the rows below the report
points = sum per column * weighting factor per column
Score = sum of no of shops visited (in this case its 5) * weighting factor per column
% score = points/Score * 100
The report should display as described above. With the new computed rows below.
I kindly ask anyone to assist me with this challenge as I have tried searching for solutions but haven't come across any.
Thanks a lot for your support in advance!!

Summary (avg, min, max) of multiple fields - Crystal Reports

Crystal Reports in Visual Studio
I would like to be able to display total minimum, maximum and/or average across several multiple fields.
My scenario:
In one measuremet, several probes are measured. There are multiple measurements of the same.
In dataset (let's call it Measurement) are fields called K1, K2, ..., K10 (probes 1 to 10). I display average of series (multiple measurements) for K1's, K2's,...
But is it possible to make formula or field, where I could have total average from all rows (all probes in all measurements) from K1 - K10?
If all probes K1 to K10 have the same weight in your measurement, then
Average(Avegerage (Ki at row j) over the rows) = Average (Ki,j), right ?
Therefore create a formula
Average per row = (K1 + K2 +... +K10)/10
and then insert a summary field as an average of "Average per row"
Considering the Min and Max, there's no weight involved, so the formula will be
Minimum per row = Min(MakeArray({K1},{K2},...)
Maximum per row = Max(MakeArray({K1},{K2},...)
and then inserting the summary accordingly