1.导入表:
导入一张表:不需要看“模型”选项卡
导入多张表:需要先看“模型”选项卡,再看“数据”选项卡
2.两张表建立关系:
找到两张表里表示相同ID的字段,即销售表里的 商品名称 和 商品表里的 表名
把 品名 和 商品名称 做一个连线,习惯把 1 放在上边, * 放在下边。
由于商品表里的每个商品只对应一个进价,是一对一的关系,销售表里是某个产品在某个日期卖了多少,是一对多是关系,则商品表与销售表是一对多的关系。
3.传递方向:
商品表指向销售表,这时 商品表 可以筛选 销售表,销售表 可以向 商品表 索取内容
4.索取内容:
1)函数:LOOKUPVALUE
2)定义:从表中检索满足所有匹配条件的值。
3)语法:
*说明:
1.结果列:要返回的值所在的列名。列必须使用标准 DAX 语法命名,通常是完全限定的,不支持表达式。
2.查找列:可重复 在与结果列相同的表中或扩展表中,执行查找的现有列的名称,查找列使用完全限定名。不支持表达式
3.查找值:可重复 标量表达式(不引用正在搜索的同一表中的任何列)
4.备选结果:可选 当第一参数结果为空或多个不重复值时的替代结果,如果省略此参数,为空时返回 BLANK,匹配多值时返回错误
4)返回值:标量 一个任意类型的值
5)注意:
1.如果没有满足所有搜索值的匹配项,则返回空值或<备选结果>(如果提供) 。 换句话说,如果仅部分条件匹配,则该函数将不会返回查找值
2.如果有多行匹配搜索值,并且在所有情况下结果列的值都相同,那么 LOOKUPVALUE 返回该值 。 但是,如果结果列返回不同的值,则函数返回错误或备选结果(如果提供)
3.查找列可以使用结果列所在表的扩展表中的任何列
4.LOOKUPVALUE 忽略任何筛选上下文
5.当不可能使用 RELATED 利用数据模型中的现有关系获取数据时,才可以考虑使用 LOOKUPVALUE,因为 RELATED 更快。正因如此,LOOKUPVALUE 通常用于无关系数据的获取,此时 TREATAS 也是不错的选择,而且某些某些情况下性能可能好于 LOOKUPVALUE。
6)案例:
把 商品表 里的 进价列 添加到 销售表 里 :
首先,在销售表里 新建列,输入下面函数:
即可将 进价 添加到 销售表 里: