JSON Filter Lookup on SharePoint - json

I've problem with JSON script.
Which is I have 2 List on SharePoint : first list (marketing catalog) using JSON Script for status column and second list (catalog order)
I've joined it with lookup column on second list (catalog order), but it show all status (active and non active), rather than i need only active is "show"
Thanks
for more detail I attached my screen shoot
JSON Script to filter status

I am using Sharepoint on-premise 2019 (modern). Based on my information the possible way to achieve it is:
You cannot "expand" your lookup column for Choice field (I assume that Status column in Marketing Catalog is Choice field).
Add calculated column (for example StatusHidden) for Marketing catalog only to "copy" Status column as text field.
In Catalog order list show additional field for Calculated column - StatusHidden
In view for Catalog Order, filter items based on StatusHidden column equal to Active.

Related

PowerBI extracting JSON record to a custom column

I am taking data from a web source and have expanded all my columns. When everything is split and expanded, my columns look like:
result.col1| result.col2| result.col3| result.col4
val1 | val2 | Record |val4
In here we can see that result.col3 has another JSON record.
What I am trying to accomplish is: How can I create a custom column that reads each Record and outputs a value based off one of the items?
For example the JSON record has:
link: https://google.com
value: 444333
I want the custom column's row to display "A" if value inside the record is "444333"
You could copy the result.col3 column, expand the copy, build your custom column based on the expanded fields, then delete them.

List report, filter by letter

I am building a summary report which looks at users that are marked in a database as having a common trait i.e return all users by name in the last 5 years whose contract contains an end date.
This generates a figure e.g. [250]
I drill through on that figure to give a list report of names, first name and surname.
I have ordered the list A-Z
I would like to add a row of 26 letters at the top of the report and have each letter return only the names with the corresponding starting letter.
Would this need to be a further drill through or is it possible to refresh the existing list based on a user-driven selection?
Just add a custom parameter to your report. Right click on Parameters and Add Parameter.
(and so on...). Default value should be All then.
Then simply add the following filter to your tablix:
'Expression:
=Switch(Parameters!YourParameterName.Value = "All", True, Parameters!YourParameterName = Left(Fields!YourNameField.Value, 1), True)
If you are just using SSRS as it comes, then you can't refresh report content without running the report again, so you would either
re-organise your current report.
need another drill through report.
Depending on your layout you could group the data by the first letter and then have an collapsible row group to show/hide that group of names. To do this simply add a parent row group, set the value, group value and sort value all to =LEFT(Fields!myNameField.Value). Next set the visibility of the details row group to hidden and set the toggle visibility property to point to the cell that contains the letter from the parent group you just created.
If you have too much data to make this efficient the you might have to go down the additional subreport route.
To make life a bit easier, and to save you having to create 26 links and parameter values, I would do the following...
Create a table that stores the list of letters
Add a matrix to your report, that has a column group grouped on the letter value from this table. This will act as your 'filter bar'
Set action on the matrix cell to "go to report", point to the final drill thru report and pass the [myLetterColumn] value as the parameter.
There's no need to set available parameters assuming this sub-report will be hidden and only called from the parent report.

create a filter on multiple columns using a single dropdown list. ssrs

enter image description herei have a situation, i have a multi select drop down list. I would like to create a filter on multiple columns using a single dropdown list. eg :- Column A or Column B ( Search on column A value or Column B Value) how can i do it ?
REPLY
In the picture release is a multi select drop down list. and i want to filter on Future release as well as release columns that i display the data.
enter image description here
You can filter those two column at dataset level.
In query use "Where Release in (#ReleaseParamater) OR FutureRelease In (#ReleaseParamater)"
While passing parameter to dataset use join function to get value with comma separated like below.
JOIN(Parameters!ReleaseParamater.Value,",")
Check out below image
Filter Image
enter image description here

SSRS Reporting multi value parameters

I have a ssrs report, that gives me multiple product's price. My Parameter is not drill down, I have to type in the parameters(since I have large range of product number).
Now my questions is, how can i get the last entered product ( parameter) always appear at the bottom of the report ?. This would help me where to look the latest product in the report.For example I have product numbers like:
abc-234,
abc-570,
ght-908,
Now what I want is that the latest entered product number which is ght-908 to appear at the bottom of the ssrs reports. Right now it gives me the report for the multiple product, but its all over the place and i have to squint my eyes and try to find out where my most recent entered product numbers (parameters) is. I have also tried to stop the parameters to being refreshed everytime i add a product number.
Assuming your parameter name is MyParameter, in report designer (BIDS) just drop a textbox onto report below the data (e.g. Table) and put following expression into its value's formula:
=Parameters!MyParameter.Value.Split(",")(Parameters!MyParameter.Value.Split(",").Length - 1)
it will split the parameter list and grab the last value
Update: here is the screenshot with steps:
And here is the runtime result
This expression works for me:
=Trim(Right(Parameters!Product_Number.Value
, InStr(StrReverse(Parameters!Product_Number.Value), ",") - 1))
Trim might not be strictly necessary but is useful as it will work if the values are split with spaces as well as commas, or not.
For example:
It sounds like you want to order the results of the stored procedure by the order of the product codes as they are typed into the report parameter (which is a comma separated list).
You can return the index (order) of each product code in the parameter by using the Array.IndexOf and Split functions, e.g.
If you have a report parameter called "ProductNumber" and you also have a field called "ProductNumber" returned in your dataset, the following code will return the zero-based index of the Product Number as entered into the parameter list:
=Array.IndexOf(
Split(Parameters!ProductNumber.Value.ToString(), ",")
, Fields!ProductNumber.Value
)
So if abc-234 is the first product number in the parameter list then this code will return 0. If abc-570 is the second product number in the parameter list then this code will return 1, etc.
Assuming the products are listed in a tablix, then I would set the tablix sort expression to the above, which should sort the products into the order specified in the report parameter.

Display data in SSRS

I have two tables on the SSRS report which displays data depending on the results returned by a single dataset.
The second table displays a subset of data which is displayed on the first depending on some parameters.Now I would like to implement a functionality which displays "no rows" in the second table if the countrows=0 (subset returned from first table) and display the data(subset of data in the first table) if the countrows>0
How can I implement this?
There is a property on the table called "NoRows" that allows you to enter any text you want to show if there are no rows returned.
you can also use this solution:
for your dataset2 click the tablix and at the bottom you shall have Row groups. Click on each of the row groups. So if you have 1 child and 1 parent you will have to do this on both.
1) Right click group_child->group properties->filters and put the following expression "=IsNothing(Fields!Group_Child.Value)="True"" "; set it as boolean expression and 'value'='False' and you will have to do same for Group_parent1 thru n.
This will display NO rows if you have NO data for bottom dataset. If this is the same thing you want to do with Tablix 1 go for it.