Qlikview Combo Chart - Series not aligning with Axis - charts

I have a combo chart that I want to track Actual spending versus Budget over a 3 year period. The Budget line items are bar charts, the Actuals are displayed by a symbol. There is only one data point for Actuals, 2020, Budget data is for 2020-2022. My problem is that Actuals are aligning with 2021, not 2020. Viewing the data as a straight table, I know my data calculations are correct. I am not suppressing zeros and the order of expressions (promote, demote) has no effect. Any ideas why this is happening and how to fix it?
Image explaining the issue

Related

Time Stack Chart with years as horizontal axis

I want to add a stacked chart but could not find a way to customize the time-axis.
Currently my x-axis refers to days, however, I search for a way to display years. Since I want a stacked chart that changes over time, I believe I need to use the 'Time Stack Chart' (see screenshot). I would also be happy with simply several stacked bars next to each other (each bar represents one year), but the 'Bar Chart' only supports one bar (I believe).
My model collects data from different sources on the last day of the year and then my chart should display this value for the year, categorized by source. I have tried with different data sets, both where the time is the horizontal value and where it is not.
When I use a dataset where one value is 'Years' (through the getYear() function) this works fine for plots, but not when I want to have a stacked chart (which by default depends on the time).
Is there a solution to this?
Please let me know if you need further information!
You need to go to the appearance part, time axis format, set it to yyyy. Also in the scale section, you need to change model time units to years.

How to sort pivot based on measure and create a stacked bar chart

I am trying to create a stacked bar chart between 2 dimensions (one being week, other is a string - more below) and 1 measure. I am new to Looker.
But in order to get the stacked bar chart I figure that I need to
Create a pivot
Transpose the data
Create stacked bar chart
I am stuck with step 2 and 3.
The above steps is what I have thought could help me arrive at the visualization I want but would appreciate if there is any other solution for this.
Scenario:
I have a digital marketing data with me, where I am trying to create a visualization on ‘Leads’ generated,
I have 2 dimensions, 1 measure
Lead Created Week - Week on which a lead was created
Reason2 - reason a lead was created or what reason attracted the user most
Leads - count of leads
I have plotted the below visualization where I have created a pivot of week with Reason2 and Lead count under it and have plotted it on a stacked bar chart (as below).
Where each bar is a Reason (X-axis) and each color is the Week dimension, leads (count of leads) is in the Y-axis
Even though this is help what would be helpful is having ‘Week’ on X-axis, ‘Leads’ (count of leads) on Y-axis and ‘Reasons2’ dimension as a legend.
There is also one catch i.e., there are more than 100 distinct values in ‘Reason2’ field but I need to pick on Top 10 Reasons (i.e., the reasons that generated the most leads), which in the above screenshot I have achieved by limiting the display rows to 10 as the measure was already sorted.
I tried to flip around the pivot by having reason in pivot and Week as dimension, but if now the pivot is sorted in alphabetical manner and not by value of measures (screenshot below), I need the top 10 reasons which most leads per week.
How do I achieve the desired visualization of having week on X-axis with leads on Yaxis but only the top 10 Reasons should be generated.

Tableau add trend line to discrete data?

I have run into this more times then I like, and I think it will continuously haunt me. I am creating reports/dashboards that report monthly or yearly or weekly data. The dates come in with just the last day of the period. For example, now I am working 2019 monthly report that is a bar chart with a trend line. Took me about 15 minutes to make in excel. However, we are trying to move everything into Tableau for dashboards. Trend line is always grayed out when using discrete dates and sometimes when using continuous dates. The dates are in the format DD/MM/YYYY so I can convert them as continuous but that skews the spacing on the X-Axis. I have messed around to get it to work but it takes time. I am shocked that this very basic thing does not work when Excel has been able to do it for a very long time. Does anyone know of a good work around? I have tried calculated the trend line myself, but do not see how I can add in the y=mx+B line that is generated. I am debating creating a data set just for this, but that seems long and hard way for something that I would have expected out of the box. Below is some basic data, in Excel it takes about 1 minutes to create a line chart, click (+) add trend line and your done.
I was not able to deal with the skew of the X-Axis very well but playing with the date it started and setting the major tick marks to monthly got me close. Looking at the picture below you will see the tick marks are not in the center of the bars but close. As for the trend line, I added a Dual axis on the same data that was the sum of all shown fields with no division by the parts (this is a stack mark bar chart). Since this is a basic line chart with continuous dates, a trend line is a simple click. I then removed the Tick Markets and set the opacity to 0% making the line invisible. I did not change the trend line so now that is all you can see. Seems like a long and hard way to do it, but it works. (UPDATE) Better fix, NEVER USE EOM always use First of Month.

Gantt over time with summed bar

I'm having trouble creating the following chart in Tableau.
I have data that looks like this:
name date count
a 11/10/2012 2
a 12/10/2012 3
a 13/10/2012 2
b 12/10/2012 6
b 13/10/2012 2
b 14/10/2012 3
c 14/10/2012 2
c 15/10/2012 2
And I want to create a bar chart that has the sum of the count on the y axis and time on the x axis. The width of the bar should be the length of the time, like a Gantt chart. Each name has its own bar. Here is an image that shows what I am after.
The bars should overlap if the times overlap.
I have tried various things in Tableau but haven't really got close.
Is this kind of chart possible in Tableau? If not in 7, will it be in 8? I have heard it makes it possible to create some more complex chart types.
A workbook with data can be found at http://community.tableausoftware.com/servlet/JiveServlet/download/188799-12362/Gantt%20over%20time%20with%20summed%20bar.twbx.zip
Thanks for your help,
Andrew
The trick with Gantt charts in Tableau is to put a calculation on the size shelf that calculates the duration of each bar in units of days. See the example screenshot at Tableau example
You also need a continuous date field on the columns shelf to get a horizontal time axis.
In this example, I also did a few more optional things, such as, turned off aggegation under the analysis menu to get a mark per data row, rather than aggegating them, added a discrete date to the rows shelf to make each bar go on a different line (as long as each bar starts on a different date) and hid the column for that start date.

iReport line chart category label

i'm using the Line Chart component to generate a chart based on the consumption of a building.
Imagine a possible chart based on the consumption of a building in a period of a month and a resolution of a day. It will have 30 points of consumption corresponding to 30 days.
The problem is with the category axis labels. With a considerable amount of points, the labels becomes unreadable. How can i just label some points?
My best regards
Don't use a "Line" chart. Instead use a "Time Series" chart.
It automatically handles the issues around charting all points but only labeling a readable number of them. It also handles problems created by data points that are not uniformly spaced.
EDIT: If your incoming data is a String instead of a Date, then you have extra work. Time Series charts expect Times (well, Dates). You'll need to cast your DateString into a real Date. But the work is small, and the benefits are large. Use a variable like this: new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse($F{MyDateString}).
Use this code to generate a label on the line chart in JASPER report
else if(jasperChart.getChartType() == JRChart.CHART_TYPE_LINE) {
LineAndShapeRenderer line = (LineAndShapeRenderer) chart.getCategoryPlot().getRenderer();
line.setBaseItemLabelsVisible(Boolean.TRUE);
line.setBaseItemLabelGenerator((CategoryItemLabelGenerator) new StandardCategoryItemLabelGenerator());
}