桌布特征桌布是我分享如何制作的系列 我的Tableau数据可视化。如果您想要未来帖子的更新,请务必 订阅 。当我有新的分享时,我只会发送电子邮件,我不会与任何人分享您的电子邮件。

在这一分期付款中,我分享:

–关于Tableau移动第一设计的思考,与设备设计师一起使用
–如何使用Quandl作为美国股票的数据来源
–如何在Google纸张中使用导入函数
–如何自动刷新Google纸张文档
–如何在Google表中使用Tableau来联合不同选项卡
–如何使用Google纸张连接自动刷新Tableau公共工作簿

有关此分期付款中的可视化的更多信息,请参阅 我的美国股票投资组合 在阅读之前进一步。


如何使用Quandl作为美国股票的数据来源

涉及美国股票的数据来源有许多良好的选择。我最近被介绍到Quandl,我发现对这个项目特别有用,因为(1)帐户是免费的,并且(2)如何导出数据有几个选项。当我想将数据导入Google纸张时,这友好(稍后更多)。

使用Quandl作为数据源,首先导航到 quandl.com. 并注册免费帐户。

从您的帐户中,假设您要使用美国库存数据,导航至:

顶部导航中的数据库> Stock Data > United States >股票价格结束,当前和历史>维基EOD股票价格

在Wiki Eod股票价格后,数据库开放,您可以搜索任何美国股票的象征。要导出每个股票的数据,请查找您感兴趣的库存页面,然后在正确的导航中使用您选择的导出选项。为了 我的美国股票投资组合,我使用了CSV导出。
msft-export-data-quandl

 

如何在Google纸张中使用导入函数

在我录制我想追踪的12个股票的CSV链接后,是时候在Google纸张中创建我的数据源了。我选择使用Google Sheets,因为Tableau公共10有能力每天自动刷新Google纸张。

谷歌床单有 几个进口功能 这允许您从Web抓取数据并将其显示在电子表格中。由于我正在使用Quandl的CSV文件,因此我使用了ImportData函数来创建我的数据源。

我可以通过选项卡移出选项卡,并将ImportData代码放在Cell A1中,但相反,我写了一个简单的脚本来为我做这件事。请注意,我不是贸易的JavaScript开发商。我说有两个原因:(1)我知道你也可以这样做,即使你没有编码背景(2),请不要判断我的代码的效率。

在我创建脚本之前,我在Google表中创建了12个空白选项卡。这些选项卡最终将填充我12个不同股票的数据。虽然我正在创建这个数据源,但我了解到Google Sheets拥有200万个细胞限制。删除某些不需要的列后,我能够为所有12种库存导入数据,但如果您尝试带来更多数据,则要注意此限制。

要在Google纸张中添加脚本,从Google单中导航到工具> Script Editor…

我用于其中一个标签的脚本是:

函数myfunction(){
var ss = spreadsheetapp.getActiveSpreadsheet();
var shert = ss.setactivesheet(ss.getsheets()[0])
var range = sheet.getRange(‘A1’);  range.setValue(‘=importdata(“//www.quandl.com/api/v3/datasets/WIKI/[ENTER YOUR OWN STOCK SYMBOL].csv?api_key=[ENTER YOUR OWN API KEY”)’)
}

此脚本将打开工作簿中的第一个选项卡,导航到单元格A1,然后导入Data函数填充选项卡。注意脚本中有一个地方,用于添加自己的股票标志和Quandl API键。

如果您有多个库存,则只需复制并粘贴{}括号之间的所有内容并更新URL中[]括号和股票符号之间的数字。替换[]括号之间的数字非常重要,因为这是数据将填充的选项卡。标签号为0.如此对于三个库存,我的脚本看起来像这样:

函数myfunction(){
var ss = spreadsheetapp.getActiveSpreadsheet();
var shert = ss.setactivesheet(ss.getsheets()[0])
var range = sheet.getRange(‘A1’);  range.setValue(‘=importdata(“//www.quandl.com/api/v3/datasets/WIKI/[ENTER YOUR OWN STOCK SYMBOL].csv?api_key=[ENTER YOUR OWN API KEY”)’)

var ss = spreadsheetapp.getActiveSpreadsheet();
var表= ss.setactivesheet(ss.getsheets()[1])
var range = sheet.getRange(‘A1’);  range.setValue(‘=importdata(“//www.quandl.com/api/v3/datasets/WIKI/[ENTER YOUR OWN STOCK SYMBOL].csv?api_key=[ENTER YOUR OWN API KEY”)’)

var ss = spreadsheetapp.getActiveSpreadsheet();
var sheet = ss.setactivesheet(ss.getsheets()[2])
var range = sheet.getRange(‘A1’);  range.setValue(‘=importdata(“//www.quandl.com/api/v3/datasets/WIKI/[ENTER YOUR OWN STOCK SYMBOL].csv?api_key=[ENTER YOUR OWN API KEY”)’)
}

此脚本打开第一个选项卡,并将数据放置在单元格A1中的第一库存。然后它打开了第二个选项卡,并将数据放置在第二个选项卡的单元格A1中的第二库存。然后它打开第三个选项卡,并将第三个库存中的第三库存中的数据放置在第三选项卡的第三库存中。


如何自动刷新Google纸张文档

现在我们有一个脚本,有一步是自动运行脚本。保存脚本后,导航到脚本编辑器顶部导航中的资源,然后单击“当前项目’触发器“。您将看到一条消息,说明“没有触发设置。点击这里,马上添加一个。”单击该消息后,您将获得直观的界面以选择刷新数据的频率。如果您想立即刷新Google纸张文档而无需等待触发器,您可以始终导航到脚本编辑器的顶部导航中运行。


如何在Tableau Public中联合Google Sheets数据源

既然我有一个Google表格,我的12个不​​同的股票数据标签,现在是时候连接到Tableau中的数据了。 Tableau Desktop和Tableau Power都有能力连接到Google纸张数据源并执行工会。此工作簿完全在Tableau公共10号中完成。

要连接到数据,打开Tableau公共10,请单击左侧导航中的“到服务器”选项下的“更多...”,然后选择“Google”表格“。

Tableau-Public-10-Google-Sheets-Connector

进入Google凭据后,您将有能力选择要与之合作的Google表。选择适当的Google Sheet后,数据源编辑器将打开。要联合Google Shoto的不同选项卡,请从左侧导航到主窗口中拖动“新union”。然后左键单击并拖动要将其用入的每张纸张:

Tableau-Public-Union-Data-Editor

当您在Tableau中创建一个Union时,将添加一个额外的列,以告诉您数据来自的帖子。在我的情况下,每个选项卡上的数据代表了不同的库存,因此我右键单击Tableau添加称为“表”的列,并将其重命名为“库存”。


关于Tableau移动第一设计的思考,与设备设计师一起使用

一旦我有数据 我的美国股票投资组合,它的实际制作很简单;每个库存小部件有三个组件:标题栏,交叉表和闪光灯。关于设计的一个棘手的事情是每个窗口小部件都是用垂直布局容器内部的水平布局容器构建的。我开始漂浮在每股股票的仪表板上的垂直布局容器。然后我将每个股票的标题栏放入垂直布局容器中。在标题栏下方的水平空间中,我添加了一个水平布局容器,包含交叉表和闪光线。

我认为这一可视化工作井是它的干净布局。为了使这个仪表板的每个组成部分是完美的尺寸,我开始看看手机上最好的尺寸。为此,我导航到新的设备设计师,看看手机需要什么尺寸。要从Tableau中的仪表板表中创建特定于设备的设计,请单击左侧导航左上角的“设备预览”;然后将“设备类型”更改为“手机”。默认情况下,手机布局将是“通用手机”,其宽度为375像素,高度为667像素。

我的股票小部件的高度并不重要,因为我真的可以选择任何适合每个小部件的所有三个组成部分的高度。宽度非常重要,因为我希望小部件适合手机而不需要水平滚动,并且该设备预览是我确定每个窗口小部件的最佳宽度的方式。如果通用手机的宽度为375,我希望每侧25个像素的填充,我知道宽度应该是325(375-25-25 = 325)。

由于我的宽度确定并选择了高度,因此我可以备份数学以创建桌面版本的尺寸。例如,如果我希望桌面版本显示三个小部件,我将采取325 + 325 + 325 + 100像素的填充= 1075。

桌面版本在手机版本显示单个堆叠的列时,桌面版本在股票小部件中显示了三列:

TabluePrint-My-Us-Stock-Portfolio-Mobile

要了解有关使用Tableau's Device Designer的更多信息,请参阅帖子: 在Tableau 10中设计特定于设备的仪表板.


如何使用Google纸张连接自动刷新Tableau公共工作簿

最后,要使用Google Shoto连接自动刷新Tableau公共工作簿,请务必在将工作簿保存到Tableau Public时嵌入您的凭据:

Tableau-Google-Sheets-refresh-and嵌入工作簿保存到Tableau Public之后,您还应该检查您已检查框以每天刷新工作簿。您可以通过单击“编辑详细信息”来查看此,将您带到工作簿的选项:

Tableau-Public-Google-Sheets-Refresh只要您检查了“每天使用Google纸张更新的数据”框,Tableau将每天自动刷新工作簿。如果在您的Google Sheets Trigger更新您的Google表格后发生此每日Tableau Public Refresh,您的工作簿将具有最新的日常数据。在我到目前为止,在我的Tableau公共场所的这种新功能的经验中,刷新发生在凌晨2点。

谢谢阅读,
– Ryan