Tableau Volume calculation based on Start Date and End Date - tableau-api

Using Tableau, I need to create a visualisation that shows me the total volume of started and ended work items per day.
Typical sql data consists of columns for each:
Reference (Unique Work Item Reference)
Start Date (Date Work Item Started)
End Date (Date Work Item Finished)
For example, if on the 6th of April 2018, 55 work items were started and 5 items were finished. Each represented date should show in its own line over time.
The issue I'm getting at the moment, when I have start date as a continuous column, it calculates the number of work items started for the end date and not the number of items finished for the end date.
Any help guidance would be greatly appreciated.
Tableau Public Link

This is a simple problem if you correct the shape of your data. You can achieve this by using the pivot functionality in Tableau or Custom SQL(If your data source does not support pivot).
Pivot the date columns
2. Rename the pivoted fields
Now build the view as below.(null values are due to tasks that are not yet closed, you can just filter it out)

I assume that the data is of this form Data structure
With this format, you could achieve something like this Gantt Chart
If you notice, I have created a calculated field called "Duration" which is in size shelf.
the calculated field reads
If [Status]="Finished" then
[End Date]-[Start Date] ELSE
TODAY()-[Start Date]
end
Hope this helps! Let me know if this is not clear enough

Even if the Status column is not there in the data source, it can be added using the following code
if ISNULL([End Date]) then
"WIP" else "Finished" end
Also, is this how you want to see the information?
Click here

Could you please have a look at it and let me know your thoughts?
https://us-east-1.online.tableau.com/t/tableaumanoraj/views/VolumeExample/Dashboard1?iframeSizedToWindow=true&:embed=y&:showAppBanner=false&:display_count=no&:showVizHome=no

Related

Relative Date filtering Query Editor - Power BI

I don't understand the logic of Power Query Editor.
I have a big table with data from 2019 to 2024 (one column contains the monthly information).
I want to filter the data by the date of that column, but it has to be dynamic.
Two options:
The data I want to consider is "Current month -2". So all historical data minus current month.
The data I want to consider is a parameter extracted from somewhere (e.g. I set the latest month to consider manually somewhere in an Excel, which usually is "current month -1" but not always (best).
I would be happy with any of the two solutions.
Currently I found somewhere this formula which filters out vs last month:
= Table.SelectRows(#"Changed Type",each [Month]< Date.From(Date.StartOfMonth(DateTime.LocalNow())))
But somehow I do not find the way to go 2 months back.
Thanks a lot!
BR

Acumatica, creating a generic inquiry with a condition on a field equal to the previous day

I have created a simple generic inquiry that shows some data after joining two tables. I am now struggling to implement a condition that should make the result only contain rows where a date field is equal to yesterday date.
I am a bit annoyed as Acumatica has created the method `today()` neatly, but not a `yesterday()` or `tomorrow()`.
Does anyone have a good solution that they care to share?
Help is much appreciated,
Cheers.
P.s
I have made this very hackish solution that somewhat works, but breaks between change in month or year.
=CStr(Year(Today()))+CStr(Month( Today() ))+CStr( Day(Today())-1)
Okay, so I found the solution to my problem!
I read that Acumatica is coded C# and.NET which made me think of how adding dates is done there. You utilise the DateAdd(date, interval, number) under the time tab to create relative changes to date.
In this case, the date is the time source from where you want to change, interval is in which interval/dimension you wanna move, for example, 'd' is for days. You can find more prefixes here: crosspost. Lastly, number is how much you want to change in the interval, in my case -1.
TLDR; Use DateAdd(Today(), 'd', -1) to get the previous date in relation to the current date.
You can simply write Equals to #Today-1 for Yesterday like below:

How can I calculate my win rate on one column based on the date on another?

I created a rudimentary Google Form to track my win rate at Starcraft. The first column on the resulting Google Sheet is Timestamp created by the form.
I have another column that has my win-loss, and I am able to calculate my percentage for the entire sheet (all games). However, I want to be able to see my daily win rate, and I can't figure out the correct way to go about it.
I tried COUNTIF, COUNTIFS, with TODAY() and I was able to count the games for a certain day, but I don't know how to use it to tie in with my win-loss column. What I currently do is adjust my Daily formula to specify today's date before playing. I was hoping I won't need to do this.
Please see Win-Loss Stats Sheet
Solution:
You can extend your formula to compare against the date in column A:
=(COUNTIFS(D2:D, "Win", ARRAYFORMULA(INT(A2:A)),TODAY())/((COUNTIFS(D2:D, "Win",ARRAYFORMULA(INT(A2:A)),TODAY()))+(COUNTIFS(D2:D, "Loss",ARRAYFORMULA(INT(A2:A)),TODAY()))))
The additional condition would be ARRAYFORMULA(INT(A2:A)),TODAY(), which converts the timestamps into dates and compares them to today's date.
Sample Output:

Date filter for not showing the recent date data in Tableau

I am building a dashboard for retention. The data that I am getting for the most recent day seems to have huge spikes because the denominator is not having entire data for the day.
So, I just want to show the data till previous day and it should be automated likewise.
Please let me know if anyone had dealt with the same problem.
Thanks,
Sai
The best way to do this is through creating a calculated field:
Create a field called Recent Date as follows:
DATETRUNC('day',[Date]) = {FIXED : MAX(DATETRUNC('day',[Date]))}
What this does is creates a Boolean field where the most recent date will be flagged as TRUE and all others as FALSE.
Drag this field into the filters pane and select FALSE. This will remove the most recent dates data.
Create a calculated field to return a boolean value if the data is from today's date. Then filter on False.
DATETRUNC('day', [Your Date Field]) = DATETRUNC('day', TODAY())

Grouping Expert, Current date against start date

I am having trouble grouping certain results in a work in progress report that arranges by start date, I have grouped using fixed values before but because the dates keep moving I am unsure what to do.
The start date is WIP_Schedule.Start_Date
the groups I am trying to create are:
[Group1] Overdue = the current date has passed the start date.
[Group2] (Yet to be named) = the current date 2 week period prior to the start date
[Group3] To Do = the current date after the two week period prior to the start date.
I am after a works instruction on how to achieve this.
I know this isn't a lot of information, if you require any more please ask.
Thanks,
Daniel
This is a pretty straightforward requirement, so you should be able to figure it out by searching the web. However, I'll give you part of the answer and hopefully you can figure it out.
Start by creating a formula to figure out the status of the date.
If {WIP_Schedule.Start_Date} > current date then "Overdue"
Else......
Then you can group based on that formula. All you have to do is figure out the rest of the formula.