GrandTotal in DT Shiny with dynamic column quantity











up vote
0
down vote

favorite
1












How to add total row in DT in Shiny app like in example



enter image description here



I exlplored some topic here, but how to add total in Mean_price column, it's calculate total Turnover / total Qty



How to add total if column quantity in DT dynamicaly changed?










share|improve this question









New contributor




Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    0
    down vote

    favorite
    1












    How to add total row in DT in Shiny app like in example



    enter image description here



    I exlplored some topic here, but how to add total in Mean_price column, it's calculate total Turnover / total Qty



    How to add total if column quantity in DT dynamicaly changed?










    share|improve this question









    New contributor




    Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      0
      down vote

      favorite
      1









      up vote
      0
      down vote

      favorite
      1






      1





      How to add total row in DT in Shiny app like in example



      enter image description here



      I exlplored some topic here, but how to add total in Mean_price column, it's calculate total Turnover / total Qty



      How to add total if column quantity in DT dynamicaly changed?










      share|improve this question









      New contributor




      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      How to add total row in DT in Shiny app like in example



      enter image description here



      I exlplored some topic here, but how to add total in Mean_price column, it's calculate total Turnover / total Qty



      How to add total if column quantity in DT dynamicaly changed?







      r shiny dt






      share|improve this question









      New contributor




      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 2 days ago









      Yihui Xie

      19.7k11100275




      19.7k11100275






      New contributor




      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 days ago









      Qwery Walter

      11




      11




      New contributor




      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Qwery Walter is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          Welcome to SO!



          Here is a solution using library(data.table):



          library(data.table)
          library(DT)

          ui <- basicPage(
          h2("Grand total"),
          DT::dataTableOutput("mytable")
          )

          server <- function(input, output) {

          DT <- data.table (Product = paste("Item", seq(10)), Turnover = round(runif(10, 1000, 3000)), Qty=round(runif(10, 100, 120)), Mean_price=round(runif(10, 10, 30), digits = 2))
          totalDT <- as.data.table(c(Product = "Total", DT[, lapply(.SD, sum, na.rm=TRUE), .SDcols=c("Turnover", "Qty")]))
          totalDT[, "Mean_price" := round(Turnover/Qty, digits = 2)]

          myContainer = htmltools::withTags(table(
          tableHeader(DT),
          tableFooter(as.character(totalDT))
          ))

          output$mytable = DT::renderDataTable({
          DT::datatable(DT, options = list(pageLength = nrow(DT)), rownames = FALSE, container = myContainer)
          })
          }

          shinyApp(ui, server)


          See this for row specific styling.



          Edit, after further specification of the desired output (footer):
          you don't need a callback-function to create a footer, please see this.






          share|improve this answer























          • Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
            – Qwery Walter
            2 days ago












          • I updated my answer accordingly, please check.
            – ismirsehregal
            2 days ago











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Qwery Walter is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373601%2fgrandtotal-in-dt-shiny-with-dynamic-column-quantity%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote













          Welcome to SO!



          Here is a solution using library(data.table):



          library(data.table)
          library(DT)

          ui <- basicPage(
          h2("Grand total"),
          DT::dataTableOutput("mytable")
          )

          server <- function(input, output) {

          DT <- data.table (Product = paste("Item", seq(10)), Turnover = round(runif(10, 1000, 3000)), Qty=round(runif(10, 100, 120)), Mean_price=round(runif(10, 10, 30), digits = 2))
          totalDT <- as.data.table(c(Product = "Total", DT[, lapply(.SD, sum, na.rm=TRUE), .SDcols=c("Turnover", "Qty")]))
          totalDT[, "Mean_price" := round(Turnover/Qty, digits = 2)]

          myContainer = htmltools::withTags(table(
          tableHeader(DT),
          tableFooter(as.character(totalDT))
          ))

          output$mytable = DT::renderDataTable({
          DT::datatable(DT, options = list(pageLength = nrow(DT)), rownames = FALSE, container = myContainer)
          })
          }

          shinyApp(ui, server)


          See this for row specific styling.



          Edit, after further specification of the desired output (footer):
          you don't need a callback-function to create a footer, please see this.






          share|improve this answer























          • Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
            – Qwery Walter
            2 days ago












          • I updated my answer accordingly, please check.
            – ismirsehregal
            2 days ago















          up vote
          1
          down vote













          Welcome to SO!



          Here is a solution using library(data.table):



          library(data.table)
          library(DT)

          ui <- basicPage(
          h2("Grand total"),
          DT::dataTableOutput("mytable")
          )

          server <- function(input, output) {

          DT <- data.table (Product = paste("Item", seq(10)), Turnover = round(runif(10, 1000, 3000)), Qty=round(runif(10, 100, 120)), Mean_price=round(runif(10, 10, 30), digits = 2))
          totalDT <- as.data.table(c(Product = "Total", DT[, lapply(.SD, sum, na.rm=TRUE), .SDcols=c("Turnover", "Qty")]))
          totalDT[, "Mean_price" := round(Turnover/Qty, digits = 2)]

          myContainer = htmltools::withTags(table(
          tableHeader(DT),
          tableFooter(as.character(totalDT))
          ))

          output$mytable = DT::renderDataTable({
          DT::datatable(DT, options = list(pageLength = nrow(DT)), rownames = FALSE, container = myContainer)
          })
          }

          shinyApp(ui, server)


          See this for row specific styling.



          Edit, after further specification of the desired output (footer):
          you don't need a callback-function to create a footer, please see this.






          share|improve this answer























          • Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
            – Qwery Walter
            2 days ago












          • I updated my answer accordingly, please check.
            – ismirsehregal
            2 days ago













          up vote
          1
          down vote










          up vote
          1
          down vote









          Welcome to SO!



          Here is a solution using library(data.table):



          library(data.table)
          library(DT)

          ui <- basicPage(
          h2("Grand total"),
          DT::dataTableOutput("mytable")
          )

          server <- function(input, output) {

          DT <- data.table (Product = paste("Item", seq(10)), Turnover = round(runif(10, 1000, 3000)), Qty=round(runif(10, 100, 120)), Mean_price=round(runif(10, 10, 30), digits = 2))
          totalDT <- as.data.table(c(Product = "Total", DT[, lapply(.SD, sum, na.rm=TRUE), .SDcols=c("Turnover", "Qty")]))
          totalDT[, "Mean_price" := round(Turnover/Qty, digits = 2)]

          myContainer = htmltools::withTags(table(
          tableHeader(DT),
          tableFooter(as.character(totalDT))
          ))

          output$mytable = DT::renderDataTable({
          DT::datatable(DT, options = list(pageLength = nrow(DT)), rownames = FALSE, container = myContainer)
          })
          }

          shinyApp(ui, server)


          See this for row specific styling.



          Edit, after further specification of the desired output (footer):
          you don't need a callback-function to create a footer, please see this.






          share|improve this answer














          Welcome to SO!



          Here is a solution using library(data.table):



          library(data.table)
          library(DT)

          ui <- basicPage(
          h2("Grand total"),
          DT::dataTableOutput("mytable")
          )

          server <- function(input, output) {

          DT <- data.table (Product = paste("Item", seq(10)), Turnover = round(runif(10, 1000, 3000)), Qty=round(runif(10, 100, 120)), Mean_price=round(runif(10, 10, 30), digits = 2))
          totalDT <- as.data.table(c(Product = "Total", DT[, lapply(.SD, sum, na.rm=TRUE), .SDcols=c("Turnover", "Qty")]))
          totalDT[, "Mean_price" := round(Turnover/Qty, digits = 2)]

          myContainer = htmltools::withTags(table(
          tableHeader(DT),
          tableFooter(as.character(totalDT))
          ))

          output$mytable = DT::renderDataTable({
          DT::datatable(DT, options = list(pageLength = nrow(DT)), rownames = FALSE, container = myContainer)
          })
          }

          shinyApp(ui, server)


          See this for row specific styling.



          Edit, after further specification of the desired output (footer):
          you don't need a callback-function to create a footer, please see this.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago

























          answered 2 days ago









          ismirsehregal

          61718




          61718












          • Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
            – Qwery Walter
            2 days ago












          • I updated my answer accordingly, please check.
            – ismirsehregal
            2 days ago


















          • Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
            – Qwery Walter
            2 days ago












          • I updated my answer accordingly, please check.
            – ismirsehregal
            2 days ago
















          Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
          – Qwery Walter
          2 days ago






          Sorry, I mean how use js to make grand total line below the DT like this topic stackoverflow.com/questions/49135787/…
          – Qwery Walter
          2 days ago














          I updated my answer accordingly, please check.
          – ismirsehregal
          2 days ago




          I updated my answer accordingly, please check.
          – ismirsehregal
          2 days ago










          Qwery Walter is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          Qwery Walter is a new contributor. Be nice, and check out our Code of Conduct.













          Qwery Walter is a new contributor. Be nice, and check out our Code of Conduct.












          Qwery Walter is a new contributor. Be nice, and check out our Code of Conduct.















           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373601%2fgrandtotal-in-dt-shiny-with-dynamic-column-quantity%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

          Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

          A Topological Invariant for $pi_3(U(n))$