Conditional Data Validation in Google Sheets, limit second drop-down based on first drop-down - validation

I want to select a category in a drop down, then limit the next drop-down in that row to items only in that category, then lookup the value for that item and display it from a data table. I would prefer to avoid scripting if at all possible. I swear I've done it before, but maybe it was in Excel...
I have a table where first column represents category and second represents item. Categories are non-unique, Items are unique. I want a "selection" sheet where the first column chooses from available Categories in the first column of data and second column chooses from Items that have that category in column 1 in the data table. Pictures to show desired end result, but set manually. How do I make this happen dynamically? In this case, I cannot have a header of "A, B, C" with the items listed below, as each item has it's own value that will be pulled with a lookup in the third column of the selection area.
In selection area, first column has "A" selected, so options are only "Z", "X", and "Y" for second drop down.
In selection area, first entry now has "B" selected, so options are only "W" and "V" for second drop down.

You can do it with a combination of named ranges and =INDIRECT()
Workflow:
Go on Data -> Named ranges and create named ranges in column B corresponding to each different value of column A
In column E, create a data validation with column A as range
Select a dummy column (e.g. D) and paste the formula =INDIRECT(E1) - this will display in this column the data belonging to the named range chosen in column E
Create a second validation in column F taking column D as range
This will result in a dependent dropdown - you can set the auxilliary column D to hidden.

Related

BIRT Report Designer - Table to Produce Rows in Multi Columns

I have a table, which is listing the name of benefits and it is only 1 column (just name of the benefit).
I'm wondering if there is any native function of BIRT Report Designer to produce rows not only vertically but also populate horizontally to 3-4 columns.
Something like below:
Benefits List
Benefit-1 Benefit-3 Benefit-5
Benefit-2 Benefit-4 Benefit-6
Thanks in advance for any advice.
Ok, I found a solution!
Under the following link there is a Eclipse Community Page Link recommendation about an additional computed column. Even though I don't have any computed column, the recommendation gave me an inspiration. Instead of creating an additional column, I used the rownum that is used generally to bind dataset parameter. For the table row, I created "visibility" condition that checks if the rownum + 1 is divided by 3. Depending on what is the result, it will be hidden or viewed:
Main Grid
It includes a grid with 2 rows and 3 columns. 1 row is merged to view the header. In each column of second row, the same table is placed with the same dataset.
Image Showing Main Structure
Select Table Row
Image Indicating Row Selection
Set the Visibility
Image Showing Details of Visibility Condition
The syntax basically means: "Do not show the row if the division result is not 1".
For the second column, you will need to compare with 2: (row.__rownum + 1) % 3 != 2 and the third column with 0: (row.__rownum + 1) % 3 != 0
Hope it'll be helpful for someone.
An more straightforward approach ist to use a List item instead of a Table item.
In the detail area of the List, create a Grid item of fixed width and height.
Put the content (e.g.) text into the grid's cells.
Important: Set the "display" property of the grid to "inline" instead of the default "block".
This way BIRT will put the grids from left to right until the line is full.
Then it will fill the next line (think of "display: inline" like adding words to a paragraph).

Birt Report Designer : Add label and dynamic text from dataSet

I have a dataSet of person.
Is it possible to iterate and add label and dynamic text from dataSet in this format.
Name: John
Address : This is an exemple
Others label/text
Name: Alex
Address : This is an exemple
Others label/text
And so on.
Thanks.
You can use a list item instead of the table item.
Bind the list item to the data set (just as you would do with a table item).
Then, inside the list item's detail area,
create a grid item, say 2 cols x 3 rows.
You can that add your labels (static texts) like "Name:" to the cells in the left column and the data items to the right column of the grid.

Filtering dropdown list in Google Sheets based on a checkbox on another sheet

this seems like a very simple thing to do, but I've not been able to find an answer (probably because I'm not using the right words to search).
What I'm trying to do is create a dropdown list that only includes names if certain criteria are met.
I have a registration list of names on Sheet 1 Column C, with a checkbox in Sheet 1 Column E that needs to be checked once ID has been validated. On Sheet 2, I want to create a dropdown list in column C that only includes names from Sheet 1 Column C IF the Sheet 1 Column D checkbox is checked.
Sheet 1 with Checkbox
Sheet 2 with dropdown
use helper column to create items for dropdown validation. in Z1 of Sheet2 paste:
=FILTER(Sheet1!C:C; Sheet1!E:E=TRUE)
then create dropdown from list of items located in Z column. when you done you can hide Z column and forget it.

SSRS Dynamically Show Data

I am wondering if you can have other tables show based on the value selected in the main table. I am not opposed to drill-down either.
My main table is the summary and was hoping to show additional data when the user clicks on a Type. When clicked another table would be visible. For example, in the screenshot, the Pool table would be visible when the Pool type is clicked in the main report. As mentioned if this is easier as a drill-down then I will do that, but not sure how. The report currently has a dataset for each table. Do I need to combine the datasets to do a drill-down?
Main and child tables
The best way to accomplish what you described is with a drill down and you would need to combine the datasets into one.
Combine your datasets
Add a table to your report and reference the single dataset
Add your detail row group to the table - from your child table (Area, Average)
Add a parent group to your details row, group your detail row group by Type, it should add a Type column to your table. Delete this column and it will ask you to delete the associated group as well. Select the option to delete only the column.
Recreate your table by adding rows, be sure to match the grouping indicators (brackets) on the left side
Right-Click on the bottom row in the box where the bracket is to highlight the entire row, click Row Visibility. For the option "when the report is initially run:", select Hide. Check "Display can be toggled by this report item" and select the name of the textbox that contains [Type]. If you don't know what this is, exit out of the dialogue box and right-click on the cell [Type] and click Textbox properties, the Name will be in there
Repeat step 6 for the label row for your details row (second row from the bottom)

Google Sheets - Auto-select an option from existing dropdown menu based on another cell's data

I have a sheet with a dropdown menu in A1, and a cell A2, with values that will be the result originated from a script.
I want a certain option from the dropdown menu (the first one, to be precise) to be selected automatically when a certain value is present in A2.
Here's a simulation:
https://docs.google.com/spreadsheets/d/1x-pmDmB6mbyjXFY0rHOkIzkpNagRJXif9dWNj3TJHkU/edit?usp=sharing
In A1, I want to write the formula:
If A2 is equal or less than zero, I want option 1 to be force displayed/ automatically selected in A1.
If A2 is more than zero, then I want the manually selected option to remain as it is.
I'm not completely sure if we're talking about the same thing, but I believe this has a lot in common with how dynamic dependent dropdowns are created in Google Sheets.
The only main difference is that you don't rely on a dropdown choice for your condition, but any cell value of your choice.
So how does this work?
The value in G1 is:
=IF(F1>0,filter(B:B,A:A="POS"),filter(B:B,A:A="NEG"))
This basically means that if F1 is greater than zero, only the values in Column B, whose corresponding value in Column A is POS, show up in Column F.
If F1 is zero or less than zero, only the values of Column B, whose corresponding value in Column A is NEG, show up in Column F.
Accordingly, we can now use Column F (the range G1:G8) as a 'dynamic' reference for the data validation of a dropdown. In the example, this was done in F2.
This YouTube video explains the underlying filter mechanism pretty well. I just expanded it with an IF-statement.

Resources