Tableau software - Is it possible to hide a parameter depending on the value of another parameter? - tableau-api

I have a dashboard with three displayed parameters:
Time range (Last month, This month, Last 30 days, ..., custom interval)
From (the begin date of the interval)
To (ending date of interval)
My point is that I want to display "From" and "To" parameters only in case when "Time range" parameter is equal to "Custom interval".
Otherwise, i want to hide them, or make them impossible to edit.
Could you help me with this please ?
Thanks.

There are a handful of techniques for selectively hiding components on a dashboard, informally called "sheet swapping".
One simple approach is to place a floating worksheet in a layer above the components you wish to hide -- and make that worksheet have filters based on calculated fields that lead to zero rows or columns being displayed when you wish to show the components below. Then if you hide the title on the worksheet, it will display as zero pixels high or as its complete height depending on the parameter settings.
Here is an example of that approach https://public.tableau.com/en-us/s/gallery/music-uk
Another form of sheet swapping that gives you a little more flexibility is to place the components that wish to selectively display inside a layout container along with a component whose size depends on the parameter setting. Then you can adjust the "fit" options for the worksheets and where and how you place the layout container to make the optional controls slide in and out of the dashboard, or slide beneath or out from under a floating component.
Joshua Milligan published a workbook demonstrating some of these techniques http://public.tableau.com/views/SheetSwappingonSteroids/PracticalExample and he also describes them in his (highly recommended) book Learning Tableau 10
Robert Rouse also published a blog entry showing some fancier sheet swapping techniques https://www.tableau.com/about/blog/2016/1/how-create-collapsible-menu-container-tableau-48610
Note, sheet swapping puts a bit of unnecessary load on the Tableau server if overdone (computing layout positions for views that won't be displayed anyway).
If you don't mind a bit of coding, another option is to embed your visualizations within an HTML page of your own design. Then you can use all the power of HTML and CSS to style parts of your UI - including hiding and showing input controls. Then write a bit of JavaScript using Tableau's JavaScript API to let Tableau know when someone updates an HTML control so it can update the visualization in response. For a really robust complex page, that might be a better choice than trying to emulate HTML/CSS with sheet swapping techniques in a Tableau workbook.

Related

Share kusto variables between grafana panels

Well, let's say that I have the query from my previous question: How to do multi graph time series on Grafana with Kusto
Then I'd like to consume the tiemposCicloBruto variable from one panel to another in order to avoid repeating queries.
I saw: https://grafana.com/blog/2020/10/14/learn-grafana-share-query-results-between-panels-to-reduce-load-time/
But there isn't any way to share variables at all...
I also tried it as a dashboard variable, but it doesn't seem to support tabular expressions at all...
You can share only input variables across dashboard panels. Variables work as primitive text substitution in one direction (from dashboard to query), and do not take into account any context in your query language.
Your link tells about sharing results of the query between different panels. If exact same result set returned to a panel fits your needs, you can reuse it "for free", without putting load on the database. You don't need to save it into any variable, you just set it as a pseudo-datasource and you get the result immediately.
You can factor this feature into design of you panels. Examples could be:
time series plus histogram visualizations of the same data;
time-series chart plus a panel with latest readings (or use other Grafana reduce expressions).

How do I get an object that will both extend vertically to fill a section AND have a background determined by a formula?

Goal
Create a table.
Problem
The first column of the table is text, and sometimes has to extend down to the next line. Meanwhile the other columns need to become gray based on some external conditions. These boxes will also have content, assuming a grey background is not applied.
The Reason I'm Asking
When I search for an solution to this problem, I am confronted with conflicting answers, telling me to use one or another of options, neither of which fill my requirements.
Text fields only extend when their text requires them to, and will not fill a section.
Text fields can have their background controlled by a formula.
Boxes are able to extend automatically to fill a section.
Boxes do not have any properties controllable by formulas.
Does anyone know how to deal with this problem at all? I have even seen suggestions to stack objects and suppress them, but this will not work for boxes, which cannot have a formula applied to their suppress.
EXAMPLE:
It turns out they eventually fixed this issue in a later version of Crystal Reports:
This is available in version 13, SP19.

Tableau: how to build cascading parameters?

Just see as following image
what I want to realize is, when I choose a specific area in the Area dropbox, The Block dropbox only shows the content which only belong to the selected area. How to realize that in tableau? Area and Block are both parameters.
I would advice you to use filter. then for the block filter,click the arrow on the top right and select "Only Relevant Values".The block filter will then refresh after you choose an area to show only the blocks related to that area.
For parameters currently the dynamic refresh feature is not present, though it is being demanded.
Filters can cascade in Tableau if you select the "Relevant Values" option on the quick filter. (see the little black triangle in the top right of the quick filter).
You may want to also put the two fields into a hierarchy to teach Tableau that Blocks are subordinate to Areas, but Tableau will try to show only relevant values even if you don't define the hierarchies explicitly. To make a hierarchy, drag fields on top of each other in the data pane on the left.
There is no concept of relevant values for parameters currently. Each has an independent range of values. Parameters are not tied to a data source.

Dynamically removing table from rdlc report

I'm creating an SSRS report in VS2012.
Under Tablix Properties I can show or hide a table using an expression which uses a boolean parameter; but this leaves a gap in the report.
Is there a way I can just remove the table?
You could call a subreport and determine different subreports based on a variable. You cannot remove space with SSRS to my knowledge of it, it is not designed to remove space, just perform different actions on objects that take up space. I don't even think you can resize the objects dynamically unfortunately. You can cheat though and make two subreports, one with the supposed table and one without. Then when your variable gets hit it calls one and not the other. Since a subreport can change sizes that is a way to thus trick the system's language limitations. It may not fit your needs but it is a thought that could in theory solve this problem.
I think it depends on the report layout and all sorts. I created the simplest case:
From Designer mode you can see it's just three tables in the report, nothing else. The middle table's visibilty is parameter based. In this case, SSRS does make an effort to shift the last table depending on whether the middle is visible:
In this case you still have maybe too much whitespace showing. There are various ways around this. One example is embedding the middle table in a Rectangle that extends to top of the last table, then moving the visibility expression from the table to the Rectangle. In Designer:
End result, looks better:
I guess all I'm trying to show is that SSRS does sometimes move things around based on visibility, but you can also apply extra control using tools like Rectangles to control visibility and layout.

newbie BIRT - layout - fields side-by-side for Address etc

I wanted to find out how to specify fields to appear side-by-side in BIRT layout e.g.- City State Zip in a address line. By default, it seems to put the fields one below another and I can't seem to find a way to reposition them side-by-side
BIRT 2.6.0 and Eclipse Helios
I would use a grid to control the placement of the controls on the page. BIRT uses a web design metaphor and as such things need to be placed explicitly on a page. When you are building a page in simple HTML you often need a table or some other structural element to control how one piece of text (or image) relates to another. BIRT is no different in this regard.
Good Luck!
Using a grid for this is not the right solution unless you actually want elements aligned into columns.
If you set the Display value of your Data elements to Inline instead of Block they will be displayed side by side on the same line exactly like you want.
I use BIRT 2.3.2, and it normally puts fields side-by-side, by default. This may be an issue to do with which report item type you are using to display your data - try using a table, rather than a list report item.
The BIRT does not follow the placement of element based upon the X, Y coordinate instead it used relative tabular layout. So, fields can only be placed in sequential manner. To align it perfectly, Grid control can be used with needed rows and columns and set the width and height of columns.
However, this is just a workaround to place the element, exact placement of element on absolute position is yet not available. May be in future release it could be added into the BIRT.