Как получить отчетливое значение таблицы данных и добавить новый столбец с подсчетом каждого отдельного возвращаемого значения [UIPath] [VB.Net]?

Я новичок в UIPath. У меня есть DataTable с этими заголовками:

1.) Дата

2.) Ошибка

Я хочу извлекать отчетливую дату для каждой ошибки и использовать этот код:

dtQuery = ExtractDataTable.DefaultView.ToTable(True,{"Date","Error"})

Благодаря этому я получаю желаемый результат. Моя проблема в том, как я могу добавить (новый столбец, «Счетчик») КАЖДОЕ КОЛИЧЕСТВО ДАННЫХ РАЗЛИЧНЫХ ЗНАЧЕНИЙ? Например:

DATE       |  ERROR               |  COUNT

2/27/2019  |  Admin Query String  |  

2/27/2019  |  404 Shield          |  

2/26/2019  |  404 Shield          |  

2/25/2019  |  404 Shield          |  

2/25/2019  |  Admin Query String  |  

Я попытался использовать ADD DATA COLUMN ACTIVITY со следующими свойствами:

Column Name = "COUNT"
Data Table = dtQuery
DefaultValue = ExtractDataTable.DefaultView.ToTable(True,{"Date","Error"}).Rows.Count

Но, используя это, он дает мне следующее:

DATE       |  ERROR               |  COUNT

2/27/2019  |  Admin Query String  |  5

2/27/2019  |  404 Shield          |  5

2/26/2019  |  404 Shield          |  5

2/25/2019  |  404 Shield          |  5

2/25/2019  |  Admin Query String  |  5

Заранее спасибо! Удачного кодирования!


person Community    schedule 26.02.2019    source источник


Ответы (1)


Вот что я узнал после нескольких часов исследований.

Я могу выполнять итерацию по каждому элементу таблицы данных, используя FOR EACH ROW Activity.

Итак, для каждого элемента строки моего dtQuery я добавляю действие ASSIGN, которое выглядит следующим образом:

row(2) = [item i want to add]

Но это не ответ на мой вопрос. Я хочу знать количество каждого уникального элемента с двумя критериями - это те же ДАТА и ОШИБКА.

Может быть, я могу написать код прямо в файле Excel?

Итак, я исследовал формулу Excel, которая выглядит как «Выбрать отдельный столбец1… и т. Д.».

Я нашел этот видеоурок, надеюсь, он поможет: Countif

Но это только для одного критерия, поэтому я нашел это: Countifs

Итак, чтобы подвести итог, для каждого изображения строки

1.) Я зацикливаюсь внутри dtQuery, используя For Each Row Activity

2.) Внутри цикла я добавляю Assign Activity с этим кодом

row(2) = "=COUNTIFS('LookUp Sheet'!B:B,'Result Sheet'!A" & indexerRow + 2 & ",'LookUp Sheet'!D:D,'Result Sheet'!B" & indexerRow + 2 & ")"

Надеюсь, это поможет другим, кто столкнется с той же проблемой. Удачной автоматизации! ^ _ ^

person Community    schedule 27.02.2019
comment
Привет Еще один способ использовать группировку даты через linq. :), который даст вам такой вывод: - DT.Select.AsEnumerable (). GroupBy (Function (r) r.Field (Of String) (DATE)). [Select] (function (g) g) он вернет вам результат как Igrouping ‹String, Datarow›, тогда вы можете использовать Foreach для дальнейшей обработки - person Aksh; 28.02.2019
comment
@ Акш, спасибо! Я отмечу это и использую в следующем путешествии! ^ _ ^ - person ; 01.03.2019
comment
Я поделился этим лонгбеком и на форуме сообщества Uipath. вы можете посмотреть туда. если нет, то я тоже могу поделиться с вами :) если нужно - person Aksh; 01.03.2019