Top N by Total Sales in Year X Filter Tableau - filter

How to place a filter in my worksheet that filters a category by top sales in a certain year while still showing all years of data for that category.
Does anyone have an idea how to do this?

One solution is to create a calculated field called Sales_In_Selected_Year that returns the sales for the year you care about and null otherwise such as:
if Year = Selected_Year then Sales end
Place Sales_In_Selected_Year on the filter shelf wth a Top filter and use the original Sales field as desired. Selected_Year can be a parameter for flexibility.

Related

Excluding a Metric from a Visualisation Filter

I am a new user to MicroStrategy Developer and am stuck with a task that I want to do. I have created a table visualisation and applied two filters to the visualisation via the visualisation filters:
Top 10 Rank by Volume Filter
A current month Filter
My table has the following table headings:
Region
Sales Person Name
Sales Volume
Average Sales Volume To Date
I want the table to display the Current Months values for the 1st three columns and then the last column to display the average sales volume to date (based on 2 years worth of data). However clearly Average Sales Volume is not working correctly, I am assuming this is due to the Month filter applied to the visualisation.
Being a new user to MicroStrategy, I am not sure how best to get round this? Is there a way of making the Average Sales Volume To Date metric independent of the Date filter applied to the visualisation? Or a better way to build this without applying visualisation filters?
Any hints or tips would be much appreciated.
Thanks!
I am not very sure whether this works out but you can give it a try.
Create the "Average Sales Volume To Date" metric as a level metric and set the filtering as Ignore.

Power Query - DATEADD fails once current year filter applies

Please help. I don't understand why I have 2 similar data models and one works but the other does not.
I have a fact table with a Calendar Key and data as granular by day by location. I have a calendar dimension table with a Calendar key, each individual date, and month/fiscal year definitions.
Measures are Rev = SUM(FactTable[RevColumn]) then Rev PY = CALCULATE([Rev], DATEADD(CalendarTable[Day_Date], -1, YEAR))
Model 1 in Power BI, when I apply date filters, Rev calculates the total revenue & Rev PY calculates last year's rev for same range. Even if I select all dates that are YTD (which is tedious)
Model 2 in Excel 2016 Power Query, when I apply a year filter, Rev calculates total revenue for YTD in Fiscal Year & Rev PY is blank.
I don't understand what is different and why it would even fail in the first place. Calculate is supposed to override the filter context of the current filters right?
Also: the only "Date" type columns are located in the calendar table so it's not possible for me to select the wrong table.
I ultimately had to ask a professor on Udemy.com. The solution is to mark you calendar dimension table as a "Date Table." Since I'm combining the 2 tables on a whole number field, the time intelligence functions only work when filtering with date columns.
By marking the Calendar table as the Date table, the time intelligence functions know to use any attributes from that table to filter down the date ranges and get and display the appropriate answer.
In Power Pivot view, click the "Design" ribbon, then click the "Date Table" button and the "Set Default" button after that.
This resolved all issues I had.

QlikView add Calculated Dimension within a Table

Hi Guys I am trying to create a table in Qlikview that shows me sales starting from current week (Week 11) and works back Week 10 Week 9 etc to week 52 previous year. I can do this by creating individual expressions but this would be extremely time consuming. I have been trying to write an expression but having no joy. Is there a way i can create these columns within the table using calculated dimension where i can write a formula, something like:
= sum({=$(=Week(today()-52))<=$(=Week(today()))"}>} QTY)
That would create each week and show the qty of sales.
I would use a numeric representation in the script:
create a field in your calendar: year(date)+Num(Week(MyDate), '00') as yearweek
then you can create a variable vStartWeek: =(max(Year)-1)&52
then your expression will be = sum({<yearweek={">=$(vStartWeek)"}>} QTY)
no need for <=Week(today()) unless you already sold something in the future ;D

Rank only for latest month

I've a calculated field "Total Revenue" which blends revenue from multiple data sources in Tableau.
Based on this field (aggregate field) on monthly basis, I would like to show only TOP 5 items with highest revenue as of latest month.
As shown in above table, items have to be filtered out (as they are TOP 5 in March) based on revenue data as of the latest month (March). How can this be achieved using RANK()? I'm not able to rank only for latest month as formulated below because it shows error as I cannot mix aggregate and non-aggregate functions.
IF DATETRUNC('month'),ReportDate)=//March 1st date given//
THEN RANK(Total Revenue)
END
My solution is a kind of workaround but seems to be working:
Create a calculated field with below formula:
IF DATEPART('month', {MAX([date])}) = DATEPART('month', [date])
and DATEPART('year', {MAX([date])}) = DATEPART('year', [date])
THEN
[revenue]
ELSE
0
END
The {MAX([date])} part on the code gets the maximum date in your data, it is fixed with { and } characters so that the value is not effected by the filters, date partitions etc. If you want the sorting month to be the one we are in then you should change that part with NOW()
Now we have a value containing only the sum of the latest month and we can sort our visual with this Measure.
You can drag your new measure (I called my measure: 'last month revenue') to the details and right click your item pill on the Rows, sort it by your new field.
And finally drag your item to the filters and go to Top tab, make filter your data according to sum of "last month revenue" measure.
Below screenshot shows the excel data and the final Tableau table:

Google Spreadsheets multiple/scenario filter dropdown

I can create drop down filter options for each of the dimensions in the spreadsheet: month, description, and type. using data validation and then sum(filter in Google Sheets. I want to include an option in the drop-down to include all months, include all types, etc. The end product would sum the amount based on the filters selected. I can sum(filter based on individual selections but my question is how to sum the amounts if one of the scenarios was: all months, groceries only, all descriptions.
https://docs.google.com/spreadsheet/ccc?key=0AgKUNhffHpmZdHZ3TGNXOUplN1R5UUlUSW5tVVp5b1E#gid=0
You'd have to use a Pivot Table. Then you have all this things in one view.
Select colums A to D. Go to Data/Pivot Table.
Add Month to Rows and Description to Colums (or vise versa) and add Amout to Values.
You'll see a total for all Descriptions/month and Grand total/month and /description.

Resources