How to count records with multiple instance.
Sample Data:
Sun
Moon
Earth
Sun
Moon
Sun
Expected:
Sun = 3
Moon = 2
Earth = 1
Solved! Go to Solution.
You can use the GroupBy function to group your table by that variable, and then use the CountRows function to calculate the number of items on each group. If your data is in a collection called 'coll', and the name of the column that has the sample data is 'Name', then the expression below will give you a table that has a column for the name and another with the count of items of that name.
AddColumns( GroupBy(coll, "Name", "ByName"), "Count", CountRows(ByName))
Hi!
I guess you mean that they are all individual records, but have the same values. You can do this with CountIf - you can see the documentation here: https://powerapps.microsoft.com/en-us/tutorials/function-table-counts/
You can also get the distinct values, in your example you'd get only Sun, Moon and Earth. Read about Distinct here: https://powerapps.microsoft.com/en-us/tutorials/function-distinct/
If you have a gallery you could use both formulas to get what you want. In the gallery's Item-property you have to use the Distinct function, and then in the template part you have to have a label with the Text-property set to the CountIf, something like this:
CountIf(planetDB, HeavenlyBodyName = ThisItem.HeavenlyBodyName)
Good luck!
Hi,
Thanks for the reply. I want to know the record with the most number of instance (same values).
Thanks!
You can use the GroupBy function to group your table by that variable, and then use the CountRows function to calculate the number of items on each group. If your data is in a collection called 'coll', and the name of the column that has the sample data is 'Name', then the expression below will give you a table that has a column for the name and another with the count of items of that name.
AddColumns( GroupBy(coll, "Name", "ByName"), "Count", CountRows(ByName))
This is not woring
This helped me to resolve a similar need, just wanted to correct the code referenced. This is what should work (add ThisRecord. before ByName):
AddColumns( GroupBy(coll, "Name", "ByName"), "Count", CountRows(ThisRecord.ByName))