Ищите решение для R system2("powershell", args = readClipboard()), возвращая 127

У меня есть неловкая проблема, что при выполнении определенной команды powershell (вызов модуля powershell, расположенного в ~/WindowsPowerShell/Modules/) в R через system2(command = 'powershell', args = someStringVariable) он вернет только "127".

Другие - более простые - вызовы модуля способны давать результаты. Но как только один из трех параметров (т. Е. Запрос [MDX] становится немного более сложным) или достигает определенной длины / размера, он просто возвращает "127".

Реальная ошибка, однако, заключается в том, что как простой запрос, так и сложный может быть перемещен назад и четвертым в обычное окно Powershell ISE посредством копирования / вставки соответственно readClipboard() соответственно writeClipboard() (использовал последнюю функцию R, чтобы избежать STRG+C и / или STRG+V для перемещения более простых параметров вызова модуля, которые работают правильно в R, идентично из R в powershell), и они будут давать правильные результаты (т.е. записывать файл результатов),

Так что мои вопросы будут такими:

  1. Кто-нибудь испытывал подобное поведение с system2 и powershell?
  2. Есть ли какие-нибудь ограничения на длину аргументов в system2, о которых я не знаю?
  3. Может ли это быть проблемой версии (между powershell и R)

ОС: WINDOWS 10 Enterprise 1803

Другая системная информация: Версия Powershell: $ PSVersionTable.PSVersion = 5.1.17134 (Rev 765)

R.version:

platform       i386-w64-mingw32            
arch           i386                        
os             mingw32                     
system         i386, mingw32               
status                                     
major          3                           
minor          4.2                         
year           2017                        
month          09                          
day            28                          
svn rev        73368                       
language       R                           
version.string R version 3.4.2 (2017-09-28)
nickname       Short Summer

Надеюсь, у кого-нибудь есть полезный опыт, которым можно поделиться…

Случай становится еще более странным, когда те же функциональные возможности выполняются на другой машине, где единственным заметным отличием являются некоторые версии пакетов, и все работает как шарм.

Вот список различных версий librarz. Но я бы никогда не ожидал, что различия версий в библиотеках могут или должны иметь какое-либо влияние на system2 так как это часть базового пакета. Version.x это версия pkg на моей машине, Version.y это версия на машине, где system2 работает плавно, идентичные здесь не показаны.

        Package Version.x   Version.y identical
6    assertthat     0.2.1       0.2.0     FALSE
7     backports     1.1.4       1.1.1     FALSE
13           BH  1.69.0-1    1.65.0-1     FALSE
16         boot    1.3-22      1.3-20     FALSE
20      caTools  1.17.1.1      1.17.1     FALSE
27    codetools    0.2-16      0.2-15     FALSE
28   colorspace     1.4-1       1.3-2     FALSE
36   data.table    1.12.2    1.10.4-3     FALSE
38          DBI     1.0.0         0.7     FALSE
42       digest    0.6.18      0.6.12     FALSE
47        dplyr     0.8.3       0.7.4     FALSE
51     evaluate      0.14      0.10.1     FALSE
63     forecast       8.7         8.2     FALSE
64      foreign    0.8-71      0.8-69     FALSE
65      formatR       1.6         1.5     FALSE
66      Formula     1.2-3       1.2-2     FALSE
70      ggplot2     3.2.0       2.2.1     FALSE
81       gtable     0.3.0       0.2.0     FALSE
83        highr       0.8         0.6     FALSE
90         httr     1.4.0       1.3.1     FALSE
91         httr     1.4.0       1.3.1     FALSE
93     jsonlite       1.6         1.5     FALSE
95        knitr      1.23        1.17     FALSE
98      lattice   0.20-38     0.20-35     FALSE
100    lazyeval     0.2.2       0.2.1     FALSE
102        lme4    1.1-21      1.1-14     FALSE
103      lmtest    0.9-37      0.9-35     FALSE
106    markdown       1.0         0.8     FALSE
107        MASS  7.3-51.4      7.3-47     FALSE
114        mgcv    1.8-28      1.8-20     FALSE
115        mime       0.7         0.5     FALSE
122     munsell     0.5.0       0.4.3     FALSE
124        nlme   3.1-140     3.1-131     FALSE
128     openssl       1.3       0.9.9     FALSE
135       plogr     0.2.0       0.1-1     FALSE
142    quadprog     1.5-7       1.5-5     FALSE
143    quantreg      5.41        5.34     FALSE
147          R6     2.4.0       2.2.2     FALSE
151        Rcpp     1.0.1     0.12.14     FALSE
160    reshape2     1.4.3       1.4.2     FALSE
162       rlang     0.4.0 0.3.99.9003     FALSE
169  rstudioapi      0.10         0.7     FALSE
171    sandwich     2.5-1       2.4-0     FALSE
172      scales     1.0.0       0.5.0     FALSE
175       shiny     1.3.2       1.0.5     FALSE
177 sourcetools     0.1.7       0.1.6     FALSE
188     stringi     1.4.3       1.1.6     FALSE
189     stringr     1.4.0       1.2.0     FALSE
199      tibble     2.1.3       1.3.4     FALSE
200    timeDate  3043.102    3042.101     FALSE
206     tseries   0.10-47     0.10-42     FALSE
207         TTR    0.23-4      0.23-2     FALSE
213 viridisLite     0.3.0       0.2.0     FALSE
215       withr     2.1.2       2.1.0     FALSE
216         XML 3.98-1.19    3.98-1.9     FALSE
218      xtable     1.8-4       1.8-2     FALSE
219         xts    0.11-2      0.10-0     FALSE
220        yaml     2.2.0      2.1.14     FALSE
221         zoo     1.8-6       1.8-0     FALSE

Я пришел к выводу, что это ошибка RStudio - еще одна странная особенность, например, эта команда, которая будет запускаться в терминале RStudios, когда R запускается в терминале, но не в консоли RStudios.

system2("powershell", args = "Con-XLCube 'Data source=https://someCubeServer/connection/string.dll;Provider=MSOLAP;Initial Catalog=Database;' 'Select Non Empty {[Measures].[Amount]} On Columns, Non Empty  (  AddCalculatedMembers ( {[Account].[Account Type].[Account Type].Members} )  *  (  ( { [Account].[SAP Account Number].&[1730001202],[Account].[SAP Account Number].&[4917324009],[Account].[SAP Account Number].&[4917325006],[Account].[SAP Account Number].&[4917399001],[Account].[SAP Account Number].&[5977300003],[Account].[SAP Account Number].&[4977300006]} *  (  AddCalculatedMembers ( {[Account].[SAP Description Long].[SAP Description Long].Members} )  *  (  AddCalculatedMembers ( {[Folder].[Folders Short Name].[Folders Short Name].Members} )  *  (  AddCalculatedMembers ( {[Counterparty].[Full Name].[Full Name].Members} )  *  (  AddCalculatedMembers ( {[Account].[Legal Entity Partner Code].[Legal Entity Partner Code].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Bundle Id].[Bundle Id].Members} )  *  (  AddCalculatedMembers ( {[Trade].[EMIR One Confirmation].[EMIR One Confirmation].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Internal Reference].[Internal Reference].Members} )  *  (  AddCalculatedMembers ( {[Trade].[Trade Id].[Trade Id].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Type].[Product Type].Members} )  *  (  AddCalculatedMembers ( {[Product].[EG Product Type].[EG Product Type].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Currency].[Product Currency].Members} )  *  (  AddCalculatedMembers ( {[Product].[Product Currency2].[Product Currency2].Members} )  *  ( Except (  AddCalculatedMembers ( {[Accounting Event].[Accounting Event Type].[Accounting Event Type].Members} )  , {[Accounting Event].[Accounting Event Type].&[CLOSING]} )  *  AddCalculatedMembers ( {[Currency].[Currency].[Currency].Members} )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  )  On Rows From [Postings] Where ([Processing Org].[Mandant].&[104],[Account].[Standard].&[IFRS],[Booking Date].[Booking Day].&[20190628],[Currency Translation Date].[Day].&[20190628],[Cumulation Type].[Cumulation Type].&[1],[Posting Status].[Posting Status].&[SENT]) Cell Properties VALUE' 'C:\\Users\\USERID\\AppData\\Local\\Temp\\RtmpY9VjYM\\Test.csv'") 

Я также заметил, что когда команда запускается в окне терминала RStudio, появляется сообщение PowerShell "Поиск доступных модулей" (как-то внутри / через него). Может ли это быть каким-то процессом, вмешивающимся в консоль RStudio, но не в RGui и Terminal R? Если это так, почему это не мешает на другой машине ("у")? Есть ли какие-то настройки Powershell, которые я пропустил или забыл установить или установить неправильно на машине "x"?

0 ответов

Другие вопросы по тегам