无效的'`'使用本地宏

时间:2017-01-21 10:06:39

标签: foreach append stata stata-macros

我正在按照this link的说明,了解如何通过foreach循环附加Stata文件。我认为这很简单。

但是,当我尝试在我的f循环中引用datafiles中的每个foreach时,我收到错误:

invalid `

我已设置工作目录,数据位于名为csvfiles的子文件夹中。我尝试使用我的本地宏f调用csvfiles子文件夹中的每个文件datafiles,然后将每个文件附加到名为data.dta的聚合Stata数据集。

我已经在下面的do文件中添加了代码:

clear
local datafiles: dir "csvfiles" files "*.csv"

foreach f of local datafiles {
    preserve
    insheet using “csvfiles\`f'”, clear
    ** add syntax here to run on each file**
    save temp, replace
    restore
    append using temp
}

rm temp
save data.dta, replace

1 个答案:

答案 0 :(得分:2)

反斜杠字符对Stata有意义:它将阻止对Stata具有特殊含义的任何后续字符的解释,特别是左单引号字​​符

var url = "/sap/opu/odata/sap/ZODATA_SERVICE_NAME";
        var oModel = new sap.ui.model.odata.ODataModel(url,false);

            oModel.read("/EntityDataSet", null, null, true, function(oData) {   

            that.getView().setModel(oModel,"student");      
                            },
                                function(error) {

        });


    <Table  headerDesign="Standard"

items="{student>/results}"
    id="table"  >
                <columns>
                    <Column  >
                        <header>
                            <Label   text="studentName" width="100%"/>
                        </header>
                    </Column>

                    <Column >
                        <header>
                            <Label   text="studentRank" width="100%"/>
                        </header>
                    </Column>
                </columns>
                <items>
                    <ColumnListItem  >
                        <cells>
                            text="{student>StudentName}"/>
                            text="{student>Rank}"/>

                        </cells>
                    </ColumnListItem>
                </items>
            </Table>

不会被解释为表示对宏的引用。

但一切都没有丢失:Stata将允许您在任何操作系统上使用路径名中的正斜杠字符,并且在Windows上将负责执行必须要做的事情来安抚Windows。用

替换insheet命令
define('DISABLE_WP_CRON', true)

应该解决你的问题。

请注意,您链接的说明就是这样做的;一些代码在路径名中包含反斜杠,但是如果包含宏,则使用正斜杠代替。