Uive UDF с приращением даты

Вы можете столкнуться с проблемами производительности при назначении действительно больших списков через LINQ. Следующее решение подходит для больших списков и без подкласса String:

Установите DataGridView (здесь «Вид») в виртуальный режим, создайте нужный столбец и переопределите / зарегистрируйте событие CellValueNeeded

private void View_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
    // Optionally: check for column index if you got more columns
    e.Value = View.Rows[e.RowIndex].DataBoundItem.ToString();
}

, вы можете просто назначить свой список DataGridView:

List<String> MyList = ...
View.DataSource = MyList;
1
задан user10241074 26 June 2019 в 23:21
поделиться

1 ответ

Вы можете сделать это, используя чистый запрос Hive:

set hivevar:start_date=2019-01-02; 
set hivevar:end_date=2019-01-31;  

with date_range as 
(--this query generates date range
select date_add ('${hivevar:start_date}',s.i) as dt, s.i days
  from ( select posexplode(split(space(datediff('${hivevar:end_date}','${hivevar:start_date}')),' ')) as (i,x) ) s
)

select dt, days from date_range; 

Возвращает:

dt  days    
2019-01-02  0   
2019-01-03  1   
2019-01-04  2   
2019-01-05  3   
2019-01-06  4   
2019-01-07  5   
2019-01-08  6   
2019-01-09  7   
2019-01-10  8   
2019-01-11  9   
2019-01-12  10  
2019-01-13  11  
2019-01-14  12  
2019-01-15  13  
2019-01-16  14  
2019-01-17  15  
2019-01-18  16  
2019-01-19  17  
2019-01-20  18  
2019-01-21  19  
2019-01-22  20  
2019-01-23  21  
2019-01-24  22  
2019-01-25  23  
2019-01-26  24  
2019-01-27  25  
2019-01-28  26  
2019-01-29  27  
2019-01-30  28  
2019-01-31  29  

Надеюсь, у вас есть идея.

0
ответ дан leftjoin 26 June 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: