Spotfire: Empty values on x-axis - charts

Spotfire question: I have a data table with monthly data that is visualized in a bar chart. I however also want to visualize the information in quarters, by showing the latest month of the quarter in the format '20Q1, 20Q2, etc.'. (So I don't want to use standard 'date format'.)
My idea was to create an additional column that is filled for March, June, Sep, Dec and empty for the other months. Then with a document property, the user can select to either view the data in months or in quarters (i.e. the last month of the quarter).
So far so good, my data now looks like this:
Month
Value
YearQuarter
Jan-20
100
Feb-20
200
Mar-20
400
20Q1
Apr-20
125
May-20
101
Jun-20
300
20Q2
The problem now is that when I visualize the data with YearQuarter on the x-axis, it also shows all the (empty) values in a bucket. See below. How to solve this? Note that the x-axis has a custom expression "<$esc(${Granularity})>", where Granularity is a document property to determine what column to pick.

Did you try limiting your data with whatever expression you have put in x axis.
Thanks

Related

Cumulative Values on Missing Data Quicksight

I'm trying to create a cumulative quarterly count divided by week. I have the underlying table that looks like this:
Date
Id
01/01/2022
X
02/01/2022
Y
The result is this
Screenshot of the problem](https://i.stack.imgur.com/9tmFA.png)
There are some white spaces due to particular weeks where there are no data. I would like to fill these blank spaces with the value of the week before (as it should be on a cumulative count) and with zero if it's the first week of the quarter.
Is there a way to solve this problem without creating any support table or any "fake data" to avoid the cell to be blank?

How can i create a mongodb query that calculates the difference of a value along other timestamps using a unique id

I have collected various data via the Twitch API and would now like to prepare and display it in a mondodb chart.
What I want to display are the viewer counts along the measurement points (timestamps). The IDs per timestamp should be compared with the viewer count. If the viewer count is equal to the previous timestamp, nothing should happen, if the value has changed, the difference to the current value should be entered e.g. in a new field. At the end I want to see on the x axis the timestamps and on the y axis the viewer count for the timestamps
here is a axample of the Object. Eevery minute I get one such object per active livestream (mostly 20 objects per request/timestamp)
_id:604672c85f68ef1c71546c71
id:40931788941
user_id:493094533
game_name:"Science & Technology"
title:"Arduino Lasershow aus dem 3D-Drucker. #arduino #3D-Druck #CNC #Program..."
viewer_count:151
started_at:"2021-03-08T14:50:25Z"
language:"de"
time:2021-03-08T18:54:00.911+00:00
__v:0
most important attributes:
id:40931788941
time:2021-03-08T18:54:00.911+00:00
viewer_count:151
My problem is that I don't know exactly how to calculate the difference to the previous object with native mongo. If you have another solution, bring it to me ;-)
EDIT:
You can see in the following screenshot the x axis the dates and on the y the viewer_count for this date. But the viewer_count is not meaningful because its a sum of all viewer_count values of all objects for the specific date.
I only want to get the cumulative value of the viewer_count attribute for the specific date.
Other aggregations for this attribute do not help much here either.

Amazon Quicksight: is there any way to use 2 dates as X axis?

In Quicksight, I have data like this:
What I am trying to do:
I want a chart that shows the sum of amount over created_date WITH the sum of amount over resolved_date (that second part is the challenge, the first one is easy). So it is kind of using dates as an X-axis, just that they are different date fields (created_date and resolved_date). Is there a way of doing this?

Advanced box plots in Tableau

I am currently exploring Tableau and I wonder if it can do the following.
Let's say I have a table with two columns, A and B. Let's say A can attain discrete values from a small set (maybe 10 different values), while B has continuous values. I would like to plot a box plot where on the x-axis are the 10 possible values of A, and on the y-axis the box plots. Each box plot shall contain values from B for a given value of A.
In case I have not made myself clear enough, here is an example. Consider data containing average temperature on each day within one year, labeled by week days. That is, we have 365 pairs (A, B), where A is a value between 1 to 7 (day of week), and B is the temperature. I would like to have 7 box plots, each containing data for the particular day week. (To prove that on Mondays there is always bad weather :))
Changing the problem slightly to assume the columns are named Date and Temp, and that Date is a real date with a month, day and year. On the data pane (left margin), make sure the Date field is a discrete (blue) dimension with datatype date (not string).
Drag Temp to rows, make sure it is a continuous measure. I would choose the aggregation function AVG instead of Sum for temperatures.
Change the mark type from automatic to circle, and then drag Date to the detail shelf. Right click on the Date pill you just dropped and choose Exact Date.
Change to the Analysis table and drag in box plot from the Summary section. Format to taste.
To get one column per weekday, drag Date onto the columns shelf. Right click on the Date field on the columns shelf and choose Weekday from the context menu (submenu)

How do I achieve a multi-series line chart in Crystal Reports?

This relates to my How do I achieve a pivot report in Crystal Reports for Visual Studio? The data is the same, but they want a line chart as well.
So, my data is {datetime}, {car-id}. The X -axis of the chart must show the hour of {datetime}, the Y axis the number of cars that entered the park at that hour, and I must have seven data series, lines, one for each day of the week. So, e.g. the x/y point on the green line shows that on Wednesday, at hour x, y cars entered the car park.
Common sense tells me that I can kludge this by transforming the data source so that each day has its own column in a table, a table like this:
DateTime
WeekDay
CarCount
Yet the Crystal line chart doesn't seem to support more than one column, so there must be a different and better way of doing this. The weekday is part of {datetime} after all.
How can I achieve this chart? I am a rank amateur at charting, and Crystal's idiosyncrasies really aggravate my lack of skills and experience in this area.
It's not obvious how to get multiple series to show up properly.
First, create a formula that will extract the day of week from the datetime: dayofweek({datetime}) and then create another that will extract just the hour: hour({datetime}).
From there, insert a chart from scratch and make the following settings in the Chart Expert
Select "Line" under the Type tab
Under the Data tab, select "On change of" and select your {#HourOfDay} formula first. This will create each hour as a point on the X-axis.
In that same spot, also insert the {#DayofWeek} formula. This will create a new line
for each day of the week. This is, in my opinion, the non-obvious part.
Finally, to pick your Y-axis values,
select {car-id} where it says "Show value(s)". It should default to
the count summary of that field.
(Note: in the screenshot below, you would just replace {Customer.Customer_Name} with {car-id}
I had this issue for 5 years and finally solved it. I have a XY chart with multiple series.
Everything needs to be in a formula.
The graph should be in the report header section of a subreport. The sub report generates the X Y data like this:
Series X Y
Ser1 2020 1
Ser1 2021 2
Ser2 2020 0
Ser2 2021 1
For me I have as series "Energy" ie 6, 9, 12 etc.
Then I have a date/time and a measurement.
On change of (Energy formula)
Show Values
#1 DateTime (convert this to int ie 2000.9 for 9/2000) - dont summerize
#2 Measurement (number) - dont' summerize
Then you can do the color highlighter to capture your series (6 is red etc).
The legend won't work - can't figure out that yet.