1

次のようなテーブルがあります。

[Name] [Position]
a          0
b          1
c          2
d          3
e          4
f          5

[Name] を行、[Position] を列、位置数を値としてグラフを作成します。
このような:

     0   1  2  3  4  5
a    1
b        1
c           1
d              1
e                 1
f                    1

[Position] = 2 の列をすべて青にし、それ以外をすべて白にしたいと思います。行がその位置に値を持たず、たとえば、Position(e) = 4 であり、2 に値がないため、これを行う方法がわかりません。

これを行う方法はありますか?

4

2 に答える 2

3

これと同じ問題を抱えている人は、実際に次のように特定のボックスの値を取得できます。 ReportItems("Textbox600").Value

600 をセル名に置き換えるだけです。セルを選択すると、プロパティ ボックスのツールバーのすぐ上に名前が表示されます。

この場合、Textbox600 は [Position] であるため、このセルの背景色の式は次のようになります。

Iif(ReportItems("Textbox600").Value = 2, "Blue", "White")    
于 2012-09-19T17:47:13.287 に答える
1

C2は、列「2」にデータが存在する唯一のセルであるため、塗りつぶされた唯一のセルです。おそらく、名前と役職をクロス結合して、すべてのセルの値を生成できます。

SELECT 
    a.name,
    b.position,
    CASE WHEN c.name IS NOT NULL THEN 1 ELSE 0 END AS position_count
FROM 
(
(SELECT [name] FROM #temp) a
CROSS JOIN 
(SELECT [position] FROM #temp)b
) 
LEFT JOIN #temp c ON a.name = c.name and b.position = c.position

戻り値

name position position_count
---- -------- --------------
a    0        1
a    1        0
a    2        0
a    3        0
a    4        0
a    5        0
b    0        0
b    1        1
b    2        0
b    3        0
b    4        0

これにより、式を使用して列グループの背景色を設定できるようになります。セルに式を追加して、「ゼロ」値を抑制することができます。

于 2012-08-13T05:32:31.853 に答える