Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I tried to create a conditional index for another list I created. here is the code I wrote and error I got. The first list is to create a position indicator where the index can began. The first one worked. and the second one gave the error.
=[
Splitposition= List.PositionOf(List.Transform(#"Filtered Rows"[Vendor Subline Num], each _ =1), true, Occurrence.All),
Conditionalindex = List.Generate(()=>0, each _ >= Splitposition, each _ +1)
]
Expression.Error: We cannot apply operator < to types List and Number.
Details:
Operator=<
Left=[List]
Right=0
Solved! Go to Solution.
use the below formula
let
Source = {1,1,2,3,1,2,1,2,3,4,5,1,2,3,1,1,2},
Custom1 = List.Transform(List.Positions(Source), each if Source{_}=1 then _+1 else null)
in
Custom1
result in
the result of Splitposition is a list and
in this part
_ >= Splitposition
you can not compare a number (_) with a list (Splitposition).
you can replace it by _ >= Splitposition{0}
but if you explain the purpose of your function I can help you more
Occurrence.All will create a list.
yes. i do want a list because there are multiple 1s in the first list. want i want to do is first to find the positions of the 1s then create fill in nulls in between each position so i can fill down and group them together. is there a way to do it?
Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
Do not include sensitive information. Do not include anything that is unrelated to the issue or question.
Need help uploading data? https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Please show the expected outcome based on the sample data you provided.
Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...
here is sample list1, which represents a column in a table that I need to group. each 1 starts a new group. I use List.PositionOf to find out the positions where each group starts. Then I want to fill in nulls and use fill down to fill the spaces. I will use the new index column to group the entire table.
{1,1,2,3,1,2,1,2,3,4,5,1,2,3,1,1,2}
Hi @jimmyhua
"here is sample list1, which represents a column in a table that I need to group. each 1 starts a new group."
You can use Table.Group directly
= Table.Group(
YourSource,
{"YourColumn"},
{{"Data", each _}},
GroupKind.Local,
(x,y) => Byte.From(y[YourColumn]=1)
)
Stéphane
wow. i have never used Table.Group function. this is eye opening for me. Thanks a lot.
Please show the expected outcome based on the sample data you provided.
I would like to be able to create a list2 like this based on list1
{1,2,null,null,5,null,7,null,null,null,null,12,null,null,15,16,null}
use the below formula
let
Source = {1,1,2,3,1,2,1,2,3,4,5,1,2,3,1,1,2},
Custom1 = List.Transform(List.Positions(Source), each if Source{_}=1 then _+1 else null)
in
Custom1
result in
let
list1 = {1,1,2,3,1,2,1,2,3,4,5,1,2,3,1,1,2},
list2 = List.Transform(List.Zip({list1,List.Positions(list1)}), each if _{0}=1 then _{1}+1 else null)
in
list2
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
10 | |
7 | |
7 | |
6 | |
6 |