首页 > 其他分享 >常用表函数

常用表函数

时间:2024-03-11 23:44:26浏览次数:25  
标签:filter 常用 函数 Product FILTER where Unit

表函数的意义

在dax基本知识里面,我们列举了9种函数,表函数就是其中一类

在写度量值的时候,只能有两种变量,一个是值,一个是表。

PBI中展示的只能是一个值,但是在生成值的过程中经常伴随使用表
比如:

    SUM ( Sales[Quantity] )

可以把 Sales[Quantity] 看作一个单列表,在把一个一行的单列表也可以看作值
在计算值的时候会使用大量的表,所以理解表的意义尤为重要

表有三种,一个是导入的表,一个是通过dax生成的表,一个是临时存储的表
利用这三个表进行各种筛选聚合后才能得到我们所需要的值

FILTER

filter相当于SQL里面的where,只有两个参数,但是第二个参数可以写无限长

    FILTER ( <table>, <condition> )

例如:

    FILTER (
        'Product',
        'Product'[Brand] = "Fabrikam" && RELATED ( 'Product'[Color] ) = "Red"
    )



也可以两列相比较:

    FILTER (
        'Product',
        'Product'[Unit Price] > 'Product'[Unit Cost] 
    )

注意:
    filter是迭代逐行计算,而不是聚合计算,到后面我们会明白行上下文和筛选上下文,这里面就是行上下文


filter的第一个参数是表,fiter的结果也是表,所以就可以嵌套使用
例如:

    FILTER (
        FILTER (
            'Product',
            'Product'[Unit Price] > 'Product'[Unit Cost] * 3
        ),
    'Product'[Brand] = "Fabrikam"
    )

我们还可以对表的某一列判断后筛选
例如:

    fliter(
        'Product',
         IF ( 'Product'[Color] = "Red", 1, 0 ) = 1
    )

总结:
    fliter就是sql里面的where,where可以的他也可以

这里仅说了这一个表函数的使用,因为表函数过于常用且复杂,后续我会单独对每一个常用表函数讲解,例如values distinct all allexpect

标签:filter,常用,函数,Product,FILTER,where,Unit
From: https://www.cnblogs.com/cheng9999/p/18067314

相关文章

  • JAVA常用类--System类
    System类System是一个在Java开发过程中最常见的一种系统类主要特点:可以直接执行一些系统命令例如:“System.out.println()"就是System类的一种功能本次观察以下几个方法的使用:方法名类型描述publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectd......
  • JAVA常用类--AutoCloseable接口
    AutoCloseable接口自动关闭,释放资源机制在实际的项目开发过程中,一般都有可能连接到一些资源,比如:文件资源、网络资源、数据库资源,在实际项目之中进行资源访问的社会一般有如下几个操作步骤:不使用AutoCLoseable:手动定义关闭函数按照正常的结构设计来讲,当前的程序已经可以满足......
  • JAVA常用类--Cleaner类
    Cleaner类注意:在JDK1.9以上版本可使用在Java程序中提供有GC的垃圾回收机制,如果发现堆内存不足时一定要进行垃圾回收以释放内存空间但如果某些对象在回收前需要做一些处理,可以通过覆写Object类中的finalize()方法来实现这种回收前的处理finalize()方法的定义:@Deprecated(sin......
  • JAVA常用类--Runtime类
    Runtime类Runtime类描述的是一种运行时,在Java程序执行过程中,所有的java程序都一定要运行在JVM(虚拟机)的进程中有了JVM进程,就需要一种类型可以描述当前进程的相关环境以及与之相关的处理操作,即Java设计出了Runtime类每个JVM的进程中都会自动包含有一个Runtime类的实例化对象,打......
  • 7-2 转换函数使用
    输入一个整数和进制,转换成十进制输出输入格式:在一行输入整数和进制输出格式:在一行十进制输出结果输入样例:在这里给出一组输入。例如:45,8输出样例:在这里给出相应的输出。例如:37代码长度限制16KB时间限制400ms内存限制64MB#从输入......
  • Qt 常用数据类型转换
    1、int转QStringquint8转QString1quint8k=77;2QStringstr_1;3str_1=QString::number(k,10);4qDebug()<<str_1;//"77"5QStringstr_2=QString("%1").arg(k);6qDebug()<<str_2;//"77"2、quin......
  • Linux查看文件内容常用命令
    前言在Linux系统中,查看文件内容是进行系统管理和日常操作的基本技能之一。通过一些简单而有效的命令,您可以快速浏览文件的内容,检查配置文件、日志文件等。本文将介绍几个常用的Linux命令,帮助您轻松地查看文件内容。查看文件类型1、file命令:filefile_name查看文本内容查看......
  • Linux常用统计命令大全
    简介Linux系统作为一种常用的操作系统,具有丰富的命令行工具,其中包括了许多用于统计数据的命令。这些命令可以帮助系统管理员和开发人员轻松地分析和处理数据。本文将介绍一些常用的Linux统计命令,帮助读者更好地理解和使用它们。grepgrep命令用于在文本文件中搜索指定模式的文......
  • Inline内联函数简单理解
    InLine_FunctionHowtoWriteit?example->inlinevoidfunc();inlineintsum(intv1,intv2);inlinevoidfunc(){std::cout<<"func()"<<std::endl;}inlineintsum(intv1,intv2){returnv1+v2;}特点编译器会将函数调用直接展开......
  • redis常用命令
    1、启动Redis>redis-server[--port6379]如果命令参数过多,建议通过配置文件来启动Redis。>redis-server[xx/xx/redis.conf]6379是Redis默认端口号。2、连接Redis>./redis-cli[-h127.0.0.1-p6379]3、停止Redis>redis-clishutdown >killredis-pid以上......