SQL script in R giving only limited number of observation

Dhruv Bhatt

I'm running SQL Script in R Studio and connecting to SAP HANA server. Every time, I run the script it only gives me limited observations. Sometime, I get 800 observations, and sometime 1000 observations. When run this SQL Script in Tableau or in SSMS, I'm getting million observations.

Can anyone help, why R is giving only limited rows?

Below is the code I'm using

library(RODBC)

ch <- odbcConnect('HANAxxx',uid='xxxxx',pwd='xxxxx', DBMSencoding="UTF-8")

fiscqtr <- as.character(20191)
begqtr <- as.character(201901)
endqtr <- as.character(201913)
avginvBOP <- as.character(201850)
avginvEOP <- as.character(as.numeric(endqtr)-1)
eopweek <- endqtr
receiptstart <- as.character(201850)
receiptend <- as.character(as.numeric(endqtr)-2)

sales <- sqlQuery(ch, paste('SELECT

                            mat."DIVISION_TXT" AS Division_Name,
                            mat."DEPARTMENT_TXT" AS Department_Name,
                            mat."CLASS_TXT" AS Class_Name,
                            mat."yz_abc1" AS Base_Style_ID,
                            mat."yz_abc1_TXT" AS Base_Style_Name,
                            mat."COLOR" AS Color_Code,
                            mat."COLOR_TXT" AS Color_Name,

                            SUM(CASE WHEN (r."ZWEEK" BETWEEN \'',begqtr,'\' AND \'',endqtr,'\') THEN r."SALES" ELSE 0 END) AS NET_SLS$,
                            SUM(CASE WHEN (r."ZWEEK" BETWEEN \'',begqtr,'\' AND \'',endqtr,'\') THEN r."COST" ELSE 0 END) AS NET_SLSC,
                            SUM(CASE WHEN (r."ZWEEK" BETWEEN \'',begqtr,'\' AND \'',endqtr,'\') THEN r."UNIT" ELSE 0 END) AS NET_SLSU,
                            SUM(CASE WHEN (r."ZWEEK" = \'',eopweek,'\') THEN r."ONHAND" ELSE 0 END) AS EOP_INV_UNIT,    
                            SUM(CASE WHEN (r."ZWEEK" = \'',eopweek,'\') THEN r."ONHANDCOST" ELSE 0 END) AS EOP_INV_COST,    
                            AVG(CASE WHEN (r."ZWEEK" BETWEEN \'',avginvBOP,'\' AND \'',avginvEOP,'\') THEN r."ONHAND" ELSE 0 END) AS BOP_INV_UNIT,  
                            AVG(CASE WHEN (r."ZWEEK" BETWEEN \'',avginvBOP,'\' AND \'',avginvEOP,'\') THEN r."ONHANDCOST" ELSE 0 END) AS BOP_INV_COST,              
                            SUM(CASE WHEN (r."ZWEEK" BETWEEN \'',receiptstart,'\' AND \'',receiptend,'\') THEN r."RECEIPU" ELSE 0 END) AS RECEIPT_UNITS,
                            SUM(CASE WHEN (r."ZWEEK" BETWEEN \'',receiptstart,'\' AND \'',receiptend,'\') THEN r."RECEIPC" ELSE 0 END) AS RECEIPT_COST


                            FROM "_SYS_BIC"."ZBHD.bw.bw2hana/XYZ_REPORT" As r
                            LEFT JOIN "_SYS_BIC"."ZBHD.bw.bw2hana/XYZ_MASTERMATERIAL" As mat On r."0MATERIAL" = mat."MATERIAL"

                            WHERE mat."DIVISION" IN (\'A\',\'B\',\'C\',\'D\',\'E\')
                            AND mat."MATL_TYPE" = \'RECENT\'


                            GROUP BY

                            mat."DIVISION_TXT",
                            mat."DEPARTMENT_TXT",
                            mat."CLASS_TXT",
                            mat."yz_abc1",
                            mat."yz_abc1_TXT",
                            mat."COLOR",
                            mat."COLOR_TXT"', sep = ''))
Dhruv Bhatt

I actually solved an error by installing RJDBC package and installing jdbcDriver. and it worked perfectly fine...Thank you for all your help.

The below is a code to install driver and connecting to HANA

jdbcDriver <- JDBC(driverClass="com.sap.db.jdbc.Driver", classPath="C:/Program Files/sap/hdbclient/ngdbc.jar")

ch <- dbConnect(jdbcDriver,"jdbc:sap://servername:port","username","password")

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Support only a limited number of languages

How to write a script that only allows a limited number of attempts to input something correctly?

matching observation dates per user ID and giving a matching score R

Bash script processing limited number of commands in parallel

how to print limited number values in java script?

Sunspot solr, fetch only a limited number of records?

Fill NA in a time series only to a limited number

Maintaining only predefined limited number of entries in objectbox

How to fetch only a limited number of joined results?

Number of Observation and variables are not equal in data frame R

How to expand the number of rows per observation in R

Observation number as marker in PCA using Plotly in R

Keep only the second observation per group in R

R is not giving the correct week number

How to get the only value of a limited SQL query

Running a Python script in R Script is giving error

How to find number of observation between first observation and first two consecutive negative observations in r

Is there an r function that will repeat a number, limited by ";" for x number of times

How can I achieve a JFormattextfield accepting only number and limited character

QTableView export to .csv number of rows fetched is limited to only 256

How to express that a variable can only take a limited number of values?

Dropbox.GetFileList only returns limited number of files

Why can I only have a limited number of swap files

React app how to show only limited number of array items

R Scatterplot/bubble chart with dot size based on observation number

R - rbinom; what does the probability of success define if there is N number of observation?

R reshape a data frame to get the total number of appearance of an observation

calculate count of number observation for all variables at once in R

Remove ID:s with only one observation in time in r