logo
down
shadow

To add values in cumulative format


To add values in cumulative format

By : David Vilar
Date : November 19 2020, 12:41 AM
seems to work fine There are two ways to solve your problem. One would be to sum up all preceding sibling books, which is easy to read and code, but has O(n^2) complexity and thus does not scale well for large input, but will be fine for rather small sets (complexity might even be worse, depending on how your XQuery processor resolves the preceding siblings).
code :
for $book in /bookstore/book
return
  <price>{ sum(($book/price, $book/preceding-sibling::book/price)) }</price>
declare function local:sum($books, $sum) {
  if ($books) then
    let $price := $sum + $books[1]/price
    return
      (
        <price>{ $price }</price>,
        local:sum($books[position() > 1], $price)
      )
     else
       ()
};

local:sum(/bookstore/book, 0)


Share : facebook icon twitter icon
Transforming a cumulative sequence of values by date to the non cumulative values

Transforming a cumulative sequence of values by date to the non cumulative values


By : Fernando Buenaventur
Date : March 29 2020, 07:55 AM
it fixes the issue Is it possible with mysql, to get the sum for a given date range of cumulative values?
code :
SELECT x.*
     , CASE WHEN WEEKDAY(x.date) = 5 
            THEN x.value 
            ELSE x.value-y.value END x 
  FROM my_table x 
  LEFT 
  JOIN my_table y 
    ON y.date = x.date - INTERVAL 1 DAY;
Incorrect format in cumulative sum of time column

Incorrect format in cumulative sum of time column


By : Jahanzaib Ch
Date : March 29 2020, 07:55 AM
With these it helps Try using time_to_sec and sec_to_time functions:
The order by is required to get consistent results. Assuming you want to find this cumulative sum in the increasing order of one or more columns , say flight_id:
code :
SET @total_duration := 0;
SELECT 
    duration,
    sec_to_time(@total_duration := @total_duration
                 + time_to_sec(duration)) AS cumulative_duration
FROM tbl_flights
ORDER BY flight_id -- required to get consistent results
                   -- (change the column name in "order by" as needed.)
Calculating cumulative values for every 12 months on tables with possibly null values

Calculating cumulative values for every 12 months on tables with possibly null values


By : Pittsburgh Eddie
Date : March 29 2020, 07:55 AM
hope this fix your issue I have modified the quer from @Sebastian. The init is also in the query. the counter will reset each year and the where is not necessary
code :
SELECT 
  (@amv:=IF(MONTH(fulldate)=7,MV, IF(ISNULL(MV), 0, @amv+MV))) AS AMV, 
  (@ami:=IF(MONTH(fulldate)=7,MI, IF(ISNULL(MI), 0, @ami+MI))) AS AMI, 
  fullDate
FROM 
  input
CROSS JOIN ( SELECT @amv := 0, @ami := 0) AS init
ORDER BY fullDate ASC;
mysql> select * from input;
+----+------+------+------------+
| id | MV   | MI   | fullDate   |
+----+------+------+------------+
|  1 |    1 |   10 | 2015-08-01 |
|  2 |    2 |   20 | 2015-09-01 |
|  3 |    3 |   30 | 2015-07-01 |
|  4 |    8 |   33 | 2016-07-01 |
|  5 |    2 |    8 | 2016-08-01 |
+----+------+------+------------+
5 rows in set (0,00 sec)

mysql>     SELECT
    ->       (@amv:=IF(MONTH(fulldate)=7,MV, IF(ISNULL(MV), 0, @amv+MV))) AS AMV,
    ->       (@ami:=IF(MONTH(fulldate)=7,MI, IF(ISNULL(MI), 0, @ami+MI))) AS AMI,
    ->       fullDate
    ->     FROM
    ->       input
    ->     CROSS JOIN ( SELECT @amv := 0, @ami := 0) AS init
    ->     ORDER BY fullDate ASC;
+------+------+------------+
| AMV  | AMI  | fullDate   |
+------+------+------------+
|    3 |   30 | 2015-07-01 |
|    4 |   40 | 2015-08-01 |
|    6 |   60 | 2015-09-01 |
|    8 |   33 | 2016-07-01 |
|   10 |   41 | 2016-08-01 |
+------+------+------------+
5 rows in set (0,00 sec)

mysql>
Format one row as soon as cumulative sum reaches a particular number

Format one row as soon as cumulative sum reaches a particular number


By : Jason Hanson
Date : March 29 2020, 07:55 AM
it helps some times Select A5 to wherever suits, and apply a Conditional formatting formula rule of:
code :
=countif($E$5:$E5,">1000")=1
How to calculate cumulative weekly sum of values if I have daily values, using Pandas?

How to calculate cumulative weekly sum of values if I have daily values, using Pandas?


By : user3353938
Date : March 29 2020, 07:55 AM
Hope this helps I am a novice user of Pandas. I have a dataframe that looks like this: , You can do that like this:
code :
import pandas as pd

df = pd.DataFrame([
    [ 1, 3.51],
    [ 2, 1.32],
    [ 3, 0],
    [ 4, 0],
    [ 5, 0],
    [ 6, 0],
    [ 7, 0],
    [ 8, 0],
    [9, 0.03],
    [10, 0],
    [11, 0],
    [12, 0.17],
    [13, 0.23],
    [14, 0.02],
    [15, 0],
    [16, 0],
    [17, 0],
    [18, 0.03],
    [19, 0.02],
    [20, 0],
    [21, 0]], columns=['days', 'rainfall'])
result = df['rainfall'].groupby((df['days'] - 1) // 7).sum().reset_index(drop=True)
print(result)
# In [418]: %paste -q
# 0    4.83
# 1    0.45
# 2    0.05
# Name: rainfall, dtype: float64
shadow
Privacy Policy - Terms - Contact Us © ourworld-yourmove.org