Google Charts Datatable filtering on date












1















I am trying to find all rows for a particular year. The year is a type of string but the cell is type of date.



gDataTable:



business_id   date          severity
c02facce08ba Dec 13, 2018 Critical


Here is my code thus far:



var yr = 2016,
tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);


I get the following error:



Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1


I understand that the value types need to be the same but I can't find a way to filter on just the year of the date column data.










share|improve this question



























    1















    I am trying to find all rows for a particular year. The year is a type of string but the cell is type of date.



    gDataTable:



    business_id   date          severity
    c02facce08ba Dec 13, 2018 Critical


    Here is my code thus far:



    var yr = 2016,
    tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);


    I get the following error:



    Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1


    I understand that the value types need to be the same but I can't find a way to filter on just the year of the date column data.










    share|improve this question

























      1












      1








      1








      I am trying to find all rows for a particular year. The year is a type of string but the cell is type of date.



      gDataTable:



      business_id   date          severity
      c02facce08ba Dec 13, 2018 Critical


      Here is my code thus far:



      var yr = 2016,
      tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);


      I get the following error:



      Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1


      I understand that the value types need to be the same but I can't find a way to filter on just the year of the date column data.










      share|improve this question














      I am trying to find all rows for a particular year. The year is a type of string but the cell is type of date.



      gDataTable:



      business_id   date          severity
      c02facce08ba Dec 13, 2018 Critical


      Here is my code thus far:



      var yr = 2016,
      tl = gDataTable.getFilteredRows([{column: 1, value: yr.toString()}]);


      I get the following error:



      Uncaught Error: Type mismatch. Value 2016 does not match type date in column index 1


      I understand that the value types need to be the same but I can't find a way to filter on just the year of the date column data.







      javascript google-visualization






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 1 at 20:01









      MoreScratchMoreScratch

      96221235




      96221235
























          2 Answers
          2






          active

          oldest

          votes


















          0














          instead of providing the value property,

          you can use a test function.



          the function should return true for the rows that should be included in the filter.

          then, just compare the year value of the date.



          var yr = 2016;
          var tl = gDataTable.getFilteredRows([{
          column: 1,
          test: function (value) {
          return (value.getFullYear() === yr);
          }
          }]);





          share|improve this answer
























          • Perfect. Works.

            – MoreScratch
            Jan 2 at 2:10



















          0














          Try filtering using minValue and maxValue for the date column:



          minD = new Date(yr, 0, 1)
          maxD = new Date(yr, 11, 31)
          tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);





          share|improve this answer























            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',
            autoActivateHeartbeat: false,
            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
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53998537%2fgoogle-charts-datatable-filtering-on-date%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            instead of providing the value property,

            you can use a test function.



            the function should return true for the rows that should be included in the filter.

            then, just compare the year value of the date.



            var yr = 2016;
            var tl = gDataTable.getFilteredRows([{
            column: 1,
            test: function (value) {
            return (value.getFullYear() === yr);
            }
            }]);





            share|improve this answer
























            • Perfect. Works.

              – MoreScratch
              Jan 2 at 2:10
















            0














            instead of providing the value property,

            you can use a test function.



            the function should return true for the rows that should be included in the filter.

            then, just compare the year value of the date.



            var yr = 2016;
            var tl = gDataTable.getFilteredRows([{
            column: 1,
            test: function (value) {
            return (value.getFullYear() === yr);
            }
            }]);





            share|improve this answer
























            • Perfect. Works.

              – MoreScratch
              Jan 2 at 2:10














            0












            0








            0







            instead of providing the value property,

            you can use a test function.



            the function should return true for the rows that should be included in the filter.

            then, just compare the year value of the date.



            var yr = 2016;
            var tl = gDataTable.getFilteredRows([{
            column: 1,
            test: function (value) {
            return (value.getFullYear() === yr);
            }
            }]);





            share|improve this answer













            instead of providing the value property,

            you can use a test function.



            the function should return true for the rows that should be included in the filter.

            then, just compare the year value of the date.



            var yr = 2016;
            var tl = gDataTable.getFilteredRows([{
            column: 1,
            test: function (value) {
            return (value.getFullYear() === yr);
            }
            }]);






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jan 1 at 20:21









            WhiteHatWhiteHat

            37.9k61681




            37.9k61681













            • Perfect. Works.

              – MoreScratch
              Jan 2 at 2:10



















            • Perfect. Works.

              – MoreScratch
              Jan 2 at 2:10

















            Perfect. Works.

            – MoreScratch
            Jan 2 at 2:10





            Perfect. Works.

            – MoreScratch
            Jan 2 at 2:10













            0














            Try filtering using minValue and maxValue for the date column:



            minD = new Date(yr, 0, 1)
            maxD = new Date(yr, 11, 31)
            tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);





            share|improve this answer




























              0














              Try filtering using minValue and maxValue for the date column:



              minD = new Date(yr, 0, 1)
              maxD = new Date(yr, 11, 31)
              tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);





              share|improve this answer


























                0












                0








                0







                Try filtering using minValue and maxValue for the date column:



                minD = new Date(yr, 0, 1)
                maxD = new Date(yr, 11, 31)
                tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);





                share|improve this answer













                Try filtering using minValue and maxValue for the date column:



                minD = new Date(yr, 0, 1)
                maxD = new Date(yr, 11, 31)
                tl = gDataTable.getFilteredRows([{column: 1, minValue: minD, maxValue: maxD}]);






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 1 at 20:20









                user2314737user2314737

                15.2k115470




                15.2k115470






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53998537%2fgoogle-charts-datatable-filtering-on-date%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

                    MongoDB - Not Authorized To Execute Command

                    How to fix TextFormField cause rebuild widget in Flutter

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith