I am relatively new to Tableau and this problem has been a real head scratcher.
I have a database table with a similar layout to:
ID INT (Unique ID)
create_ts DateTime
What I want is a bar graph that is bucketed for each hour (0-23.) This was easy enough to accomplish with Tableau's Datepart function. But for the height of the bars, I want the maximum count(*) that happened during that hour on any given day. So for hour 1 (1 AM) I want to see the highest number of count(ID) with a create_ts in the 1 AM hour calculated by day of create_ts. Hopefully that makes sense. Basically looking for peak numbers.
I have looked into "Level of Detail" calculations for Tableau, but was unable to make this work. I am on Tableau v10
Hope this helps!
Create calculated field maxIDCount having definition as below and use it as the vertical bar field.
{fixed[datepart_hour_field]: countd([ID])}
Don't forget to let us know if it solved your problem:)
Related
I'm trying to build a weekly cohort analysis depicted by line charts in Tableau. The problem is that all weeks line should start from 100%.
Below is the process I took :
dropping order date to columns and selecting week number
COUNTD (order id) and in rows
creating a calculated field : first purchase date{ FIXED [User Id]:MIN([Order Date])} and then
Dropping first purchase date to color field
I'm getting weeks depicted as lines (different colors) but can't figure out a way to make all lines starting from 100% point.
Here is the screenshot of what it should look like https://prnt.sc/1uugad5
Link to the dummy data where order_id is unique Dummy Data link . Any help is appreciated
Thanks
To achieve the viz, I used COUNTD([User ID]) instead of order ID.
The x axis represent the difference of weeks between the order date and the cohort date.
Finally, the percent can be found using percent of total quick table calculation and using table across.
What I am trying to achieve is to get a count of people employed in a particular period.
I have 3 variables:
Employee ID (integer)
Hire date (date)
Termination date (date or null)
Example
the formula I am looking for is something like
if termination_date is null
then
count employee_ID in
dates between Hire_date and max of either hire_date or termination_date
else
count employee ID in
dates between hire_date and termination_date
This aims to show the dynamic of staff level over the time.
I am new to Tableau, not sure how to even start with it. Any suggestions welcome.
This problem will be simpler if you reshape your data to have the following three columns
Employee ID
Date
Action. (where action takes on the values of ‘Hire’ or ‘Terminate’).
Each data row represents one change in status for an employees. If an employee had a termination date, they will have two records in this new format, otherwise just one record showing the hiring date.
You can reshape your data by hand, or leave the original and use Tableau Prep or the Tableau data source page to reshape using a self Union and a few simple calculated fields.
Define a calculated field called Staffing_Change as
if Action=‘Hire’ then 1 else -1 end
Now you can plot the change in staff level over time by putting exact date on columns and sum(Staffing_Change) on Rows. You can use a quick Table calc, Running Sum, to see the net staffing level. For line mark types, I’d use a step style by pressing on the path button on the Marks card. Otherwise, the chart can give the impression of fractional number of employees.
I have a data set which has incidents resolved w.r.t date. I would like to look at the trends of number of incidents resolved over the past 45 days only on a Clustered column chart.
I couldn't see entries for specific dates (because the number of incidents resolved was zero on that day). How do I include those dates as well showing the number to be zero?
I tried the following:
1) Enabling "Show items with no data" - While this working fine, it is removing the last 45 days filter and is showing me unnecessary trends. The last 45 days filter is set on a page level and report level filter as well.
2) Creating a new measure to replace null values with 0 when the count of incidents resolved on a particular day is 0 - It again removed last 45 days filter.
Someone please let me know what I can do to get the required trends over last 45 days.
Thanks
This can be late reply, but I hope it may be useful for future users. As I suggested in a comment, you can try using measure for achieving this.
I have designed the following table with sample data.
INCIDENT_RECORD Table:
Created Measure:
Total Incident = IF(SUM(INCIDENT_RECORD[Resolved Incident])=BLANK(),0,SUM(INCIDENT_RECORD[Resolved Incident]))
Now I have designed Clustered Column Chart with & without Measure to show difference for you.
Clustered Column Chart with/without Measure:
First graph is showing label as 0 (Zero) which doesn't have any value
for that date.
Second graph is not showing data for Jan-03 in your case.
Feel free to ask your doubts/clarifications in the comment section.
First, make sure the column on your x-axis is a date data type. Then go to the Format tab for the visual and under the X-Axis options, set the Type to Continuous (rather than Categorical).
Number of hours is fixed (8) multiplied by the number of distinct days a user has worked.
I need this number as text to insert into a title on a dashboard.
However I need to separate this number by the User filter from another worksheet. When I apply this, I just get the total number of distinct days (not per user).
This is the calculated field I have created so far:
countd(DATETRUNC('day',[_StartDate]))
Try using a Level of Detail calc fixing on user. something like {fixed user : countd(DATETRUNC('day',[_StartDate]))}
I have date-wise data of a month in Tableau and I want to know total sales of the month. Can anyone show how to do it?
Here is the snapshot of the issue:
First of all, I would advise you to go to the "Data Source" Panel on the bottom left and change the data type of the dimension "Date" to date instead of string. If this is not possible, please speak with your datasource admin. It might be a problem, that the dates are in different formats (like "1.07.06" and "1.11.2016").
After that you can simply choose the discrete MONTH(Date) dimension by rightklicking (blue pills). If you display data ranging over different years it is advised to keep the "YEAR(Date)" blue pill.
In the sample data it looks like this:
Steps to get total sales month wise
Drag your date into column shelf and change by Right click on date and change into month.
Drag sales into row shelf and Right click on measure and go into sum.so you will get total sales per month.