Tableau学习Step5一表计算、详细级别表达式、动作、外接python

本文首发于博客冰山一树Sankey,去博客浏览效果更好。
)
Tableau学习Step4一数据解释、异常值监测、参数使用、分析结果如何对外发布

一. 表计算

1.1 什么是表计算

  • 是特殊类型的计算字段
  • 根据当前的可视化内容(基于当前内容构建的虚拟表)进行计算,如排名、汇总、差分、定基比/环比…
  • 表计算并不考虑当前可视化内容中被筛选掉的任何度量或维度
  • 表计算的结果并不影响数据源中的数据表

1.2 分区与寻址

  • 分区字段

    • 用于定义计算组方式(确定执行表计算所针对的数据范围)的维度
    • 分区字段将视图拆分成多个子视图(或子表),系统在每个分区内单独执行表计算
  • 寻址字段

  • 执行表计算所需要使用的其余维度

  • 用于确定计算时的移动方向

    • 横穿(从左到右)
    • 向下(从上到下)
    • 横穿,然后向下
    • 向下,然后横穿

1.2.1 横穿 VS 向下

1.2.2 横穿,然后向下 VS 向下,然后横穿

1.2.3 加入分区维度

1.2.4 单元格内计算与特殊级别

1.3 表计算常见类型

1.4 如何创建表计算

1.4.1 快速表计算

1.4.2 自定义表计算

1.4.3 计算新变量方式添加表计算

(1)

(2)

二. 详细级别表达式

2.1 表达式级别

2.2 什么是详细级别表达式

2.3 FIXED

2.4 INCLUDE

2.5 EXCLUDE

2.6 全表范围

LOD表达式的类型:全表范围

2.7 注意事项

三. 动作

3.1 集动作

  • 集动作使得用户在与可视化项或仪表板交互时可以直接更改集值

    • 为集分配值、将值添加到集、从集中移除值
  • 集动作的一般步骤
    • 创建一个或多个集
    • 创建一个集动作,该动作使用某一个集
    • 可选:创建使用集的计算字段
    • 构建一个可视化项,该可视化项使用集动作所引用的集
    • 测试并修改集动作

3.1.1 选择性数据下钻展示

步骤:

3.1.2 动态切换标色

3.2 参数动作

四. 外接Python

4.1 直接外接Python

按 tableau调用的数据格式编写 python代码

import numpy as np
#传入时使用单个值或者lst
a=[1,23,4]
b=[5.6,7,8]
#传出时为lst
np. add(np array(a), np array (b)). tolisto

如何在tableau中调用tably

SCRIPT BOOL/INT/REAL/STRO
需要调用的 python代码",依次给出使用的参数列表
)# python代码中,参数依次用_arg1,arg2.进行标识 SCRIPT REAL(
import numpy as np
return np. add(np array( arg 1), np array( arg2 ). tolisto)
avg(现状指数]),avg(预期指数]
)

注意在 tableau中调用 tabby针对的是表计算级别!

  • 因此计算中完全适用寻址和分区概念
  • 传送入 python的数据是以每个单元格为单位先进行汇总
  • Tableau会对每个分区调用一次分析扩展程序,因此传入数据时会按分区形成数据序列
  • 由于是按照分区进行调用,因此需要注意计算量

4.2 python预定义

环境加载

from tabpy tabpy tools client import Client
client=Client(http://localhost:9004/)

定义函数

import numpy as np
def ado(x,y):#由于要在 tableau中使用函数结果,函数必须要有 return值
return np. add(np array(x), nparray(y). tolisto

部署函数

client deploy (addo, add, 'Adds two numbers x and y)
在 python环境中测试函数
res client query (addo, a, b)

在 tableau中调用预定义函数

SCRIPT REAL(

return tabpy query (addo, arg1, arg2)Response]

avg(现状指数]),ag([预期指数]

再次强调:在 tableau中调用 tabby针对的是表计算级别

当沿着表横穿时,会将该行单元格汇总结果形成list进行传送,那么考虑一下它是如何实现计算的?

SCRIPT REAL(

import numpy as np

return np corrcoef( arg1, arg2)[0, 1

avg(现状指数]),avg(顶预期指数])

Tableau学习Step5一表计算、详细级别表达式、动作、外接python的更多相关文章

  1. tableau-详细级别表达式——2、阵列分析

    tableau做阵列分析 合作时间越长的客户对销售额的贡献越大吗? 下面的视图按照客户首次购买的年份将客户分组,以便对比各个阵列的年度销售贡献额. 每个客户的最早订单日期将体现出首次购买日期.不过,由 ...

  2. Tableau学习Step2一数据文件的读取与统计图、表的概述

    Tableau学习Step2一数据文件的读取与统计图.表的概述 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一. 前言 本教程通过一个案例从浅到深来学习Tableau知识 案例概述: 二 ...

  3. 学习动态性能表(3)--v$sql&v$sql_plan

    学习动态性能表 第三篇-(1)-v$sq 2007.5.25 V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cur ...

  4. tableau学习

    一.维度 度量 1. 连接到新数据源时,Tableau 会将该数据源中的每个字段分配给“数据”窗格的“维度”区域或“度量”区域,具体情况视字段包含的数据类型而定. 例如: 2. tableau中的字段 ...

  5. 学习动态性能表(2)--v$sesstat

    学习动态性能表 第二篇--v$sesstat  2007.5.25 按照OracleOnlineBook中的描述,v$sesstat存储session从login到logout的详细资源使用统计. 类 ...

  6. Tableau学习Step6一如何制作炫彩地图

    Tableau学习Step6一如何制作炫彩地图 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一.统计地图概述 1.1 统计地图的基本概念 统计地图的本质:数据的正确对应 将数据信息和地理 ...

  7. 学习动态性能表 v$sql

    学习动态性能表 第三篇-(1)-v$sql V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cursor(子游标)存 ...

  8. MySQL学习3 - 数据表的操作

    本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...

  9. tableau学习笔记—1

    第一部分 第一章 数据可视化 1.1 用数据讲故事 1.2 数据不只是数字 1.3 在数据中寻找什么(关系.模式.异常) 第二章 Tableau概述 2.1 Tableau概述 2.2 产品简介 第三 ...

随机推荐

  1. 基于Python的某大学某学院新生高考成绩分析

    # coding=gbk import pandas as pd import numpy as np import matplotlib.pyplot as plt from pylab impor ...

  2. 常见线程池 newScheduledThreadPool 定时执行任务的线程池 简单介绍

    一  定时任务 package com.aaa.threaddemo; import static java.util.concurrent.TimeUnit.NANOSECONDS; import ...

  3. 密码学之PRP/PRF转换引理

    本文将介绍密码学中的PRF.PRP等相关概念,并介绍 PRP/PRF 转换引理及其证明,希望读完本文后,你能对现代密码学中这几个基础概念有所了解. 在开始本文前,希望你有如下预备知识: 现代密码学是怎 ...

  4. java中构造函数和一般函数的区别

    构造方法 特点: 1.方法名称和类名相同 2.不用定义返回值类型 3.不可以写return语句 作用: 给对象初始化 构造方法的细节: 当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法. ...

  5. JAVA多线程学习七-线程池

    为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3> ...

  6. MyBatis加强(1)~缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)

    一.缓存机制 使用缓存可以使应用更快地获取数据,避免频繁的数据库交互操作,尤其是在查询越多,缓存命中率越高 的情况下,缓存的作用就越明显. 1.缓存原理:Map ■ 查询时,先从缓存区查询:找到,返回 ...

  7. go基础——输入输出

    package main import ( "bufio" "fmt" "os" ) func main() { /* 输入和输出 fmt包 ...

  8. 用Java中的File类模拟实现对系统文件的增删改查效果

    码字不易,三连支持一波吧 IO操作向来是各大语言的热区,而对文件的操作也是重中之重. 那么在Java中也给我们提供了很多关于文件操作的类.今天我就用一个比较基本的File类来模拟实现对文件的增删改查效 ...

  9. Node介绍

    https://segmentfault.com/a/1190000006121183 一. 概述 Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google ...

  10. 从零开始学mitmproxy抓包工具

    Man In The Middle mitm是Man In The Middle的首字母缩写,意思是位于中间的人,表明mitmproxy是一个代理,可以拦截请求,实现网络抓包.知名的网络抓包工具有Fi ...