У меня есть список из трех строк, я сравниваю их друг с другом при определенном условии, чтобы проверить, совпадают ли они с какими-либо. Если они совпадают, мне нужно агрегировать сумму внутреннего списка.
Ниже приведен список, который у меня есть. Мне нужно проверить, идентичны ли значения Property1, Property2 и Property4 (которые находятся в InnerList). Если они идентичны, мне нужно добавить столбец «Процент» во внутренний список для конкретного значения Property4, а затем отобразить также другие соответствующие свойства.
{
List:[
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 50.00}]
},
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 50.00},
{Property4 : 50,Percentage: 50.00}]
},
{
Property1: "Mango",
Property2: "Fruit",
Property3: "INDIA",
Name: "bbb",
InnerList:[{Property4 : 75,Percentage: 50.00}]
}
]}
Я использую приведенный ниже запрос для их группировки и агрегирования. Логика группировки и агрегирования работает отлично, но я не могу получить правильные значения для других столбцов (значения Property3 и Name)
Query used:
var result = list
.GroupBy(x => new { x.Property1, x.Property2 })
.Select(g => new
{
g.Key.Property1,
g.Key.Property2,
list[0].Property3,// not sure how to assign the correct value for Property3, Name for different groups
list[0].Name, // It assigns only the List[0] value for all groups, but need its correct value for that group
InnerList = g.SelectMany(x => x.InnerList)
.GroupBy(x => x.Property4)
.Select(g2 => new InnerList
{
Property4 = g2.Key,
Percentage = g2.Sum(x => x.Percentage)
})
});
Ожидается
{
List:[
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 100.00},
{Property4 : 50,Percentage: 50.00}]
},
{
Property1: "Mango",
Property2: "Fruit",
Property3: "INDIA",
Name: "bbb",
InnerList:[{Property4 : 75,Percentage: 50.00}]
}
]}
Подробнее здесь: https://stackoverflow.com/questions/745 ... uping-them
Присвойте правильные значения столбцам после их группировки ⇐ C#
Место общения программистов C#
-
Anonymous
1763109281
Anonymous
У меня есть список из трех строк, я сравниваю их друг с другом при определенном условии, чтобы проверить, совпадают ли они с какими-либо. Если они совпадают, мне нужно агрегировать сумму внутреннего списка.
Ниже приведен список, который у меня есть. Мне нужно проверить, идентичны ли значения Property1, Property2 и Property4 (которые находятся в InnerList). Если они идентичны, мне нужно добавить столбец «Процент» во внутренний список для конкретного значения Property4, а затем отобразить также другие соответствующие свойства.
{
List:[
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 50.00}]
},
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 50.00},
{Property4 : 50,Percentage: 50.00}]
},
{
Property1: "Mango",
Property2: "Fruit",
Property3: "INDIA",
Name: "bbb",
InnerList:[{Property4 : 75,Percentage: 50.00}]
}
]}
Я использую приведенный ниже запрос для их группировки и агрегирования. Логика группировки и агрегирования работает отлично, но я не могу получить правильные значения для других столбцов (значения Property3 и Name)
Query used:
var result = list
.GroupBy(x => new { x.Property1, x.Property2 })
.Select(g => new
{
g.Key.Property1,
g.Key.Property2,
list[0].Property3,// not sure how to assign the correct value for Property3, Name for different groups
list[0].Name, // It assigns only the List[0] value for all groups, but need its correct value for that group
InnerList = g.SelectMany(x => x.InnerList)
.GroupBy(x => x.Property4)
.Select(g2 => new InnerList
{
Property4 = g2.Key,
Percentage = g2.Sum(x => x.Percentage)
})
});
Ожидается
{
List:[
{
Property1: "Apple",
Property2: "Fruit",
Property3: "USA",
Name: "aaa",
InnerList:[{Property4 : 100,Percentage: 100.00},
{Property4 : 50,Percentage: 50.00}]
},
{
Property1: "Mango",
Property2: "Fruit",
Property3: "INDIA",
Name: "bbb",
InnerList:[{Property4 : 75,Percentage: 50.00}]
}
]}
Подробнее здесь: [url]https://stackoverflow.com/questions/74534437/assign-correct-values-of-columns-after-grouping-them[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия