Power BI - formatting matrix table column headers - powerbi

Team,
Is it possible to format the column headers on a matrix table to appear at the bottom instead of the top? So instead, the values (remote, possible, likely) would appear on the bottom like a chart?

You could do this little work around:
Make the Column Header text white so that it doesn't appear on the page.
Make text boxes for each column and put them on the bottom of the matrix.

Related

Is there a better way to plot data on a bar chart in Power Bi?

I am working with an imported data set from Excel, for each row there is a volume for each year 2020-2030 as an individual column.
Trying to plot the sum of each column 2020-2030 in a bar chart however this does not display as expected. See attached images. Already tried adding the data to the Axis field but this does not work.
The goal is to have a plot with years 2020-2030 on X-Axis and total volume on Y-Axis, then clicking on an individual year will then filter related plots by year. So far I can only sort the data in the opposite direction clicking on a category to see the volume for a single year.
Looking for help on how to plot the data specifically and then how to link this plot to other visuals in the report.
Bar Chart Created
Layout of Data
You will need to unpivot your data in m-query editor. Click on "transform-data". Select the table your data is on. Click the transform TAB. Select the year columns and click unpivot.
Now you get a table with many more rows wtih data like CY 2020, CY 2021 etc
You need to convert this to a number. you can do this by adding a column which picks up the 4 right chars and converts it to number:
Goto tab "Add Column", click Custom Column. Give column name and type:
Number.FromText(Text.End([YourColumnwiththeCY2020],4))
To make it even better, delete the column you had created during the unpivot. On this table you can do the graph representations..
apply and close to go back to your dashboard
Use unpivot in PowerQuery (M) to turn the columns for each date in to a single column containing the period with values (CY-2020, CY-2021, CY-2022 etc). You can remove the CY- and turn this in to an integer column, or convert it to a date, e.g. 1/1/2020. This will plot far better on your chart as an axis as opposed to the multi values approach in you screen shots.
See a blog post from Radacad here that provides a how to.

Why can't I sort this PowerBI chart?

I have charts I want to sort descending. I've read there's a "more options" option if you click on the chart, which should give you ability to sort.
In chart below, there is no sorting option:
Here is the field the chart is based on (it's a single field):
And here's the way I set up the chart:
I click 'more options' and yet see no option to sort. Who knew such a simple task could be that difficult in PowerBI.
My best guess at this point is that you are using two different fields for Male and Female numbers. If this is the case, you won't get the sorting option since the values are coming from two different fields. If you simply want to interchange the position, you can do so in the values section. If this is not the case, please provide further details, so that we can look into it further.
Edit:
I don't think there is a sorting option without having a value in Axis. However, you can adjust the Inner Padding of the Y-axis (in the formatting pane), to get the visual you are looking for. Setting inner padding to 0% will remove all the gap between the two bars. Also, you can do the sorting now, since there is a value in the Axis box.
Note: If you want different colors, add the field in legend as well.
You are using a clustered bar chart. The columns are arranged alphabetically and can't be changed.
If you want to sort the bars by their values, use a regular stacked bar chart and put the "demo_female" in the Axis, not the Legend.

How to create custom legends in Power bi?

I just need to move my legends in top left corner. But there is no option for that.
So is any way I can create maybe a table with one column color shape and the other column the description?
Something like that:
And then just use it as Legends for the chart?
Depending on your visual you have under the format tab a legend option. For example if you use a pie chart you can toggle the legend on or off. Also you can position the legend (top, top left, bottom, etc...).
The second way is to use a custom visual with your desired needs.
And the third way is, like you already stated, a table which acts as legend. Either you enter your legend text in a separate table manually or you use a query. For example a distinct count to get the unique values.

Displaying labels for grouped datasets in ChartJS clustered column graph

Not sure how to even define this question, so bear with me!
First, I want to display multiple unrelated datasets, side by side.
Second, for each dataset, I'd like to have column-based lables (default for each column), then an overall "grouped" label for the dataset.
I can "fake" the appearance of this chart by entering a "zero" column entry, creating the gap between the "datasets" I have (even though in ChartJS is just one dataset).
The text line one is default behaviour with ChartJS to display the column label. However getting a "grouped" label to appear is beating me! What I've ended up doing is generating the chart label-less, then doing some funky HTML hacks to get the labels back with the grouped text I need. This approach is not scalable.
Can anyone point me in the right direction for this? Doesn't have to be ChartJS powered.

It is possible to hide part of labels google chart

I want to hide couple labels, first 2 and last 2 in axis X.
I want to disable black line at the bottom of the graph.
I'm able to do it after the chart is loaded - using javascript and change it dynamically. When I add new data and use draw method, Graph is overwriting my dynamic stylesheets changes. I was trying to set it as an option in graph initializer but I couldn't find the solution for that.
I use areaChart.
It was 3 years ago. I don't need it anymore. I'm leaving this question for others.
It's a little hard understanding what you're trying to do, but I think I get it.
As I read it, you want to eliminate two variables from your DataTable when you plot your chart (to prevent them from being in the legend)? Assuming that's the case, you can either take them out of the data table, or use a ChartWrapper on your object, and set the view:{columns:[x,y,z]} option to the ChartWrapper. Assuming you can't change the DataTable, or a ChartWrapper isn't an option, and you just want to not have certain plotted objects appear in your chart but not in the legend, you want to set the series option. For example, assuming three columns in your DataTable, you can hide the third item as:
series: [{visibleInLegend:true}, {visibleInLegend:true}, {visibleInLegend:false}],
Second of all, if you want to hide the horizontal axis, you need to have continuous data, and set hAxis.baselineColor to 'clear'.
To hide some of the tick-mark labels, use ticks: ticklist to label the axis, and for some of the labels in ticklist use an {v:value,f:label} structure definition, with a zero-length string for the label.
Here's an example. Note the omitted labels for some of the ticks on each vertical axis. View source to see how I did it:
http://www.sealevel.info/co2_and_ch4c.html
Note the tick list definitions. This one is for the left vertical axis:
var vticklist1 = [{v:235,f:''},{v:250,f:''},275,300,325,350,375,400,{v:425,f:'ppmv'}];
The first & second ticks (at the bottom, for values 235 and 250) display no labels. The next six ticks, for values 275-400, display normally. The last (top) tick displays as "ppmv" instead of 425. The result looks like this: