論理関数

中級 DAX in Power BI

Carl Rosseel

Curriculum Manager

論理関数の概要

論理関数は式に対して動作し、その値や集合に関する情報を返します。

主な論理関数:

  • IF()
  • AND(), OR(), NOT()
  • SWITCH()
中級 DAX in Power BI

最もよく使う論理関数の1つ IF()

構文:

  • IF(<logical_test>, <value_if_true>, <value_if_false>)

例:

  • Performance = IF([Total Sales] >= 50 000, "Target Reached", "Target Not Reached")
中級 DAX in Power BI

最もよく使う論理関数の1つ IF()

構文:

  • IF(<logical_test>, <value_if_true>[, <value_if_false>])

例:

  • Performance = IF([Total Sales] >= 50 000, "Target Reached", "Target Not Reached")
Name Total Sales
Jenny 48,431
Jane 76,528
Dwayne 24,167
Thomas 52,125
中級 DAX in Power BI

最もよく使う論理関数の1つ IF()

構文:

  • IF(<logical_test>, <value_if_true>[, <value_if_false>])

例:

  • Performance = IF([Total_Sales] >= 50 000, "Target Reached", "Target Not Reached")
Name Total Sales Performance
Jenny 48,431 目標未達
Jane 76,528 目標達成
Dwayne 24,167 目標未達
Thomas 52,125 目標達成
中級 DAX in Power BI

AND(), OR() & NOT() 演算子

3つの演算子はいずれも出力は TRUE または FALSE です。

  • AND(<logical1>,<logical2>)
    • 両方の条件が TRUE のとき TRUE を返す
    • 例: AND(5 < 4, 5 < 6) = AND(FALSE, TRUE) = FALSE
  • OR(<logical1>,<logical2>)
    • 少なくとも1つが TRUE のとき TRUE を返す
    • 例: OR(5 < 4, 5 < 6) = OR(FALSE, TRUE) = TRUE
  • NOT(<logical>)
    • TRUEFALSE を反転
    • 例: NOT(OR(5 < 4, 5 < 6)) = NOT(TRUE) = FALSE
中級 DAX in Power BI

AND(), OR(), NOT() 演算子

AND&& に置き換え可能

  • AND(5 < 4, 5 < 6) = 5 < 4 && 5 < 6

OR|| に置き換え可能

  • OR(5 < 4, 5 < 6) = 5 < 4 || 5 < 6
中級 DAX in Power BI

SWITCH() の威力

式を値の一覧に照合し、複数の結果式のいずれかを返します。

  • SWITCH(<expression>, <value>, <result>[, <value>, <result>] ... [, <else>])
  • 入れ子の IF() より好まれることが多い
    Performance = SWITCH(TRUE, 
    [Total_Sales] < 25 000, "Poor",
    [Total_Sales] < 50 000, "Below expectations",
    [Total_Sales] < 75 000, "Above expectations",
    "Exceptional")
    
中級 DAX in Power BI

SWITCH() の威力

Performance = SWITCH(TRUE, 
[Total_Sales] < 25 000, "Poor",
[Total_Sales] < 50 000, "Below expectations",
[Total_Sales] < 75 000, "Above expectations",
 "Exceptional")
Name Total Sales
Jenny 48,431
Jane 76,528
Dwayne 24,167
Thomas 52,125
中級 DAX in Power BI

SWITCH() の威力

Performance = SWITCH(TRUE, 
[Total_Sales] < 25 000, "Poor",
[Total_Sales] < 50 000, "Below expectations",
[Total_Sales] < 75 000, "Above expectations",
 "Exceptional")
Name Total Sales Performance
Jenny 48,431 期待未満
Jane 76,528 優秀
Dwayne 24,167 不良
Thomas 52,125 期待以上
中級 DAX in Power BI

SWITCH() の威力

DISCOUNT = SWITCH([Clothing Type], 
               "Shoes", 0.15,   
               "Pants", 0.20,
               "Belts", 0.30, 
               "T-shirt", 0.25)
Clothing Type
Shoes
Pants
Belt
T-shirt
中級 DAX in Power BI

SWITCH() の威力

DISCOUNT = SWITCH([Clothing Type], 
               "Shoes", 0.15,   
               "Pants", 0.20,
               "Belts", 0.30, 
               "T-shirt", 0.25)
Clothing Type Discount
Shoes 15%
Pants 20%
Belt 30%
T-shirt 25%
中級 DAX in Power BI

切り替えてみよう!

中級 DAX in Power BI

Preparing Video For Download...