Shiny App with long running tasks

I am trying to replicate a shiny app with long running tasks and notification of the user of its status and allowing someone to cancel running the analysis. My code is as follows:

library(shiny)
library(promises)
library(future)
plan(multiprocess)

# Define UI for application that draws a histogram
ui <- fluidPage(

    # Application title
    titlePanel("Long run Stoppable MBA Async"),

    # Sidebar with a slider input for number of bins 
    sidebarLayout(
        sidebarPanel(
            actionButton('run', 'Run'),
            actionButton('cancel', 'Cancel'),
            actionButton('status', 'Check Status')
        ),

        # Show the plot 
        mainPanel(
           plotOutput("result")
        )
    )
)

# Define server logic required to draw a histogram
server <- function(input, output) {
  
  transPlot <- reactive({
    data <- read.csv("data/MBA_Online.csv")
    data %>%
      mutate(tDate=as.Date(Date)) %>%
      filter(tDate >= as.Date(input$dRange[1]) & tDate <= as.Date(input$dRange[2])) %>%
      # dplyr::mutate(Month = as.factor(month(as.Date(Date)))) %>%
      mutate(Month=as.factor(month(Date))) %>%
      # dplyr::rename(item = Item) %>% 
      dplyr::group_by(Month) %>%
      # dplyr::summarise(n_distinct(Transaction)) %>%
      dplyr::summarize(Transactions = n_distinct(Transaction)) %>%
      # dplyr::summarise(Count=n()) %>%
      ggplot(aes(x=Month, y = Transactions, fill = Month)) +
      geom_bar(stat="identity") +
      geom_label(aes(label= format(Transactions, big.mark = ",")))+
      theme(legend.position="none")+
      theme(panel.background = element_blank())+
      labs(x = "Month", y = "Transactions", title = "Transactions per month")
  })
  
  N <- 10
  
  # status file 
  status_file <- tempfile()
  
  get_status <- function(){
    scan(status_file, what = "character",sep = "\n")
  }
  
  set_status <- function(msg){
    write(msg, status_file)
  }
  
  fire_interupt <- function(){
    set_status("interrupt")
  }
  
  fire_ready <- function(){
    set_status("Ready")
  }
  
  fire_running <- function(perc_complete){
    
    if(missing(perc_complete))
      msg <- "Running..."
    else
      msg <- paste0("Running...", perc_complete, "%
                    Complete")
          set_status(msg)
    
  }
  
  interrupted <- function(){
    get_status() == "interrupt"
  }
  
  #Delete file at end of session
  onStop(function(){
    print(status_file)
    if(file.exists(status_file))
      unlink(status_file)
  })
  
  # create status file
  fire_ready()
  
  nclicks <- reactiveVal(0)
  result_val <- reactiveVal()
  observeEvent(input$run,{
    
    # Don't do anything if analysis is already being run
    if(nclicks() !=0){
      showNotification("Already running analysis")
      return(NULL)
    }
    
    #increment clicks and prevent concurent analysis
    nclicks(nclicks() + 1)
    
    result_val(data.frame(Status = "Running..."))
    
    fire_running()
    
    result <- future({
      print("Running...")
      for(i in 1:N){
        
        #  Long running task
        Sys.sleep(1)
        
        # Check for user interrupts
        if(interrupted()){
          print("Stopping...")
        }
        
        # Notify staus file of progress
        fire_running(100*i/N)
      }
      
      # Some results
      transPlot()
      
      ###
    }) %...>% result_val()
    
    # Catch interrupt (or any other error) and notify user
    result <- catch(result,
                    function(e){
                      result_val(NULL)
                      print(e$message)
                      showNotification(e$message)
                    })
    # After the promise has been evaluated set nclicks to 0
    #to allow for another run
    result <- finally(result,
                      function(){
                        fire_ready()
                        nclicks(0)
                      })
    # Return something other than the promise so shiny remains responsive
    NULL
  })
  
  output$result <- renderPlot({
    req(result_val())
  })
  
  # Register user interrupt
  observeEvent(input$cancel,{
    print("Cancel")
    fire_interupt
  })
  
  # Let user get analysis progress
  observeEvent(input$status,{
    print("Status")
    showNotification(get_status)
  })
}

# Run the application 
shinyApp(ui = ui, server = server)

Shiny applications not supported in static R Markdown documents

Created on 2019-06-21 by the reprex package (v0.2.1)

However i am encountering some reactive error which is shown below and i am unable to resolve it. Kindly assist:

[1] "Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)"

Data set example is below:

Transaction Item Date Quantity CustomerID Amount monthYear
1 547663 DOG BOWL VINTAGE CREAM 16:00.0 10 16022 42.5 Mar-11
2 547663 BEST DAD CANDLE LETTERS 16:00.0 2 16022 1.7 Mar-11
3 547663 VINTAGE CREAM DOG FOOD CONTAINER 16:00.0 1 16022 8.5 Mar-11
4 547663 CAT BOWL VINTAGE CREAM 16:00.0 10 16022 32.5 Mar-11
5 547663 BLACK AND WHITE DOG BOWL 16:00.0 2 16022 5.9 Mar-11
6 547663 PINK DOG BOWL 16:00.0 2 16022 5.9 Mar-11
7 547663 BLACK AND WHITE DOG BOWL 16:00.0 2 16022 5.9 Mar-11
8 547663 BLACK AND WHITE CAT BOWL 16:00.0 2 16022 4.2 Mar-11
9 547663 PINK CAT BOWL 16:00.0 2 16022 4.2 Mar-11
10 547663 IVORY DINER WALL CLOCK 16:00.0 1 16022 8.5 Mar-11
11 547663 IVORY DINER WALL CLOCK 16:00.0 1 16022 8.5 Mar-11
12 547664 DOORMAT RED RETROSPOT 16:00.0 1 13069 7.95 Mar-11
13 547664 TEA TIME PARTY BUNTING 16:00.0 1 13069 4.95 Mar-11
14 547664 PARTY BUNTING 16:00.0 1 13069 4.95 Mar-11
15 547664 BLUE HAPPY BIRTHDAY BUNTING 16:00.0 1 13069 5.45 Mar-11
16 547664 RED RETROSPOT PICNIC BAG 16:00.0 2 13069 5.9 Mar-11
17 547664 KINGS CHOICE GIANT TUBE MATCHES 16:00.0 1 13069 2.55 Mar-11
18 547664 BLUE POLKADOT COFFEE MUG 16:00.0 12 13069 4.68 Mar-11
19 547664 ROUND SNACK BOXES SET OF4 WOODLAND 16:00.0 1 13069 2.95 Mar-11
20 547664 ROUND SNACK BOXES SET OF 4 FRUITS 16:00.0 1 13069 2.95 Mar-11
21 547664 SET OF 4 PANTRY JELLY MOULDS 16:00.0 2 13069 2.5 Mar-11
22 547664 BLUE POLKADOT EGG CUP 16:00.0 6 13069 2.34 Mar-11
23 547664 RED EGG SPOON 16:00.0 12 13069 1.44 Mar-11
24 547664 SINGLE HEART ZINC T-LIGHT HOLDER 16:00.0 6 13069 5.7 Mar-11
25 547664 HANGING HEART ZINC T-LIGHT HOLDER 16:00.0 6 13069 5.1 Mar-11
26 547664 WHITE SPOT BLUE CERAMIC DRAWER KNOB 16:00.0 9 13069 11.25 Mar-11
27 547664 GARLAND WOODEN HAPPY EASTER 16:00.0 1 13069 1.25 Mar-11
28 547664 RECYCLING BAG RETROSPOT 16:00.0 10 13069 21 Mar-11
29 547664 TOY TIDY SPACEBOY 16:00.0 10 13069 21 Mar-11
30 547664 LOVE HEART TRINKET POT 16:00.0 10 13069 3.9 Mar-11
31 547664 ASSTD MULTICOLOUR CIRCLES MUG 16:00.0 12 13069 4.68 Mar-11
32 547664 MULTICOLOUR SPRING FLOWER MUG 16:00.0 12 13069 4.68 Mar-11
33 547664 YELLOW BREAKFAST CUP AND SAUCER 16:00.0 2 13069 0.78 Mar-11
34 547664 PINK BREAKFAST CUP AND SAUCER 16:00.0 2 13069 0.78 Mar-11
35 547664 TRAVEL CARD WALLET UNION JACK 16:00.0 5 13069 2.1 Mar-11
36 547664 TRAVEL CARD WALLET SUKI 16:00.0 5 13069 2.1 Mar-11
37 547664 TRAVEL CARD WALLET RETROSPOT 16:00.0 5 13069 2.1 Mar-11
38 547664 TRAVEL CARD WALLET VINTAGE TICKET 16:00.0 5 13069 2.1 Mar-11
39 547664 SMALL LICORICE DES PINK BOWL 16:00.0 40 13069 16.8 Mar-11
40 547664 CERAMIC BOWL WITH LOVE HEART DESIGN 16:00.0 4 13069 3.32 Mar-11
41 547664 SMALL CHOCOLATES PINK BOWL 16:00.0 24 13069 10.08 Mar-11
42 547664 BISCUITS SMALL BOWL LIGHT BLUE 16:00.0 24 13069 10.08 Mar-11
43 547664 MIXED NUTS LIGHT GREEN BOWL 16:00.0 24 13069 10.08 Mar-11
44 547664 SMALL MARSHMALLOWS PINK BOWL 16:00.0 24 13069 10.08 Mar-11
45 547664 SMALL DOLLY MIX DESIGN ORANGE BOWL 16:00.0 40 13069 16.8 Mar-11
46 547664 PINK HEART SHAPE EGG FRYING PAN 16:00.0 2 13069 3.3 Mar-11
47 547664 BLUE POLKADOT PUDDING BOWL 16:00.0 6 13069 2.34 Mar-11
48 547664 CUBIC MUG PINK POLKADOT 16:00.0 6 13069 2.34 Mar-11
49 547664 BASKET OF TOADSTOOLS 16:00.0 1 13069 1.25 Mar-11
50 547664 WOOD S/3 CABINET ANT WHITE FINISH 16:00.0 1 13069 8.95 Mar-11
51 547664 VICTORIAN SEWING BOX MEDIUM 16:00.0 1 13069 7.95 Mar-11
52 547664 SMALL CHOCOLATES PINK BOWL 16:00.0 8 13069 3.36 Mar-11
53 547664 LOVE BUILDING BLOCK WORD 16:00.0 1 13069 5.95 Mar-11
54 547664 PAPER CHAIN KIT EMPIRE 16:00.0 1 13069 2.95 Mar-11
55 547664 GARLAND WOODEN HAPPY EASTER 16:00.0 2 13069 2.5 Mar-11
56 547664 BLUE POLKADOT BEAKER 16:00.0 12 13069 4.68 Mar-11
57 547664 RED POLKADOT COFFEE MUG 16:00.0 12 13069 4.68 Mar-11
58 547664 BLUE POLKADOT COFFEE MUG 16:00.0 12 13069 4.68 Mar-11
59 547664 RED POLKADOT BEAKER 16:00.0 12 13069 4.68 Mar-11
60 547665 PACK OF 20 NAPKINS PANTRY DESIGN 17:00.0 12 14256 10.2 Mar-11
61 547665 JAM MAKING SET WITH JARS 17:00.0 12 14256 45 Mar-11
62 547665 JAM MAKING SET PRINTED 17:00.0 12 14256 17.4 Mar-11
63 547665 SET 2 PANTRY DESIGN TEA TOWELS 17:00.0 6 14256 19.5 Mar-11
64 547665 SET OF 3 CAKE TINS PANTRY DESIGN 17:00.0 6 14256 29.7 Mar-11
65 547665 PANTRY ROLLING PIN 17:00.0 6 14256 22.5 Mar-11
66 547665 3 TRADITIONAl BISCUIT CUTTERS SET 17:00.0 6 14256 12.6 Mar-11
67 547665 ROUND SNACK BOXES SET OF4 WOODLAND 17:00.0 6 14256 17.7 Mar-11
68 547665 BLACK KITCHEN SCALES 17:00.0 4 14256 34 Mar-11
69 547665 TABLECLOTH RED APPLES DESIGN 17:00.0 2 14256 19.9 Mar-11
70 547665 COFFEE MUG APPLES DESIGN 17:00.0 6 14256 15.3 Mar-11
71 547665 COFFEE MUG PEARS DESIGN 17:00.0 6 14256 15.3 Mar-11
72 547665 SET OF 2 TEA TOWELS APPLE AND PEARS 17:00.0 6 14256 17.7 Mar-11
73 547665 BISCUIT TIN VINTAGE GREEN 17:00.0 2 14256 13.5 Mar-11
74 547665 BISCUIT TIN VINTAGE RED 17:00.0 2 14256 13.5 Mar-11
75 547665 ROUND CAKE TIN VINTAGE GREEN 17:00.0 2 14256 15.9 Mar-11
76 547665 ROUND CAKE TIN VINTAGE RED 17:00.0 2 14256 15.9 Mar-11
77 547665 3 TIER CAKE TIN GREEN AND CREAM 17:00.0 1 14256 14.95 Mar-11
78 547665 CREAM SWEETHEART EGG HOLDER 17:00.0 4 14256 19.8 Mar-11
79 547665 SWEETHEART CAKESTAND 3 TIER 17:00.0 3 14256 29.85 Mar-11
80 547665 WHITE WIRE EGG HOLDER 17:00.0 6 14256 45 Mar-11
81 547666 PICNIC BASKET WICKER SMALL 23:00.0 16 14235 79.2 Mar-11
82 547666 WRAP DOILEY DESIGN 23:00.0 25 14235 10.5 Mar-11
83 547666 WRAP DOLLY GIRL 23:00.0 25 14235 10.5 Mar-11
84 547666 SET OF 3 NOTEBOOKS IN PARCEL 23:00.0 24 14235 39.6 Mar-11
85 547666 WRAP, BILLBOARD FONTS DESIGN 23:00.0 25 14235 10.5 Mar-11
86 547666 FANCY FONTS BIRTHDAY WRAP 23:00.0 25 14235 10.5 Mar-11
87 547666 JUMBO BAG STRAWBERRY 23:00.0 40 14235 78 Mar-11
88 547666 JUMBO BAG RED RETROSPOT 23:00.0 40 14235 78 Mar-11
89 547666 SET/5 RED RETROSPOT LID GLASS BOWLS 23:00.0 6 14235 17.7 Mar-11
90 547666 RED RETROSPOT BUTTER DISH 23:00.0 3 14235 14.85 Mar-11
91 547666 JAM MAKING SET PRINTED 23:00.0 12 14235 17.4 Mar-11
92 547666 SET OF 3 CAKE TINS PANTRY DESIGN 23:00.0 24 14235 102 Mar-11
93 547666 SET OF 6 SPICE TINS PANTRY DESIGN 23:00.0 24 14235 82.8 Mar-11
94 547666 GIN AND TONIC MUG 23:00.0 12 14235 15 Mar-11
95 547666 FILIGRIS HEART WITH BUTTERFLY 23:00.0 48 14235 60 Mar-11
96 547666 SET 12 RETRO WHITE CHALK STICKS 23:00.0 48 14235 20.16 Mar-11
97 547666 GINGHAM ROSE WRAP 23:00.0 25 14235 10.5 Mar-11
98 547666 TEA BAG PLATE RED RETROSPOT 23:00.0 24 14235 20.4 Mar-11
99 547666 RECIPE BOX PANTRY YELLOW DESIGN 23:00.0 6 14235 17.7 Mar-11
100 547666 FRENCH BLUE METAL DOOR SIGN No 23:00.0 10 14235 12.5 Mar-11
101 547666 FRENCH BLUE METAL DOOR SIGN 0 23:00.0 10 14235 12.5 Mar-11
102 547666 FRENCH BLUE METAL DOOR SIGN 9 23:00.0 10 14235 12.5 Mar-11
103 547666 FRENCH BLUE METAL DOOR SIGN 8 23:00.0 10 14235 12.5 Mar-11
104 547666 FRENCH BLUE METAL DOOR SIGN 7 23:00.0 10 14235 12.5 Mar-11

It would be better to give your data using dput() then we can easily read it in.

What is %...>% ?

Many thanks for your response. Herewith the data as recommended by you:
Transaction Item Date
1 559894 CANDLEHOLDER PINK HANGING HEART 13/7/2011 12:06
2 559894 YELLOW BREAKFAST CUP AND SAUCER 13/7/2011 12:06
3 559894 LUNCH BAG WOODLAND 13/7/2011 12:06
4 559894 LUNCH BAG PINK POLKADOT 13/7/2011 12:06
5 559894 LUNCH BAG CARS BLUE 13/7/2011 12:06
6 559894 LUNCH BAG BLACK SKULL. 13/7/2011 12:06
7 559894 WHITE WOOD GARDEN PLANT LADDER 13/7/2011 12:06
8 559894 PINK VINTAGE PAISLEY PICNIC BAG 13/7/2011 12:06
9 559894 SCANDINAVIAN PAISLEY PICNIC BAG 13/7/2011 12:06
10 559894 LUNCH BAG DOLLY GIRL DESIGN 13/7/2011 12:06
11 559894 LUNCH BAG VINTAGE LEAF DESIGN 13/7/2011 12:06
12 559894 LUNCH BAG DOILEY PATTERN 13/7/2011 12:06
13 559894 LUNCH BAG SPACEBOY DESIGN 13/7/2011 12:06
14 559894 LUNCH BAG RED RETROSPOT 13/7/2011 12:06
15 559894 LUNCH BAG APPLE DESIGN 13/7/2011 12:06
16 559894 LUNCH BAG DOILEY PATTERN 13/7/2011 12:06
17 559894 JUMBO BAG DOLLY GIRL DESIGN 13/7/2011 12:06
18 559894 CHARLOTTE BAG PINK POLKADOT 13/7/2011 12:06
19 559894 RED RETROSPOT CHARLOTTE BAG 13/7/2011 12:06
20 559894 CHARLOTTE BAG VINTAGE ALPHABET 13/7/2011 12:06
21 559894 STRAWBERRY CHARLOTTE BAG 13/7/2011 12:06
22 559894 CHARLOTTE BAG DOLLY GIRL DESIGN 13/7/2011 12:06
23 559894 CHARLOTTE BAG SUKI DESIGN 13/7/2011 12:06
24 559894 WOODLAND CHARLOTTE BAG 13/7/2011 12:06
25 559894 CHARLOTTE BAG PINK POLKADOT 13/7/2011 12:06
26 559894 CHARLOTTE BAG APPLES DESIGN 13/7/2011 12:06
27 559894 MIRRORED WALL ART STARS 13/7/2011 12:06
28 559894 MIRRORED WALL ART POPPIES 13/7/2011 12:06
29 559894 MIRRORED WALL ART SKULLS 13/7/2011 12:06
30 559894 MIRRORED WALL ART TABLE LAMP 13/7/2011 12:06
31 559894 LARGE WHITE HEART OF WICKER 13/7/2011 12:06
32 559894 SMALL WHITE HEART OF WICKER 13/7/2011 12:06
33 559894 BOUDOIR SQUARE TISSUE BOX 13/7/2011 12:06
34 559894 CERAMIC STRAWBERRY CAKE MONEY BANK 13/7/2011 12:06
35 559894 LOVE HEART TRINKET POT 13/7/2011 12:06
36 559894 BLACK PIRATE TREASURE CHEST 13/7/2011 12:06
37 559894 TEA TIME PARTY BUNTING 13/7/2011 12:06
38 559894 RAIN PONCHO RETROSPOT 13/7/2011 12:06
39 559894 POLKADOT RAIN HAT 13/7/2011 12:06
40 559894 ROUND BLUE CLOCK WITH SUCKER 13/7/2011 12:06
41 559894 PINK PAISLEY SQUARE TISSUE BOX 13/7/2011 12:06
42 559894 SWALLOW SQUARE TISSUE BOX 13/7/2011 12:06
43 559894 EMPIRE TISSUE BOX 13/7/2011 12:06
44 559894 MOTORING TISSUE BOX 13/7/2011 12:06
45 559894 12 PENCILS TALL TUBE POSY 13/7/2011 12:06
46 559894 JAZZ HEARTS PURSE NOTEBOOK 13/7/2011 12:06
47 559894 FOLK ART METAL STAR T-LIGHT HOLDER 13/7/2011 12:06
48 559894 FOLK ART METAL HEART T-LIGHT HOLDER 13/7/2011 12:06
49 559894 ASSTD MULTICOLOUR CIRCLES MUG 13/7/2011 12:06
50 559894 JINGLE BELL HEART DECORATION 13/7/2011 12:06
51 559894 WOODEN STAR CHRISTMAS SCANDINAVIAN 13/7/2011 12:06
52 559894 WOODEN HEART CHRISTMAS SCANDINAVIAN 13/7/2011 12:06
53 559894 FLOWER BLUE CLOCK WITH SUCKER 13/7/2011 12:06
54 559894 ROUND ARTICULATED PINK CLOCK W/SUCK 13/7/2011 12:06
55 559894 ROUND BLUE CLOCK WITH SUCKER 13/7/2011 12:06
56 559894 FLOWER PURPLE CLOCK WITH SUCKER 13/7/2011 12:06
57 559894 CARAVAN SQUARE TISSUE BOX 13/7/2011 12:06
58 559894 POLKADOT COFFEE CUP & SAUCER PINK 13/7/2011 12:06
59 559894 PACK OF 72 SKULL CAKE CASES 13/7/2011 12:06
60 559894 PACK OF 60 PINK PAISLEY CAKE CASES 13/7/2011 12:06
61 559894 72 SWEETHEART FAIRY CAKE CASES 13/7/2011 12:06
62 559894 60 TEATIME FAIRY CAKE CASES 13/7/2011 12:06
63 559894 PACK OF 60 MUSHROOM CAKE CASES 13/7/2011 12:06
64 559894 GINGERBREAD MAN COOKIE CUTTER 13/7/2011 12:06
65 559894 TEA COSY BLUE STRIPE 13/7/2011 12:06
66 559894 SET OF 3 HEART COOKIE CUTTERS 13/7/2011 12:06
67 559894 SET OF 3 BUTTERFLY COOKIE CUTTERS 13/7/2011 12:06
68 559894 NOVELTY BISCUITS CAKE STAND 3 TIER 13/7/2011 12:06
69 559894 SMALL MARSHMALLOWS PINK BOWL 13/7/2011 12:06
70 559894 SET OF 4 ENGLISH ROSE PLACEMATS 13/7/2011 12:06
71 559894 TEA TIME OVEN GLOVE 13/7/2011 12:06
72 559894 TEA TIME TEAPOT IN GIFT BOX 13/7/2011 12:06
73 559894 SMALL DOLLY MIX DESIGN ORANGE BOWL 13/7/2011 12:06
74 559894 STRAWBERRY CERAMIC TRINKET BOX 13/7/2011 12:06
75 559894 SET/4 DAISY MIRROR MAGNETS 13/7/2011 12:06
76 559894 SET/4 BUTTERFLY MIRROR MAGNETS 13/7/2011 12:06
77 559894 FLOWER PURPLE CLOCK WITH SUCKER 13/7/2011 12:06
78 559894 FLOWER BLUE CLOCK WITH SUCKER 13/7/2011 12:06
79 559894 FRENCH STYLE STORAGE JAR BONBONS 13/7/2011 12:06
80 559894 FRENCH STYLE STORAGE JAR JAM 13/7/2011 12:06
81 559894 SCOTTIE DOGS BABY BIB 13/7/2011 12:06
82 559894 DAIRY MAID TOASTRACK 13/7/2011 12:06
83 559894 ROUND SNACK BOXES SET OF 4 FRUITS 13/7/2011 12:06
84 559894 ROUND SNACK BOXES SET OF4 WOODLAND 13/7/2011 12:06
85 559894 ROUND SNACK BOXES SET OF 4 SKULLS 13/7/2011 12:06
86 559894 SMALL MARSHMALLOWS PINK BOWL 13/7/2011 12:06
87 559894 SMALL DOLLY MIX DESIGN ORANGE BOWL 13/7/2011 12:06
88 559894 SMALL DOLLY MIX DESIGN ORANGE BOWL 13/7/2011 12:06
89 559894 SMALL CHOCOLATES PINK BOWL 13/7/2011 12:06
90 559894 JIGSAW TOADSTOOLS 3 PIECE 13/7/2011 12:06
91 559894 JIGSAW RABBIT AND BIRDHOUSE 13/7/2011 12:06
92 559894 JIGSAW TREE WITH BIRDHOUSE 13/7/2011 12:06
93 559894 JIGSAW TREE WITH WATERING CAN 13/7/2011 12:06
94 559894 POPCORN HOLDER 13/7/2011 12:06
95 559894 ASS FLORAL PRINT MULTI SCREWDRIVER 13/7/2011 12:06
96 559894 VINTAGE PAISLEY STATIONERY SET 13/7/2011 12:06
97 559894 MODERN FLORAL STATIONERY SET 13/7/2011 12:06
98 559894 FLORAL FOLK STATIONERY SET 13/7/2011 12:06
99 559894 FLOWERS TILE HOOK 13/7/2011 12:06
100 559894 LA PALMIERA TILE HOOK 13/7/2011 12:06
101 559894 SET OF 4 PANTRY JELLY MOULDS 13/7/2011 12:06
102 559894 DAIRY MAID STRIPE MUG 13/7/2011 12:06
103 559894 200 RED + WHITE BENDY STRAWS 13/7/2011 12:06
104 559894 SPOTTY BUNTING 13/7/2011 12:06
105 559894 RETROSPOT CHILDRENS APRON 13/7/2011 12:06
106 559894 CHILDRENS APRON SPACEBOY DESIGN 13/7/2011 12:06
107 559894 PINK FAIRY CAKE CHILDRENS APRON 13/7/2011 12:06
108 559894 CHILDREN'S APRON DOLLY GIRL 13/7/2011 12:06
109 559894 CHILDRENS APRON APPLES DESIGN 13/7/2011 12:06
110 559894 OVEN MITT APPLES DESIGN 13/7/2011 12:06
111 559894 DO NOT TOUCH MY STUFF DOOR HANGER 13/7/2011 12:06
112 559894 MOODY GIRL DOOR HANGER 13/7/2011 12:06
113 559894 TOXIC AREA DOOR HANGER 13/7/2011 12:06
114 559894 MAGNETS PACK OF 4 HOME SWEET HOME 13/7/2011 12:06
115 559894 JAM MAKING SET WITH JARS 13/7/2011 12:06
116 559894 NO JUNK MAIL METAL SIGN 13/7/2011 12:06
117 559894 SET OF 60 PANTRY DESIGN CAKE CASES 13/7/2011 12:06
118 559894 SET OF 60 VINTAGE LEAF CAKE CASES 13/7/2011 12:06
119 559894 SET OF 60 I LOVE LONDON CAKE CASES 13/7/2011 12:06
120 559894 SET OF 3 WOODEN HEART DECORATIONS 13/7/2011 12:06
121 559894 GREEN VINTAGE SPOT BEAKER 13/7/2011 12:06
122 559894 RED VINTAGE SPOT BEAKER 13/7/2011 12:06
123 559894 PINK VINTAGE SPOT BEAKER 13/7/2011 12:06
124 559894 BLUE VINTAGE SPOT BEAKER 13/7/2011 12:06
125 559894 RED CHARLIE+LOLA PERSONAL DOORSIGN 13/7/2011 12:06
126 559894 RED CHARLIE+LOLA PERSONAL DOORSIGN 13/7/2011 12:06
127 559894 METAL SIGN HIS DINNER IS SERVED 13/7/2011 12:06
128 559894 TOILET SIGN OCCUPIED OR VACANT 13/7/2011 12:06
129 559894 MAGNETS PACK OF 4 VINTAGE COLLAGE 13/7/2011 12:06
130 559894 MAGNETS PACK OF 4 HOME SWEET HOME 13/7/2011 12:06
131 559895 BLACK RECORD COVER FRAME 13/7/2011 12:06
132 559895 PARTY BUNTING 13/7/2011 12:06
133 559895 JUMBO STORAGE BAG SUKI 13/7/2011 12:06
134 559895 BATHROOM METAL SIGN 13/7/2011 12:06
135 559895 BEWARE OF THE CAT METAL SIGN 13/7/2011 12:06
136 559895 METAL SIGN NEIGHBOURHOOD WITCH 13/7/2011 12:06
137 559895 AREA PATROLLED METAL SIGN 13/7/2011 12:06
138 559895 STRAWBERRY CHARLOTTE BAG 13/7/2011 12:06
139 559895 RED RETROSPOT CHARLOTTE BAG 13/7/2011 12:06
140 559896 SET OF 3 HEART COOKIE CUTTERS 13/7/2011 12:15
141 559896 SET OF 3 BUTTERFLY COOKIE CUTTERS 13/7/2011 12:15
142 559896 QUEENS GUARD COFFEE MUG 13/7/2011 12:15
143 559896 COFFEE MUG APPLES DESIGN 13/7/2011 12:15
144 559896 SET/5 RED RETROSPOT LID GLASS BOWLS 13/7/2011 12:15
145 559896 SMALL WHITE HEART OF WICKER 13/7/2011 12:15
146 559896 PANTRY SCRUBBING BRUSH 13/7/2011 12:15
147 559896 SPOTTY BUNTING 13/7/2011 12:15
148 559896 SET OF 72 RETROSPOT PAPER DOILIES 13/7/2011 12:15
149 559896 RED RETROSPOT ROUND CAKE TINS 13/7/2011 12:15
150 559896 JAM MAKING SET WITH JARS 13/7/2011 12:15
151 559896 ROUND CAKE TIN VINTAGE RED 13/7/2011 12:15
152 559896 POPPY'S PLAYHOUSE LIVINGROOM 13/7/2011 12:15
153 559896 POPPY'S PLAYHOUSE BEDROOM 13/7/2011 12:15
154 559896 POPPY'S PLAYHOUSE KITCHEN 13/7/2011 12:15
155 559896 PICNIC BASKET WICKER LARGE 13/7/2011 12:15
156 559897 PINK HEART SHAPE EGG FRYING PAN 13/7/2011 12:18
157 559897 SET 3 RETROSPOT TEA,COFFEE,SUGAR 13/7/2011 12:18
158 559897 BOX OF 24 COCKTAIL PARASOLS 13/7/2011 12:18
159 559897 HANGING HEART ZINC T-LIGHT HOLDER 13/7/2011 12:18
160 559897 COLOUR GLASS. STAR T-LIGHT HOLDER 13/7/2011 12:18
161 559897 SET OF 3 BUTTERFLY COOKIE CUTTERS 13/7/2011 12:18
162 559897 DOORMAT KEEP CALM AND COME IN 13/7/2011 12:18
163 559897 STRAWBERRIES DESIGN FLANNEL 13/7/2011 12:18
164 559897 PARTY TIME DESIGN FLANNEL 13/7/2011 12:18
165 559897 RED RETROSPOT PICNIC BAG 13/7/2011 12:18
166 559897 PACK OF 72 SKULL CAKE CASES 13/7/2011 12:18
Quantity CustomerID Amount
1 2 14159 5.90
2 1 14159 0.39
3 3 14159 4.95
4 4 14159 6.60
5 2 14159 3.30
6 9 14159 14.85
7 1 14159 9.95
8 2 14159 3.30
9 2 14159 3.30
10 4 14159 6.60
11 4 14159 6.60
12 1 14159 1.65
13 4 14159 6.60
14 4 14159 6.60
15 4 14159 6.60
16 3 14159 4.95
17 2 14159 4.16
18 1 14159 0.85
19 2 14159 1.70
20 2 14159 1.70
21 1 14159 0.85
22 2 14159 1.70
23 2 14159 1.70
24 3 14159 2.55
25 1 14159 0.85
26 2 14159 1.70
27 3 14159 2.25
28 2 14159 1.50
29 3 14159 3.75
30 2 14159 1.50
31 4 14159 11.80
32 8 14159 13.20
33 2 14159 0.78
34 4 14159 5.80
35 2 14159 0.78
36 2 14159 3.30
37 2 14159 9.90
38 3 14159 2.55
39 2 14159 0.84
40 1 14159 0.19
41 2 14159 0.78
42 2 14159 0.78
43 2 14159 0.78
44 2 14159 0.78
45 24 14159 6.96
46 6 14159 2.34
47 4 14159 1.52
48 4 14159 1.52
49 1 14159 0.39
50 6 14159 9.90
51 6 14159 5.10
52 6 14159 5.10
53 1 14159 0.29
54 4 14159 0.76
55 3 14159 0.57
56 1 14159 0.29
57 2 14159 0.78
58 4 14159 3.16
59 1 14159 0.55
60 1 14159 0.55
61 1 14159 0.55
62 1 14159 0.55
63 1 14159 0.55
64 1 14159 1.25
65 1 14159 2.55
66 1 14159 1.25
67 1 14159 1.25
68 1 14159 9.95
69 8 14159 3.36
70 1 14159 3.75
71 2 14159 2.50
72 1 14159 4.95
73 8 14159 3.36
74 2 14159 2.50
75 3 14159 0.87
76 4 14159 1.16
77 1 14159 0.29
78 1 14159 0.29
79 6 14159 1.74
80 6 14159 1.74
81 2 14159 0.78
82 2 14159 1.58
83 1 14159 2.95
84 1 14159 2.95
85 1 14159 2.95
86 16 14159 6.72
87 8 14159 3.36
88 8 14159 3.36
89 16 14159 6.72
90 1 14159 0.59
91 1 14159 0.59
92 1 14159 0.59
93 2 14159 0.58
94 26 14159 22.10
95 12 14159 5.04
96 1 14159 1.25
97 1 14159 1.25
98 1 14159 1.25
99 2 14159 0.78
100 2 14159 0.78
101 2 14159 2.50
102 6 14159 4.74
103 2 14159 2.50
104 2 14159 9.90
105 1 14159 1.95
106 1 14159 1.95
107 1 14159 1.95
108 1 14159 2.10
109 1 14159 1.95
110 2 14159 2.90
111 1 14159 0.39
112 1 14159 0.39
113 2 14159 0.78
114 1 14159 0.39
115 2 14159 8.50
116 3 14159 1.17
117 1 14159 0.55
118 1 14159 0.55
119 1 14159 0.55
120 6 14159 7.50
121 3 14159 2.55
122 4 14159 3.40
123 2 14159 1.70
124 4 14159 3.40
125 2 14159 0.78
126 2 14159 0.78
127 3 14159 2.37
128 2 14159 1.66
129 2 14159 0.78
130 2 14159 0.78
131 48 14110 162.72
132 8 14110 39.60
133 10 14110 20.80
134 12 14110 6.60
135 12 14110 20.28
136 12 14110 25.20
137 12 14110 25.20
138 10 14110 8.50
139 10 14110 8.50
140 2 15530 2.50
141 2 15530 2.50
142 6 15530 15.30
143 6 15530 15.30
144 3 15530 8.85
145 6 15530 9.90
146 1 15530 1.65
147 3 15530 14.85
148 3 15530 4.35
149 2 15530 19.90
150 2 15530 8.50
151 4 15530 31.80
152 2 15530 4.20
153 2 15530 4.20
154 2 15530 4.20
155 3 15530 29.85
156 72 16779 90.00
157 24 16779 102.00
158 25 16779 10.50
159 12 16779 10.20
160 24 16779 66.00
161 12 16779 15.00
162 20 16779 135.00
163 12 16779 10.20
164 12 16779 10.20
165 5 16779 14.75
166 24 16779 13.20

Instead of assigning a value to the reactive value ‘result_val’, we will instead create a promise to execute the analysis in the future (using the future function) and when it is done assign it to result_val (using %…>%).

You need to use dput or the contents of your file (which should be a csv file?).

Many thanks, but i am not allowed to upload a csv file or an .R file created by dput. Please kindly advise procedure to follow.

Regards.

Chris

Just copy and paste the text (output of dput or csv file contents) here.

Many thanks, here with contents of the csv file:

Transaction Item Date Quantity CustomerID Amount
547663 DOG BOWL VINTAGE CREAM 16:00.0 10 16022 42.5
547663 BEST DAD CANDLE LETTERS 16:00.0 2 16022 1.7
547663 VINTAGE CREAM DOG FOOD CONTAINER 16:00.0 1 16022 8.5
547663 CAT BOWL VINTAGE CREAM 16:00.0 10 16022 32.5
547663 BLACK AND WHITE DOG BOWL 16:00.0 2 16022 5.9
547663 PINK DOG BOWL 16:00.0 2 16022 5.9
547663 BLACK AND WHITE DOG BOWL 16:00.0 2 16022 5.9
547663 BLACK AND WHITE CAT BOWL 16:00.0 2 16022 4.2
547663 PINK CAT BOWL 16:00.0 2 16022 4.2
547663 IVORY DINER WALL CLOCK 16:00.0 1 16022 8.5
547663 IVORY DINER WALL CLOCK 16:00.0 1 16022 8.5
547664 DOORMAT RED RETROSPOT 16:00.0 1 13069 7.95
547664 TEA TIME PARTY BUNTING 16:00.0 1 13069 4.95
547664 PARTY BUNTING 16:00.0 1 13069 4.95
547664 BLUE HAPPY BIRTHDAY BUNTING 16:00.0 1 13069 5.45
547664 RED RETROSPOT PICNIC BAG 16:00.0 2 13069 5.9
547664 KINGS CHOICE GIANT TUBE MATCHES 16:00.0 1 13069 2.55
547664 BLUE POLKADOT COFFEE MUG 16:00.0 12 13069 4.68
547664 ROUND SNACK BOXES SET OF4 WOODLAND 16:00.0 1 13069 2.95
547664 ROUND SNACK BOXES SET OF 4 FRUITS 16:00.0 1 13069 2.95
547664 SET OF 4 PANTRY JELLY MOULDS 16:00.0 2 13069 2.5
547664 BLUE POLKADOT EGG CUP 16:00.0 6 13069 2.34
547664 RED EGG SPOON 16:00.0 12 13069 1.44
547664 SINGLE HEART ZINC T-LIGHT HOLDER 16:00.0 6 13069 5.7
547664 HANGING HEART ZINC T-LIGHT HOLDER 16:00.0 6 13069 5.1
547664 WHITE SPOT BLUE CERAMIC DRAWER KNOB 16:00.0 9 13069 11.25
547664 GARLAND WOODEN HAPPY EASTER 16:00.0 1 13069 1.25
547664 RECYCLING BAG RETROSPOT 16:00.0 10 13069 21
547664 TOY TIDY SPACEBOY 16:00.0 10 13069 21
547664 LOVE HEART TRINKET POT 16:00.0 10 13069 3.9
547664 ASSTD MULTICOLOUR CIRCLES MUG 16:00.0 12 13069 4.68
547664 MULTICOLOUR SPRING FLOWER MUG 16:00.0 12 13069 4.68
547664 YELLOW BREAKFAST CUP AND SAUCER 16:00.0 2 13069 0.78
547664 PINK BREAKFAST CUP AND SAUCER 16:00.0 2 13069 0.78
547664 TRAVEL CARD WALLET UNION JACK 16:00.0 5 13069 2.1
547664 TRAVEL CARD WALLET SUKI 16:00.0 5 13069 2.1
547664 TRAVEL CARD WALLET RETROSPOT 16:00.0 5 13069 2.1
547664 TRAVEL CARD WALLET VINTAGE TICKET 16:00.0 5 13069 2.1
547664 SMALL LICORICE DES PINK BOWL 16:00.0 40 13069 16.8
547664 CERAMIC BOWL WITH LOVE HEART DESIGN 16:00.0 4 13069 3.32
547664 SMALL CHOCOLATES PINK BOWL 16:00.0 24 13069 10.08
547664 BISCUITS SMALL BOWL LIGHT BLUE 16:00.0 24 13069 10.08
547664 MIXED NUTS LIGHT GREEN BOWL 16:00.0 24 13069 10.08
547664 SMALL MARSHMALLOWS PINK BOWL 16:00.0 24 13069 10.08
547664 SMALL DOLLY MIX DESIGN ORANGE BOWL 16:00.0 40 13069 16.8
547664 PINK HEART SHAPE EGG FRYING PAN 16:00.0 2 13069 3.3
547664 BLUE POLKADOT PUDDING BOWL 16:00.0 6 13069 2.34
547664 CUBIC MUG PINK POLKADOT 16:00.0 6 13069 2.34
547664 BASKET OF TOADSTOOLS 16:00.0 1 13069 1.25
547664 WOOD S/3 CABINET ANT WHITE FINISH 16:00.0 1 13069 8.95
547664 VICTORIAN SEWING BOX MEDIUM 16:00.0 1 13069 7.95
547664 SMALL CHOCOLATES PINK BOWL 16:00.0 8 13069 3.36
547664 LOVE BUILDING BLOCK WORD 16:00.0 1 13069 5.95
547664 PAPER CHAIN KIT EMPIRE 16:00.0 1 13069 2.95
547664 GARLAND WOODEN HAPPY EASTER 16:00.0 2 13069 2.5
547664 BLUE POLKADOT BEAKER 16:00.0 12 13069 4.68
547664 RED POLKADOT COFFEE MUG 16:00.0 12 13069 4.68
547664 BLUE POLKADOT COFFEE MUG 16:00.0 12 13069 4.68
547664 RED POLKADOT BEAKER 16:00.0 12 13069 4.68
547665 PACK OF 20 NAPKINS PANTRY DESIGN 17:00.0 12 14256 10.2
547665 JAM MAKING SET WITH JARS 17:00.0 12 14256 45
547665 JAM MAKING SET PRINTED 17:00.0 12 14256 17.4
547665 SET 2 PANTRY DESIGN TEA TOWELS 17:00.0 6 14256 19.5
547665 SET OF 3 CAKE TINS PANTRY DESIGN 17:00.0 6 14256 29.7
547665 PANTRY ROLLING PIN 17:00.0 6 14256 22.5
547665 3 TRADITIONAl BISCUIT CUTTERS SET 17:00.0 6 14256 12.6
547665 ROUND SNACK BOXES SET OF4 WOODLAND 17:00.0 6 14256 17.7
547665 BLACK KITCHEN SCALES 17:00.0 4 14256 34
547665 TABLECLOTH RED APPLES DESIGN 17:00.0 2 14256 19.9
547665 COFFEE MUG APPLES DESIGN 17:00.0 6 14256 15.3

Regards,

Chris

Don't paste it as a table, paste the raw csv file with the commas.

Ok great, i have managed to make it work. Herewith my code below. However if one changes the code to run a plot instead of a table, the status of the run does not show in the right upper main panel as with a table , how can we make this work. It should be something to do with the code in line 80 which is "result_val(data.frame(Status="Running..."))". Please just change the code to plot instead of showing a data table and you can see what i mean.

library(shiny)
library(ggplot2)
#> Registered S3 methods overwritten by 'ggplot2':
#>   method         from 
#>   [.quosures     rlang
#>   c.quosures     rlang
#>   print.quosures rlang
library(promises)
library(future)
library(DT)
plan(multiprocess)

ui <- fluidPage(
  titlePanel("Long Run Stoppable Async"),
  sidebarLayout(
    sidebarPanel(
      actionButton('run', 'Run'),
      actionButton('cancel', 'Cancel'),
      actionButton('status', 'Check Status')
    ),
    mainPanel(
      # plotOutput("result")
      dataTableOutput("result")
    )
  )
)

server <- function(input, output) {
  N <- 10
  
  # Status File
  status_file <- tempfile()
  
  get_status <- function(){
    scan(status_file, what = "character",sep="\n")
  }
  
  set_status <- function(msg){
    write(msg, status_file)
  }
  
  fire_interrupt <- function(){
    set_status("interrupt")
  }
  
  fire_ready <- function(){
    set_status("Ready")
  }
  
  fire_running <- function(perc_complete){
    if(missing(perc_complete))
      msg <- "Running..."
    else
      msg <- paste0("Running... ", perc_complete, "% Complete")
    set_status(msg)
  }
  
  interrupted <- function(){
    get_status() == "interrupt"
  }
  
  # Delete file at end of session
  onStop(function(){
    print(status_file)
    if(file.exists(status_file))
      unlink(status_file)
  })
  
  # Create Status File
  fire_ready()
  
  
  nclicks <- reactiveVal(0)
  result_val <- reactiveVal()
  observeEvent(input$run,{
    
    # Don't do anything if analysis is already being run
    if(nclicks() != 0){
      showNotification("Already running analysis")
      return(NULL)
    }
    
    # Increment clicks and prevent concurrent analyses
    nclicks(nclicks() + 1)
    
    result_val(data.frame(Status="Running..."))
    
    fire_running()
    
    result <- future({
      print("Running...")
      for(i in 1:N){
        
        # Long Running Task
        Sys.sleep(1)
        
        # Check for user interrupts
        if(interrupted()){ 
          print("Stopping...")
          stop("User Interrupt")
        }
        
        # Notify status file of progress
        fire_running(100*i/N)
      }
      
      #Some results
      data <- read.csv("data/MBA_Online.csv")
        #Use plot
          # data %>%
          # mutate(Month=as.factor(month(Date))) %>%
          # dplyr::group_by(Month) %>%
          # dplyr::summarize(Transactions = n_distinct(Transaction)) %>%
          # ggplot(aes(x=Month, y = Transactions, fill = Month)) +
          # geom_bar(stat="identity") +
          # geom_label(aes(label= format(Transactions, big.mark = ",")))+
          # theme(legend.position="none")+
          # theme(panel.background = element_blank())+
          # labs(x = "Month", y = "Transactions", title = "Transactions per month")
        
      # Use table instead of plot
        retailSales <- data %>%
          dplyr::group_by(Item) %>%
          dplyr::summarise(TotalSales = sum(Amount), TotalQuntity = sum(Quantity), TotalCustomers = n_distinct(CustomerID))
          retailSales
          datatable(retailSales) %>%
            formatCurrency('TotalSales')
       }) %...>% result_val()
    
    # Catch inturrupt (or any other error) and notify user
    result <- catch(result,
                    function(e){
                      result_val(NULL)
                      print(e$message)
                      showNotification(e$message)
                    })
    
    # After the promise has been evaluated set nclicks to 0 to allow for anlother Run
    result <- finally(result,
                      function(){
                        fire_ready() 
                        nclicks(0)
                      })
    
    # Return something other than the promise so shiny remains responsive
    NULL
  })
  
  output$result <- renderDataTable({
    req(result_val())
  })
  
  # Register user interrupt
  observeEvent(input$cancel,{
    print("Cancel")
    fire_interrupt()
  })
  
  # Let user get analysis progress
  observeEvent(input$status,{
    print("Status")
    showNotification(get_status())
  })
}

# Run the application 
shinyApp(ui = ui, server = server)

Herewith sample data:

data.frame(
Transaction = c(547663L, 547663L, 547663L, 547663L, 547663L, 547663L,
547663L, 547663L, 547663L, 547663L, 547663L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547664L, 547664L,
547664L, 547664L, 547664L, 547664L, 547664L, 547665L, 547665L,
547665L, 547665L, 547665L, 547665L, 547665L, 547665L,
547665L, 547665L, 547665L, 547665L, 547665L, 547665L, 547665L,
547665L, 547665L, 547665L, 547665L, 547665L, 547665L, 547666L,
547666L, 547666L, 547666L, 547666L, 547666L, 547666L, 547666L,
547666L, 547666L, 547666L, 547666L, 547666L, 547666L, 547666L,
547666L, 547666L, 547666L, 547666L, 547666L, 547666L, 547666L,
547666L, 547666L, 547666L, 547666L, 547666L, 547666L, 547666L,
547666L, 547667L, 547667L, 547667L, 547667L, 547667L, 547667L,
547667L, 547667L, 547667L, 547667L, 547667L, 547667L, 547667L,
547667L, 547667L, 547667L, 547667L, 547667L, 547667L,
547667L, 547667L, 547667L, 547667L, 547667L, 547667L, 547667L,
547667L, 547667L, 547667L, 547667L, 547668L, 547668L, 547668L,
547668L, 547668L, 547668L, 547668L, 547668L, 547668L, 547669L,
547669L, 547669L, 547669L, 547669L, 547669L, 547669L, 547669L,
547669L, 547669L, 547669L, 547669L, 547669L, 547669L, 547669L,
547669L, 547669L, 547669L, 547669L, 547669L, 547669L, 547669L,
547669L, 547669L, 547669L, 547669L, 547669L, 547669L, 547670L,
547670L, 547670L, 547670L, 547670L, 547670L, 547670L, 547670L,
547670L, 547670L, 547670L, 547670L, 547670L),
Quantity = c(10L, 2L, 1L, 10L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 1L, 12L, 1L, 1L, 2L, 6L, 12L, 6L, 6L, 9L, 1L, 10L,
10L, 10L, 12L, 12L, 2L, 2L, 5L, 5L, 5L, 5L, 40L, 4L, 24L, 24L,
24L, 24L, 40L, 2L, 6L, 6L, 1L, 1L, 1L, 8L, 1L, 1L, 2L, 12L,
12L, 12L, 12L, 12L, 12L, 12L, 6L, 6L, 6L, 6L, 6L, 4L, 2L, 6L,
6L, 6L, 2L, 2L, 2L, 2L, 1L, 4L, 3L, 6L, 16L, 25L, 25L, 24L, 25L,
25L, 40L, 40L, 6L, 3L, 12L, 24L, 24L, 12L, 48L, 48L, 25L,
24L, 6L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 24L,
6L, 12L, 12L, 12L, 12L, 24L, 24L, 24L, 24L, 24L, 24L, 8L, 6L,
6L, 10L, 6L, 6L, 24L, 8L, 12L, 6L, 6L, 12L, 12L, 12L, 24L, 24L,
20L, 20L, 20L, 24L, 12L, 5L, 6L, 18L, 5L, 6L, 1L, 18L, 1L,
1L, 1L, 1L, 1L, 2L, 1L, 1L, 4L, 1L, 1L, 4L, 2L, 10L, 5L, 1L, 1L,
5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 24L, 24L, 24L, 2L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L),
CustomerID = c(16022L, 16022L, 16022L, 16022L, 16022L, 16022L, 16022L,
16022L, 16022L, 16022L, 16022L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 13069L,
13069L, 13069L, 13069L, 13069L, 13069L, 13069L, 14256L, 14256L,
14256L, 14256L, 14256L, 14256L, 14256L, 14256L, 14256L,
14256L, 14256L, 14256L, 14256L, 14256L, 14256L, 14256L, 14256L,
14256L, 14256L, 14256L, 14256L, 14235L, 14235L, 14235L, 14235L,
14235L, 14235L, 14235L, 14235L, 14235L, 14235L, 14235L, 14235L,
14235L, 14235L, 14235L, 14235L, 14235L, 14235L, 14235L,
14235L, 14235L, 14235L, 14235L, 14235L, 14235L, 14235L, 14235L,
14235L, 14235L, 14235L, 16700L, 16700L, 16700L, 16700L, 16700L,
16700L, 16700L, 16700L, 16700L, 16700L, 16700L, 16700L, 16700L,
16700L, 16700L, 16700L, 16700L, 16700L, 16700L, 16700L,
16700L, 16700L, 16700L, 16700L, 16700L, 16700L, 16700L, 16700L,
16700L, 16700L, 14071L, 14071L, 14071L, 14071L, 14071L, 14071L,
14071L, 14071L, 14071L, 12748L, 12748L, 12748L, 12748L, 12748L,
12748L, 12748L, 12748L, 12748L, 12748L, 12748L, 12748L,
12748L, 12748L, 12748L, 12748L, 12748L, 12748L, 12748L, 12748L,
12748L, 12748L, 12748L, 12748L, 12748L, 12748L, 12748L, 12748L,
16769L, 16769L, 16769L, 16769L, 16769L, 16769L, 16769L, 16769L,
16769L, 16769L, 16769L, 16769L, 16769L),
Amount = c(42.5, 1.7, 8.5, 32.5, 5.9, 5.9, 5.9, 4.2, 4.2, 8.5, 8.5,
7.95, 4.95, 4.95, 5.45, 5.9, 2.55, 4.68, 2.95, 2.95, 2.5,
2.34, 1.44, 5.7, 5.1, 11.25, 1.25, 21, 21, 3.9, 4.68, 4.68,
0.78, 0.78, 2.1, 2.1, 2.1, 2.1, 16.8, 3.32, 10.08, 10.08, 10.08,
10.08, 16.8, 3.3, 2.34, 2.34, 1.25, 8.95, 7.95, 3.36, 5.95,
2.95, 2.5, 4.68, 4.68, 4.68, 4.68, 10.2, 45, 17.4, 19.5, 29.7,
22.5, 12.6, 17.7, 34, 19.9, 15.3, 15.3, 17.7, 13.5, 13.5, 15.9,
15.9, 14.95, 19.8, 29.85, 45, 79.2, 10.5, 10.5, 39.6, 10.5,
10.5, 78, 78, 17.7, 14.85, 17.4, 102, 82.8, 15, 60, 20.16, 10.5,
20.4, 17.7, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5,
12.5, 12.5, 30, 22.5, 17.4, 15, 15, 23.4, 10.08, 10.08, 10.08,
10.08, 10.08, 10.08, 18, 17.7, 25.5, 16.5, 17.7, 12.6, 13.2,
20.4, 5.04, 15.3, 15.3, 5.04, 5.04, 5.04, 10.08, 10.08, 39, 39,
39, 40.56, 17.4, 14.75, 9.9, 15.3, 9.75, 7.5, 0.95, 15.3,
1.95, 2.95, 7.95, 8.5, 4.25, 1.7, 2.95, 18.95, 7.8, 4.25, 6.75,
7.8, 3.9, 19.5, 9.75, 2.08, 1.95, 1.45, 4.75, 2.95, 2.55, 2.55,
0.55, 3.75, 1.69, 10.08, 10.08, 10.08, 5.9, 2.95, 2.95, 2.95,
2.95, 2.95, 2.95, 1.25, 1.25, 1.25, 1.25, 29.85, 5.95),
Item = as.factor(c("DOG BOWL VINTAGE CREAM",
"BEST DAD CANDLE LETTERS",
"VINTAGE CREAM DOG FOOD CONTAINER", "CAT BOWL VINTAGE CREAM",
"BLACK AND WHITE DOG BOWL", "PINK DOG BOWL",
"BLACK AND WHITE DOG BOWL", "BLACK AND WHITE CAT BOWL", "PINK CAT BOWL",
"IVORY DINER WALL CLOCK", "IVORY DINER WALL CLOCK",
"DOORMAT RED RETROSPOT", "TEA TIME PARTY BUNTING",
"PARTY BUNTING", "BLUE HAPPY BIRTHDAY BUNTING",
"RED RETROSPOT PICNIC BAG",
"KINGS CHOICE GIANT TUBE MATCHES", "BLUE POLKADOT COFFEE MUG",
"ROUND SNACK BOXES SET OF4 WOODLAND ",
"ROUND SNACK BOXES SET OF 4 FRUITS ", "SET OF 4 PANTRY JELLY MOULDS",
"BLUE POLKADOT EGG CUP ", "RED EGG SPOON",
"SINGLE HEART ZINC T-LIGHT HOLDER",
"HANGING HEART ZINC T-LIGHT HOLDER", "WHITE SPOT BLUE CERAMIC DRAWER KNOB",
"GARLAND WOODEN HAPPY EASTER", "RECYCLING BAG RETROSPOT ",
"TOY TIDY SPACEBOY ", "LOVE HEART TRINKET POT",
"ASSTD MULTICOLOUR CIRCLES MUG",
"MULTICOLOUR SPRING FLOWER MUG", "YELLOW BREAKFAST CUP AND SAUCER",
"PINK BREAKFAST CUP AND SAUCER ",
"TRAVEL CARD WALLET UNION JACK", "TRAVEL CARD WALLET SUKI",
"TRAVEL CARD WALLET RETROSPOT", "TRAVEL CARD WALLET VINTAGE TICKET",
"SMALL LICORICE DES PINK BOWL",
"CERAMIC BOWL WITH LOVE HEART DESIGN", "SMALL CHOCOLATES PINK BOWL",
"BISCUITS SMALL BOWL LIGHT BLUE",
"MIXED NUTS LIGHT GREEN BOWL", "SMALL MARSHMALLOWS PINK BOWL",
"SMALL DOLLY MIX DESIGN ORANGE BOWL",
"PINK HEART SHAPE EGG FRYING PAN", "BLUE POLKADOT PUDDING BOWL",
"CUBIC MUG PINK POLKADOT", "BASKET OF TOADSTOOLS",
"WOOD S/3 CABINET ANT WHITE FINISH", "VICTORIAN SEWING BOX MEDIUM",
"SMALL CHOCOLATES PINK BOWL",
"LOVE BUILDING BLOCK WORD", "PAPER CHAIN KIT EMPIRE",
"GARLAND WOODEN HAPPY EASTER", "BLUE POLKADOT BEAKER ",
"RED POLKADOT COFFEE MUG", "BLUE POLKADOT COFFEE MUG",
"RED POLKADOT BEAKER ", "PACK OF 20 NAPKINS PANTRY DESIGN",
"JAM MAKING SET WITH JARS", "JAM MAKING SET PRINTED",
"SET 2 PANTRY DESIGN TEA TOWELS",
"SET OF 3 CAKE TINS PANTRY DESIGN ", "PANTRY ROLLING PIN",
"3 TRADITIONAl BISCUIT CUTTERS SET",
"ROUND SNACK BOXES SET OF4 WOODLAND ", "BLACK KITCHEN SCALES",
"TABLECLOTH RED APPLES DESIGN ", "COFFEE MUG APPLES DESIGN",
"COFFEE MUG PEARS DESIGN",
"SET OF 2 TEA TOWELS APPLE AND PEARS", "BISCUIT TIN VINTAGE GREEN",
"BISCUIT TIN VINTAGE RED", "ROUND CAKE TIN VINTAGE GREEN",
"ROUND CAKE TIN VINTAGE RED",
"3 TIER CAKE TIN GREEN AND CREAM", "CREAM SWEETHEART EGG HOLDER",
"SWEETHEART CAKESTAND 3 TIER", "WHITE WIRE EGG HOLDER",
"PICNIC BASKET WICKER SMALL", "WRAP DOILEY DESIGN",
"WRAP DOLLY GIRL", "SET OF 3 NOTEBOOKS IN PARCEL", "WRAP,
BILLBOARD FONTS DESIGN", "FANCY FONTS BIRTHDAY WRAP",
"JUMBO BAG STRAWBERRY", "JUMBO BAG RED RETROSPOT",
"SET/5 RED RETROSPOT LID GLASS BOWLS",
"RED RETROSPOT BUTTER DISH", "JAM MAKING SET PRINTED",
"SET OF 3 CAKE TINS PANTRY DESIGN ",
"SET OF 6 SPICE TINS PANTRY DESIGN", "GIN AND TONIC MUG",
"FILIGRIS HEART WITH BUTTERFLY", "SET 12 RETRO WHITE CHALK STICKS",
"GINGHAM ROSE WRAP", "TEA BAG PLATE RED RETROSPOT",
"RECIPE BOX PANTRY YELLOW DESIGN",
"FRENCH BLUE METAL DOOR SIGN No", "FRENCH BLUE METAL DOOR SIGN 0",
"FRENCH BLUE METAL DOOR SIGN 9",
"FRENCH BLUE METAL DOOR SIGN 8", "FRENCH BLUE METAL DOOR SIGN 7",
"FRENCH BLUE METAL DOOR SIGN 6", "FRENCH BLUE METAL DOOR SIGN 5",
"FRENCH BLUE METAL DOOR SIGN 4",
"FRENCH BLUE METAL DOOR SIGN 2", "FRENCH BLUE METAL DOOR SIGN 1",
"HANGING HEART JAR T-LIGHT HOLDER", "PANTRY ROLLING PIN",
"PANTRY WASHING UP BRUSH",
"SET OF 4 PANTRY JELLY MOULDS", "PANTRY PASTRY BRUSH",
"GIRAFFE WOODEN RULER", "TRAVEL CARD WALLET RETROSPOT",
"TRAVEL CARD WALLET SUKI", "TRAVEL CARD WALLET VINTAGE TICKET",
"TRAVEL CARD WALLET RETRO PETALS",
"TRAVEL CARD WALLET KEEP CALM", "TRAVEL CARD WALLET UNION JACK",
"BUFFALO BILL TREASURE BOOK BOX",
"RECIPE BOX PANTRY YELLOW DESIGN", "JAM MAKING SET WITH JARS",
"LUNCH BAG RED RETROSPOT", "ROUND SNACK BOXES SET OF 4 FRUITS ",
"36 FOIL STAR CAKE CASES ",
"60 CAKE CASES DOLLY GIRL DESIGN", "PIGGY BANK RETROSPOT ",
"CARD I LOVE LONDON ", "LONDON BUS COFFEE MUG",
"QUEENS GUARD COFFEE MUG", "SWALLOWS GREETING CARD", "CARD CIRCUS PARADE",
"CARD BILLBOARD FONT",
"TRAVEL CARD WALLET TRANSPORT", "TRAVEL CARD WALLET FLOWER MEADOW",
"JUMBO STORAGE BAG SUKI", "JUMBO BAG BAROQUE BLACK WHITE",
"JUMBO BAG RED RETROSPOT",
"MINI WOODEN HAPPY BIRTHDAY GARLAND", "JIGSAW TREE WITH BIRDHOUSE",
"PAPER CHAIN KIT EMPIRE", "JIGSAW RABBIT AND BIRDHOUSE",
"PARTY PIZZA DISH BLUE POLKADOT",
"VINTAGE UNION JACK PENNANT", "BIRDCAGE DECORATION TEALIGHT HOLDER",
"REX CASH+CARRY JUMBO SHOPPER",
"PARTY PIZZA DISH RED RETROSPOT", "BLACK TEA,COFFEE,SUGAR JARS",
"STRAWBERRY PICNIC BAG", "DOORMAT 3 SMILEY CATS",
"BLACK KITCHEN SCALES", "AIRLINE BAG VINTAGE TOKYO 78",
"SET/20 RED RETROSPOT PAPER NAPKINS ",
"SET OF 2 ROUND TINS CAMEMBERT ", "ACRYLIC GEOMETRIC LAMP",
"JUMBO BAG BAROQUE BLACK WHITE",
"GARDENIA 1 WICK MORRIS BOXED CANDLE", "PEACE SMALL WOOD LETTERS",
"JUMBO BAG STRAWBERRY", "JUMBO STORAGE BAG SKULLS",
"JUMBO STORAGE BAG SUKI", "JUMBO BAG SCANDINAVIAN BLUE PAISLEY",
"COOK WITH WINE METAL SIGN ", "JUMBO BAG STRAWBERRY",
"FAN BLACK FRAME ", "REX CASH+CARRY JUMBO SHOPPER",
"PAPER BUNTING WHITE LACE",
"BAKING MOULD HEART MILK CHOCOLATE", "BAKING MOULD TOFFEE CUP CHOCOLATE",
"PACK OF 60 SPACEBOY CAKE CASES",
"GAOLERS KEYS DECORATIVE GARDEN ", "FAIRY SOAP SOAP HOLDER",
"TRAVEL CARD WALLET KEEP CALM", "TRAVEL CARD WALLET SUKI",
"TRAVEL CARD WALLET SKULLS", "GLASS JAR MARMALADE ",
"GLASS JAR DIGESTIVE BISCUITS",
"GLASS JAR DAISY FRESH COTTON WOOL", "GLASS JAR MARMALADE ",
"GLASS JAR DIGESTIVE BISCUITS", "GLASS JAR KINGS CHOICE",
"GLASS JAR PEACOCK BATH SALTS", "RED SPOT CERAMIC DRAWER KNOB",
"RED STRIPE CERAMIC DRAWER KNOB",
"BLUE STRIPE CERAMIC DRAWER KNOB", "WHITE SPOT RED CERAMIC DRAWER KNOB",
"PICNIC BASKET WICKER LARGE",
"HOME BUILDING BLOCK WORD")),
Date = as.factor(c("16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0",
"16:00.0", "16:00.0", "16:00.0", "16:00.0", "17:00.0",
"17:00.0", "17:00.0", "17:00.0", "17:00.0", "17:00.0",
"17:00.0", "17:00.0", "17:00.0", "17:00.0", "17:00.0",
"17:00.0", "17:00.0", "17:00.0", "17:00.0",
"17:00.0", "17:00.0", "17:00.0", "17:00.0", "17:00.0",
"17:00.0", "23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "23:00.0",
"23:00.0", "23:00.0", "23:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0", "25:00.0",
"25:00.0", "25:00.0", "25:00.0", "25:00.0", "28:00.0",
"28:00.0", "28:00.0", "28:00.0", "28:00.0",
"28:00.0", "28:00.0", "28:00.0", "28:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "37:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "37:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "37:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "37:00.0", "37:00.0",
"37:00.0", "37:00.0", "37:00.0", "41:00.0",
"41:00.0", "41:00.0", "41:00.0", "41:00.0", "41:00.0",
"41:00.0", "41:00.0", "41:00.0", "41:00.0", "41:00.0",
"41:00.0", "41:00.0")),
monthYear = as.factor(c("Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11", "Mar-11",
"Mar-11", "Mar-11", "Mar-11", "Mar-11"))
)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.